Re: [PATCH v2 2/8] dt-bindings: iio: dac: maxim,ds4424: add maxim,rfs-ohms property
From: Conor Dooley <conor@kernel.org>
Date: 2026-01-27 19:49:25
Also in:
linux-iio, lkml
On Tue, Jan 27, 2026 at 07:09:33AM +0100, Oleksij Rempel wrote:
quoted hunk ↗ jump to hunk
The Maxim DS4422/DS4424 and DS4402/DS4404 current DACs determine their full-scale output current via external resistors (Rfs) connected to the FSx pins. Without knowing these values, the full-scale range of the hardware is undefined. Add the 'maxim,rfs-ohms' property to describe these physical components. This property is required to provide a complete description of the hardware configuration. Signed-off-by: Oleksij Rempel <o.rempel@pengutronix.de> --- changes v2: - make maxim,rfs-ohms a required property as the hardware range is undefined without external resistors. - add allOf constraints to enforce 2 vs 4 items in maxim,rfs-ohms based on compatible string. - drop explicit $ref for maxim,rfs-ohms to fix dt_binding_check warning. - update example in binding to include the new required property. --- .../bindings/iio/dac/maxim,ds4424.yaml | 36 +++++++++++++++++++ 1 file changed, 36 insertions(+)diff --git a/Documentation/devicetree/bindings/iio/dac/maxim,ds4424.yaml b/Documentation/devicetree/bindings/iio/dac/maxim,ds4424.yaml index efe63e6cb55d..400afd8771aa 100644 --- a/Documentation/devicetree/bindings/iio/dac/maxim,ds4424.yaml +++ b/Documentation/devicetree/bindings/iio/dac/maxim,ds4424.yaml@@ -27,9 +27,44 @@ properties: vcc-supply: true + maxim,rfs-ohms: + description: | + Array of resistance values in Ohms for the external Rfs resistors + connected to the FS pins. + - For DS44x2 (2 channels): 2 values required. + - For DS44x4 (4 channels): 4 values required. + Typical values range from 40000 (40 kOhm) to 160000 (160 kOhm).
Add here maxItems: 4 minItems: 2 Are 40kOhm and 160kOhm actual max/min values, or just a suggested range?
+ required: - compatible - reg + - maxim,rfs-ohms + +allOf: + - if: + properties: + compatible: + contains: + enum: + - maxim,ds4402 + - maxim,ds4422 + then: + properties: + maxim,rfs-ohms:
+ minItems: 2
Remove this...
+ maxItems: 2 + - if: + properties: + compatible: + contains: + enum: + - maxim,ds4404 + - maxim,ds4424 + then: + properties: + maxim,rfs-ohms: + minItems: 4
+ maxItems: 4
...and this. The outer-most constraints should be in the definition and the if/else bit just adjusts whichever bounds it needs to. Cheers, Conor. pw-bot: changes-requested
quoted hunk ↗ jump to hunk
additionalProperties: false@@ -43,6 +78,7 @@ examples: compatible = "maxim,ds4424"; reg = <0x10>; /* When A0, A1 pins are ground */ vcc-supply = <&vcc_3v3>; + maxim,rfs-ohms = <5100>, <5100>, <5100>, <5100>; }; }; ...-- 2.47.3
Attachments
- signature.asc [application/pgp-signature] 228 bytes