All of lore.kernel.org
 help / color / mirror / Atom feed
From: Rob Herring <robh@kernel.org>
To: "André Apitzsch" <git@apitzsch.eu>
Cc: Mauro Carvalho Chehab <mchehab@kernel.org>,
	Krzysztof Kozlowski <krzk+dt@kernel.org>,
	Conor Dooley <conor+dt@kernel.org>,
	devicetree@vger.kernel.org,
	Sakari Ailus <sakari.ailus@linux.intel.com>,
	Daniel Scally <djrscally@gmail.com>,
	~postmarketos/upstreaming@lists.sr.ht,
	phone-devel@vger.kernel.org, linux-media@vger.kernel.org,
	linux-kernel@vger.kernel.org, Val Packett <val@packett.cool>
Subject: Re: [PATCH 1/7] dt-bindings: media: i2c: Add DW9718S, DW9719 and DW9761 VCM
Date: Wed, 20 Aug 2025 16:56:19 -0500	[thread overview]
Message-ID: <20250820215619.GA1381920-robh@kernel.org> (raw)
In-Reply-To: <20250817-dw9719-v1-1-426f46c69a5a@apitzsch.eu>

On Sun, Aug 17, 2025 at 07:09:20PM +0200, André Apitzsch wrote:
> Document Dongwoon DW9718S, DW9719 and DW9761 VCM devicetree bindings.
> 
> Signed-off-by: André Apitzsch <git@apitzsch.eu>
> 
> --
> 
> The possible values for sac-mode and vcm-prescale of DW9719 and DW9761
> are missing because there is no documentation available.
> ---
>  .../bindings/media/i2c/dongwoon,dw9719.yaml        | 115 +++++++++++++++++++++
>  1 file changed, 115 insertions(+)
> 
> diff --git a/Documentation/devicetree/bindings/media/i2c/dongwoon,dw9719.yaml b/Documentation/devicetree/bindings/media/i2c/dongwoon,dw9719.yaml
> new file mode 100644
> index 0000000000000000000000000000000000000000..80fd3fd42327fcafe3ff209d1cd6bbe17b8a211b
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/media/i2c/dongwoon,dw9719.yaml
> @@ -0,0 +1,115 @@
> +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
> +%YAML 1.2
> +---
> +$id: http://devicetree.org/schemas/media/i2c/dongwoon,dw9719.yaml#
> +$schema: http://devicetree.org/meta-schemas/core.yaml#
> +
> +title: Dongwoon Anatech DW9719 Voice Coil Motor (VCM) Controller
> +
> +maintainers:
> +  - devicetree@vger.kernel.org

No. Must be someone that has the h/w or cares about it. If there is no 
one, then we don't need the binding.

> +
> +description:
> +  The Dongwoon DW9718S/9719/9761 is a single 10-bit digital-to-analog converter
> +  with 100 mA output current sink capability, designed for linear control of
> +  voice coil motors (VCM) in camera lenses. This chip provides a Smart Actuator
> +  Control (SAC) mode intended for driving voice coil lenses in camera modules.
> +
> +properties:
> +  compatible:
> +    enum:
> +      - dongwoon,dw9718s
> +      - dongwoon,dw9719
> +      - dongwoon,dw9761
> +
> +  reg:
> +    maxItems: 1
> +
> +  vdd-supply:
> +    description: VDD power supply
> +
> +  dongwoon,sac-mode:
> +    description: |
> +      Slew Rate Control mode to use: direct, LSC (Linear Slope Control) or
> +      SAC1-SAC6 (Smart Actuator Control).
> +    $ref: /schemas/types.yaml#/definitions/uint32
> +    enum:
> +      - 0   # Direct mode
> +      - 1   # LSC mode
> +      - 2   # SAC1 mode (operation time# 0.32 x Tvib)
> +      - 3   # SAC2 mode (operation time# 0.48 x Tvib)
> +      - 4   # SAC3 mode (operation time# 0.72 x Tvib)
> +      - 5   # SAC4 mode (operation time# 1.20 x Tvib)
> +      - 6   # SAC5 mode (operation time# 1.64 x Tvib)
> +      - 7   # SAC6 mode (operation time# 1.88 x Tvib)
> +    default: 4
> +
> +  dongwoon,vcm-prescale:
> +    description:
> +      Indication of VCM switching frequency dividing rate select.
> +    $ref: /schemas/types.yaml#/definitions/uint32
> +
> +required:
> +  - compatible
> +  - reg
> +  - vdd-supply
> +
> +allOf:
> +  - if:
> +      properties:
> +        compatible:
> +          contains:
> +            const: dongwoon,dw9718s
> +    then:
> +      properties:
> +        dongwoon,sac-mode:
> +          default: 4
> +        dongwoon,vcm-prescale:
> +          description:
> +            The final frequency is 10 MHz divided by (value + 2).
> +          minimum: 0

That's already the minimum being unsigned.

> +          maximum: 15
> +          default: 0
> +
> +  - if:
> +      properties:
> +        compatible:
> +          contains:
> +            const: dongwoon,dw9719
> +    then:
> +      properties:
> +        dongwoon,sac-mode:
> +          default: 4
> +        dongwoon,vcm-prescale:
> +          default: 96
> +
> +  - if:
> +      properties:
> +        compatible:
> +          contains:
> +            const: dongwoon,dw9761
> +    then:
> +      properties:
> +        dongwoon,sac-mode:
> +          default: 6

At the top-level you already said the default is 4. The if/then is an 
AND operation. 'default' is just an annotation and has no effect on 
validation. I would just drop it from the if/then altogether. It's not 
worth the complexity.

> +        dongwoon,vcm-prescale:
> +          default: 62
> +
> +additionalProperties: false
> +
> +examples:
> +  - |
> +    i2c {
> +        #address-cells = <1>;
> +        #size-cells = <0>;
> +
> +        actuator@c {
> +            compatible = "dongwoon,dw9718s";
> +            reg = <0x0c>;
> +
> +            vdd-supply = <&pm8937_l17>;
> +
> +            dongwoon,sac-mode = <4>;
> +            dongwoon,vcm-prescale = <0>;
> +        };
> +    };
> 
> -- 
> 2.50.1
> 

  reply	other threads:[~2025-08-20 21:56 UTC|newest]

Thread overview: 27+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2025-08-17 17:09 [PATCH 0/7] media: i2c: dw9719: add DT compatible and DW9718S support André Apitzsch
2025-08-17 17:09 ` André Apitzsch via B4 Relay
2025-08-17 17:09 ` [PATCH 1/7] dt-bindings: media: i2c: Add DW9718S, DW9719 and DW9761 VCM André Apitzsch
2025-08-17 17:09   ` André Apitzsch via B4 Relay
2025-08-20 21:56   ` Rob Herring [this message]
2025-08-26 11:57     ` André Apitzsch
2025-08-17 17:09 ` [PATCH 2/7] media: i2c: dw9719: Deprecate dongwoon,vcm-freq André Apitzsch
2025-08-17 17:09   ` André Apitzsch via B4 Relay
2025-08-17 17:09 ` [PATCH 3/7] media: i2c: dw9719: Add driver_data matching André Apitzsch
2025-08-17 17:09   ` André Apitzsch via B4 Relay
2025-08-17 20:28   ` kernel test robot
2025-08-18  7:38   ` Sakari Ailus
2025-08-17 17:09 ` [PATCH 4/7] media: i2c: dw9719: Add DW9718S support André Apitzsch
2025-08-17 17:09   ` André Apitzsch via B4 Relay
2025-08-17 17:09 ` [PATCH 5/7] media: i2c: dw9719: Update PM last busy time upon close André Apitzsch
2025-08-17 17:09   ` André Apitzsch via B4 Relay
2025-08-18  7:37   ` Sakari Ailus
2025-08-17 17:09 ` [PATCH 6/7] media: i2c: dw9719: Add an of_match_table André Apitzsch
2025-08-17 17:09   ` André Apitzsch via B4 Relay
2025-08-17 17:09 ` [PATCH 7/7] media: i2c: dw9719: Fix power on/off sequence André Apitzsch
2025-08-17 17:09   ` André Apitzsch via B4 Relay
2025-08-18  7:44   ` Sakari Ailus
2025-09-15 20:48     ` André Apitzsch
2025-09-16 20:08       ` Val Packett
2025-09-17 10:10         ` Sakari Ailus
2025-09-18 21:31           ` André Apitzsch
2025-09-19  6:18             ` Sakari Ailus

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20250820215619.GA1381920-robh@kernel.org \
    --to=robh@kernel.org \
    --cc=conor+dt@kernel.org \
    --cc=devicetree@vger.kernel.org \
    --cc=djrscally@gmail.com \
    --cc=git@apitzsch.eu \
    --cc=krzk+dt@kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-media@vger.kernel.org \
    --cc=mchehab@kernel.org \
    --cc=phone-devel@vger.kernel.org \
    --cc=sakari.ailus@linux.intel.com \
    --cc=val@packett.cool \
    --cc=~postmarketos/upstreaming@lists.sr.ht \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.