Re: [PATCH V2 5/5] dt-bindings: iio/adc: ingenic: add the JZ4760(B) socs to the sadc Documentation
From: Christophe Branchereau <hidden>
Date: 2021-07-24 07:34:03
Also in:
linux-iio, linux-mips, lkml
Hello Johnathan, am I allowed to declare the property within the if block like this? # SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause) # Copyright 2019-2020 Artur Rojek %YAML 1.2 --- $id: "http://devicetree.org/schemas/iio/adc/ingenic,adc.yaml#" $schema: "http://devicetree.org/meta-schemas/core.yaml#" title: Ingenic JZ47xx ADC controller IIO bindings maintainers: - Artur Rojek [off-list ref] description: > Industrial I/O subsystem bindings for ADC controller found in Ingenic JZ47xx SoCs. ADC clients must use the format described in https://github.com/devicetree-org/dt-schema/blob/master/schemas/iio/iio-consumer.yaml, giving a phandle and IIO specifier pair ("io-channels") to the ADC controller. properties: compatible: enum: - ingenic,jz4725b-adc - ingenic,jz4740-adc - ingenic,jz4760-adc - ingenic,jz4760b-adc - ingenic,jz4770-adc '#io-channel-cells': const: 1 description: Must be set to <1> to indicate channels are selected by index. reg: maxItems: 1 clocks: maxItems: 1 clock-names: items: - const: adc interrupts: maxItems: 1 allOf: - if: properties: compatible: contains: enum: - ingenic,jz4760b-adc then: properties: ingenic,use-internal-divider: description: If present, battery voltage is read from the VBAT_IR pin, which has an internal 1/4 divider. If absent, it is read through the VBAT_ER pin, which does not have such a divider. type: boolean required: - compatible - '#io-channel-cells' - reg - clocks - clock-names - interrupts additionalProperties: false examples: - | #include <dt-bindings/clock/jz4740-cgu.h> #include <dt-bindings/iio/adc/ingenic,adc.h> adc@10070000 { compatible = "ingenic,jz4740-adc"; #io-channel-cells = <1>; reg = <0x10070000 0x30>; clocks = <&cgu JZ4740_CLK_ADC>; clock-names = "adc"; interrupt-parent = <&intc>; interrupts = <18>; }; On Fri, Jul 23, 2021 at 6:17 PM Jonathan Cameron [off-list ref] wrote:
On Fri, 23 Jul 2021 10:58:13 +0200 Christophe Branchereau [off-list ref] wrote:quoted
The jz4760b variant differs slightly from the jz4760, add a property to let users sample the internal divider if needed and document it. Signed-off-by: Christophe Branchereau <redacted> --- .../devicetree/bindings/iio/adc/ingenic,adc.yaml | 9 +++++++++ 1 file changed, 9 insertions(+)diff --git a/Documentation/devicetree/bindings/iio/adc/ingenic,adc.yaml b/Documentation/devicetree/bindings/iio/adc/ingenic,adc.yaml index 433a3fb55a2e..0dc42959a64f 100644 --- a/Documentation/devicetree/bindings/iio/adc/ingenic,adc.yaml +++ b/Documentation/devicetree/bindings/iio/adc/ingenic,adc.yaml@@ -23,6 +23,8 @@ properties: enum: - ingenic,jz4725b-adc - ingenic,jz4740-adc + - ingenic,jz4760-adc + - ingenic,jz4760b-adc - ingenic,jz4770-adc '#io-channel-cells':@@ -43,6 +45,13 @@ properties: interrupts: maxItems: 1 + ingenic,use-internal-divider: + description: + This property can be used to set VBAT_SEL in the JZ4760B CFG register + to sample the battery voltage from the internal divider. If absent, it + will sample the external divider. + type: boolean +See reply to the v1 patch for hint on how to 'enforce' that this only exists for the jz4760b Thanks, Jonathanquoted
required: - compatible - '#io-channel-cells'