* [PATCH] dt-bindings: iio: adc: add AD7816/AD7817/AD7818 binding
@ 2026-05-08 20:20 Hungyu Lin
2026-05-08 22:55 ` sashiko-bot
0 siblings, 1 reply; 2+ messages in thread
From: Hungyu Lin @ 2026-05-08 20:20 UTC (permalink / raw)
To: robh, krzk+dt, conor+dt
Cc: jic23, lars, Michael.Hennerich, dlechner, nuno.sa, andy,
linux-iio, devicetree, linux-kernel, Hungyu Lin
Add Device Tree binding documentation for the Analog Devices
AD7816, AD7817 and AD7818 SPI ADC devices.
The AD7816 provides temperature monitoring only, while the
AD7817 and AD7818 provide analog input channels with an
on-chip temperature sensor. The devices may use control GPIOs
for RD/WR and CONVST, and optionally BUSY depending on the
device variant.
Signed-off-by: Hungyu Lin <dennylin0707@gmail.com>
---
.../bindings/iio/adc/adi,ad7816.yaml | 94 +++++++++++++++++++
1 file changed, 94 insertions(+)
create mode 100644 Documentation/devicetree/bindings/iio/adc/adi,ad7816.yaml
diff --git a/Documentation/devicetree/bindings/iio/adc/adi,ad7816.yaml b/Documentation/devicetree/bindings/iio/adc/adi,ad7816.yaml
new file mode 100644
index 000000000000..490e5338d7b2
--- /dev/null
+++ b/Documentation/devicetree/bindings/iio/adc/adi,ad7816.yaml
@@ -0,0 +1,94 @@
+# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/iio/adc/adi,ad7816.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: Analog Devices AD7816/AD7817/AD7818 ADC
+
+maintainers:
+ - Hungyu Lin <dennylin0707@gmail.com>
+
+description: |
+ Binding for Analog Devices AD7816, AD7817 and AD7818 SPI ADCs
+ with on-chip temperature sensor.
+
+ The AD7816 provides temperature monitoring only.
+ The AD7817 provides up to 4 analog input channels.
+ The AD7818 provides a single analog input channel.
+
+properties:
+ compatible:
+ enum:
+ - adi,ad7816
+ - adi,ad7817
+ - adi,ad7818
+
+ reg:
+ maxItems: 1
+
+ interrupts:
+ maxItems: 1
+ description:
+ Optional interrupt line used by the device.
+
+ rdwr-gpios:
+ maxItems: 1
+ description:
+ GPIO connected to the RD/WR pin used to control read/write cycles.
+
+ convert-gpios:
+ maxItems: 1
+ description:
+ GPIO connected to the CONVST pin used to trigger conversions.
+
+ busy-gpios:
+ maxItems: 1
+ description:
+ GPIO connected to the BUSY pin indicating conversion status.
+
+required:
+ - compatible
+ - reg
+ - rdwr-gpios
+ - convert-gpios
+
+allOf:
+ - $ref: /schemas/spi/spi-peripheral-props.yaml#
+
+ - if:
+ properties:
+ compatible:
+ contains:
+ enum:
+ - adi,ad7816
+ - adi,ad7817
+ then:
+ required:
+ - busy-gpios
+ else:
+ properties:
+ busy-gpios: false
+
+unevaluatedProperties: false
+
+examples:
+ - |
+ gpio0: gpio {
+ gpio-controller;
+ #gpio-cells = <2>;
+ };
+
+ spi {
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ adc@0 {
+ compatible = "adi,ad7816";
+ reg = <0>;
+ spi-max-frequency = <5000000>;
+ rdwr-gpios = <&gpio0 1 0>;
+ convert-gpios = <&gpio0 2 0>;
+ busy-gpios = <&gpio0 3 0>;
+ };
+ };
--
2.34.1
^ permalink raw reply related [flat|nested] 2+ messages in thread
* Re: [PATCH] dt-bindings: iio: adc: add AD7816/AD7817/AD7818 binding
2026-05-08 20:20 [PATCH] dt-bindings: iio: adc: add AD7816/AD7817/AD7818 binding Hungyu Lin
@ 2026-05-08 22:55 ` sashiko-bot
0 siblings, 0 replies; 2+ messages in thread
From: sashiko-bot @ 2026-05-08 22:55 UTC (permalink / raw)
To: Hungyu Lin; +Cc: robh, krzk+dt, conor+dt, devicetree
Thank you for your contribution! Sashiko AI review found 1 potential issue(s) to consider:
- [Medium] GPIO properties described as optional are enforced as strictly required in the schema.
--
commit 5e87ac2e842cf4989944934ecd916083ea3da1f7
Author: Hungyu Lin <dennylin0707@gmail.com>
dt-bindings: iio: adc: add AD7816/AD7817/AD7818 binding
Add Device Tree binding documentation for the Analog Devices
AD7816, AD7817 and AD7818 SPI ADC devices.
> diff --git a/Documentation/devicetree/bindings/iio/adc/adi,ad7816.yaml b/Documentation/devicetree/bindings/iio/adc/adi,ad7816.yaml
> new file mode 100644
> index 0000000000000..490e5338d7b2e
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/iio/adc/adi,ad7816.yaml
[ ... ]
> +required:
> + - compatible
> + - reg
> + - rdwr-gpios
> + - convert-gpios
The commit message states that the devices "may use control GPIOs for RD/WR
and CONVST", which implies they are optional.
Are rdwr-gpios and convert-gpios strictly required for operation? If they can
be left unconnected or hardwired depending on the board's hardware design,
enforcing them in the global required block will cause valid device trees to
fail validation.
> +
> +allOf:
> + - $ref: /schemas/spi/spi-peripheral-props.yaml#
> +
> + - if:
> + properties:
> + compatible:
> + contains:
> + enum:
> + - adi,ad7816
> + - adi,ad7817
> + then:
> + required:
> + - busy-gpios
Does the same apply to busy-gpios? The commit message mentions BUSY is
optional depending on the device variant, but this block enforces it as
mandatory for the AD7816 and AD7817 variants.
--
Sashiko AI review · https://sashiko.dev/#/patchset/20260508202005.76278-1-dennylin0707@gmail.com?part=1
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2026-05-08 22:55 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-05-08 20:20 [PATCH] dt-bindings: iio: adc: add AD7816/AD7817/AD7818 binding Hungyu Lin
2026-05-08 22:55 ` sashiko-bot
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox