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
>
next prev parent 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.