dt-bindings: iio: adc: Add TI TWL603X GPADC
Commit Message
Document TI TWL603X GPADC devicetree bindings.
A driver is already there, the compatibles are used, but not documented.
Use two separate files to reference only the allowed compatible in
a future YAML version of
Documentation/devicetree/bindings/mfd/twl-family.txt
Signed-off-by: Andreas Kemnade <andreas@kemnade.info>
---
.../bindings/iio/adc/ti,twl6030-gpadc.yaml | 42 +++++++++++++++++++
.../bindings/iio/adc/ti,twl6032-gpadc.yaml | 42 +++++++++++++++++++
2 files changed, 84 insertions(+)
create mode 100644 Documentation/devicetree/bindings/iio/adc/ti,twl6030-gpadc.yaml
create mode 100644 Documentation/devicetree/bindings/iio/adc/ti,twl6032-gpadc.yaml
Comments
Hi,
On Sat, 19 Aug 2023 20:35:27 +0200
Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org> wrote:
> On 16/08/2023 22:26, Andreas Kemnade wrote:
> > Document TI TWL603X GPADC devicetree bindings.
> > A driver is already there, the compatibles are used, but not documented.
> > Use two separate files to reference only the allowed compatible in
> > a future YAML version of
> > Documentation/devicetree/bindings/mfd/twl-family.txt
> >
> > Signed-off-by: Andreas Kemnade <andreas@kemnade.info>
> > ---
>
> Thank you for your patch. There is something to discuss/improve.
>
>
> > .../bindings/iio/adc/ti,twl6030-gpadc.yaml | 42 +++++++++++++++++++
> > .../bindings/iio/adc/ti,twl6032-gpadc.yaml | 42 +++++++++++++++++++
> > 2 files changed, 84 insertions(+)
> > create mode 100644 Documentation/devicetree/bindings/iio/adc/ti,twl6030-gpadc.yaml
> > create mode 100644 Documentation/devicetree/bindings/iio/adc/ti,twl6032-gpadc.yaml
> >
> > diff --git a/Documentation/devicetree/bindings/iio/adc/ti,twl6030-gpadc.yaml b/Documentation/devicetree/bindings/iio/adc/ti,twl6030-gpadc.yaml
> > new file mode 100644
> > index 000000000000..08bc0468f616
> > --- /dev/null
> > +++ b/Documentation/devicetree/bindings/iio/adc/ti,twl6030-gpadc.yaml
> > @@ -0,0 +1,42 @@
> > +# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
> > +%YAML 1.2
> > +---
> > +$id: http://devicetree.org/schemas/iio/adc/ti,twl6030-gpadc.yaml#
> > +$schema: http://devicetree.org/meta-schemas/core.yaml#
> > +
> > +title: GPADC subsystem in the TWL6030 power module
> > +
> > +maintainers:
> > + - Jonathan Cameron <jic23@kernel.org>
>
> This should be rather someone knowing or having or caring about this
> particular hardware, not subsystem maintainer.
>
Hmm, I have the twl6032, but not the twl6030. So probably
Tony (OMAP-Maintainer) or me?
> > +
> > +description:
> > + The GPADC subsystem in the TWL6030 consists of a 10-bit ADC
> > + combined with a 15-input analog multiplexer.
> > +
> > +properties:
> > + compatible:
> > + const: ti,twl6030-gpadc
>
> Devices look fairly similar. Same properties. Why aren't they in one
> binding (enum here instead)?
>
I hope it can be done. See commit message. Maybe my reasoning is wrong.
So what I am thinking about:
&i2c {
twl: pmic@48 {
compatible = "ti,twl6032;
adc {
compatible = "ti,twl6032-gpadc";
}
}
}
So the idea was to later enforce that below a "ti,twl6032" no "ti,twl6030-gpadc"
is allowed in a future yaml version of mfd/twl-family.txt by
using a if: ... compatible = "twl,6032" .. $ref ti,twl6032-gpadc.yaml
If there are other possibilities or that can be just ignored for now,
I fully agree to your proposal.
Regards,
Andreas
new file mode 100644
@@ -0,0 +1,42 @@
+# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/iio/adc/ti,twl6030-gpadc.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: GPADC subsystem in the TWL6030 power module
+
+maintainers:
+ - Jonathan Cameron <jic23@kernel.org>
+
+description:
+ The GPADC subsystem in the TWL6030 consists of a 10-bit ADC
+ combined with a 15-input analog multiplexer.
+
+properties:
+ compatible:
+ const: ti,twl6030-gpadc
+
+ interrupts:
+ maxItems: 1
+
+ "#io-channel-cells":
+ const: 1
+
+required:
+ - compatible
+ - interrupts
+ - "#io-channel-cells"
+
+additionalProperties: false
+
+examples:
+ - |
+ twl {
+ gpadc {
+ compatible = "ti,twl6030-gpadc";
+ interrupts = <3>;
+ #io-channel-cells = <1>;
+ };
+ };
+...
new file mode 100644
@@ -0,0 +1,42 @@
+# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/iio/adc/ti,twl6032-gpadc.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: GPADC subsystem in the TWL6032 power module
+
+maintainers:
+ - Jonathan Cameron <jic23@kernel.org>
+
+description:
+ The GPADC subsystem in the TWL6032 consists of a 10-bit ADC
+ combined with a 19-input analog multiplexer.
+
+properties:
+ compatible:
+ const: ti,twl6032-gpadc
+
+ interrupts:
+ maxItems: 1
+
+ "#io-channel-cells":
+ const: 1
+
+required:
+ - compatible
+ - interrupts
+ - "#io-channel-cells"
+
+additionalProperties: false
+
+examples:
+ - |
+ twl {
+ gpadc {
+ compatible = "ti,twl6032-gpadc";
+ interrupts = <3>;
+ #io-channel-cells = <1>;
+ };
+ };
+...