Re: [PATCH v1 3/3] dt-bindings: iio: adc: add ADS7924

From: Krzysztof Kozlowski
Date: Fri Dec 23 2022 - 03:19:14 EST


On 22/12/2022 21:36, Hugo Villeneuve wrote:
> From: Hugo Villeneuve <hvilleneuve@xxxxxxxxxxxx>
>
> Add device tree bindings document for the Texas Instruments ADS7924
> ADC.
>
> Signed-off-by: Hugo Villeneuve <hvilleneuve@xxxxxxxxxxxx>
> ---
> .../bindings/iio/adc/ti,ads7924.yaml | 103 ++++++++++++++++++
> 1 file changed, 103 insertions(+)
> create mode 100644 Documentation/devicetree/bindings/iio/adc/ti,ads7924.yaml
>
> diff --git a/Documentation/devicetree/bindings/iio/adc/ti,ads7924.yaml b/Documentation/devicetree/bindings/iio/adc/ti,ads7924.yaml
> new file mode 100644
> index 000000000000..5408ec95e417
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/iio/adc/ti,ads7924.yaml
> @@ -0,0 +1,103 @@
> +# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
> +%YAML 1.2
> +---
> +$id: http://devicetree.org/schemas/iio/adc/ti,ads7924.yaml#
> +$schema: http://devicetree.org/meta-schemas/core.yaml#
> +
> +title: TI ADS7924 4 channels 12 bits I2C analog to digital converter
> +
> +maintainers:
> + - Hugo Villeneuve <hvilleneuve@xxxxxxxxxxxx>
> +
> +description: |
> + Texas Instruments ADS7924 4 channels 12 bits I2C analog to digital converter
> +
> + Specifications:
> + https://www.ti.com/lit/gpn/ads7924
> +
> +properties:
> + compatible:
> + const: ti,ads7924
> +
> + vref-supply:
> + description:
> + The regulator supply for the ADC reference voltage (AVDD)
> +
> + reg:
> + maxItems: 1
> +
> + reset-gpios:
> + description:
> + GPIO used for controlling the reset pin

Drop description, it's obvious (unless you want to actually describe
some pieces of the hardware).

> + maxItems: 1
> +
> + "#address-cells":
> + const: 1
> +
> + "#size-cells":
> + const: 0
> +
> + "#io-channel-cells":
> + const: 1
> +
> +required:
> + - compatible
> + - reg
> + - vref-supply
> + - "#address-cells"
> + - "#size-cells"

Keep the same order as in properties. This one is more common (reg after
compatible).

> +
> +additionalProperties: false
> +
> +patternProperties:

patternProperties go immediately after properties.

> + "^channel@[0-3]+$":
> + type: object

additionalProperties: false on this level

> + description:
> + Child nodes needed for each channel that the platform uses.

I cannot understand this sentence at all. Instead describe the hardware
you are here representing. What's this?

> +
> + properties:
> + reg:
> + description: |
> + 0: Voltage over AIN0 and GND.
> + 1: Voltage over AIN1 and GND.
> + 2: Voltage over AIN2 and GND.
> + 3: Voltage over AIN3 and GND.
> + items:
> + - minimum: 0
> + maximum: 3
> +
> + required:
> + - reg
> +
> +examples:
> + - |
> + i2c {
> + #address-cells = <1>;
> + #size-cells = <0>;
> +
> + adc@48 {
> + compatible = "ti,ads7924";
> + reg = <0x48>;
> + vref-supply = <&ads7924_reg>;
> + reset-gpios = <&gpio 5 GPIO_ACTIVE_LOW>;
> + #address-cells = <1>;
> + #size-cells = <0>;
> + channel@0 {
> + reg = <0>;

Messed indentation. Keep 4 spaces.

> + label = "CH0";
> + };
> + channel@1 {
> + reg = <1>;
> + label = "CH1";
> + };
> + channel@2 {
> + reg = <2>;
> + label = "CH2";
> + };
> + channel@3 {
> + reg = <3>;
> + label = "CH3";
> + };
> + };
> + };
> +...

Best regards,
Krzysztof