Re: [PATCH v3 08/10] dt-bindings: iio: adc: ad7476: Add ROHM bd79105
From: Matti Vaittinen
Date: Mon Aug 11 2025 - 04:06:49 EST
On 09/08/2025 22:21, Jonathan Cameron wrote:
On Fri, 8 Aug 2025 11:54:25 +0300
Matti Vaittinen <mazziesaccount@xxxxxxxxx> wrote:
The ROHM BD79105 is a simple, 16-bit, 1-channel ADC with a 'CONVSTART'
pin used to start the ADC conversion. Other than the 'CONVSTART', there
are 3 supply pins (one used as a reference), analog inputs, ground and
communication pins. It's worth noting that the pin somewhat confusingly
labeled as 'DIN', is a pin which should be used as a chip-select. The IC
does not have any writable registers.
The device is designed so that the output pin can, in addition to
outputting the data, be used as a 'data-ready'-IRQ. This, however, would
require the IRQ to be masked from host side for the duration of the data
reads - and it wouldn't also work when the SPI is shared. (As access to
the other SPI devices would cause data line changes to be detected as
IRQs - and the BD79105 provides no means to detect if it has generated
an IRQ).
Hence the device-tree does not contain any IRQ properties.
Commit message needs an update as it now allows for IRQ properties.
Ah, true. Thanks :)
Add a compatible for the bd79105.
Signed-off-by: Matti Vaittinen <mazziesaccount@xxxxxxxxx>
---
Revision history:
v2 => :
- No changes
v1 => v2:
- BD79105 can provide data-ready IRQ (or GPIO) via DOUT-pin.
---
.../bindings/iio/adc/adi,ad7476.yaml | 54 +++++++++++++++++++
1 file changed, 54 insertions(+)
diff --git a/Documentation/devicetree/bindings/iio/adc/adi,ad7476.yaml b/Documentation/devicetree/bindings/iio/adc/adi,ad7476.yaml
index d0cb32f136e5..c411a7467651 100644
--- a/Documentation/devicetree/bindings/iio/adc/adi,ad7476.yaml
+++ b/Documentation/devicetree/bindings/iio/adc/adi,ad7476.yaml
@@ -41,6 +41,7 @@ properties:
- adi,ad7910
- adi,ad7920
- adi,ad7940
+ - rohm,bd79105
- ti,adc081s
- ti,adc101s
- ti,adc121s
@@ -55,6 +56,11 @@ properties:
reg:
maxItems: 1
+ interrupts:
+ description:
+ The data-ready interrupt. Provided via DOUT pin.
+ maxItems: 1
+
vcc-supply:
description:
Main powersupply voltage for the chips, sometimes referred to as VDD on
@@ -75,6 +81,10 @@ properties:
description: A GPIO used to trigger the start of a conversion
maxItems: 1
+ rdy-gpios:
+ description: A GPIO for detecting the data-ready.
+ maxItems: 1
+
required:
- compatible
- reg
@@ -82,6 +92,20 @@ required:
allOf:
- $ref: /schemas/spi/spi-peripheral-props.yaml#
+# Devices with an IRQ
+ - if:
+ properties:
+ compatible:
+ contains:
+ enum:
+ - rohm,bd79105
+ then:
+ properties:
+ interrupts: true
It's been a while since I wrote one of these, but do we need
the true bit given we have already specified the interrupts
property. I think we only need to do the setting to false
on an if: not:
I think you're right. I just used same approach that had already been
used throughout this binding. I'll try dropping the 'true'-branches, but
then also the other 'true'-branches should be dropped from the binding.
I'll just do that and send v4. Let's see what Rob/Krzk/Conor have to say :)
Yours,
-- Matti