[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20250809202106.59d405c5@jic23-huawei>
Date: Sat, 9 Aug 2025 20:21:06 +0100
From: Jonathan Cameron <jic23@...nel.org>
To: Matti Vaittinen <mazziesaccount@...il.com>
Cc: Matti Vaittinen <matti.vaittinen@...rohmeurope.com>, Lars-Peter Clausen
<lars@...afoo.de>, Michael Hennerich <Michael.Hennerich@...log.com>, David
Lechner <dlechner@...libre.com>, Nuno Sá
<nuno.sa@...log.com>, Andy Shevchenko <andy@...nel.org>, Rob Herring
<robh@...nel.org>, Krzysztof Kozlowski <krzk+dt@...nel.org>, Conor Dooley
<conor+dt@...nel.org>, Liam Girdwood <lgirdwood@...il.com>, Mark Brown
<broonie@...nel.org>, linux-iio@...r.kernel.org,
devicetree@...r.kernel.org, linux-kernel@...r.kernel.org
Subject: Re: [PATCH v3 08/10] dt-bindings: iio: adc: ad7476: Add ROHM
bd79105
On Fri, 8 Aug 2025 11:54:25 +0300
Matti Vaittinen <mazziesaccount@...il.com> 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.
>
> Add a compatible for the bd79105.
>
> Signed-off-by: Matti Vaittinen <mazziesaccount@...il.com>
>
> ---
> 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:
> + else:
> + properties:
> + interrupts: false
> +
> # Devices where reference is vcc
> - if:
> properties:
> @@ -115,6 +139,7 @@ allOf:
> - adi,ad7274
> - adi,ad7475
> - lltc,ltc2314-14
> + - rohm,bd79105
> then:
> properties:
> vref-supply: true
> @@ -131,6 +156,7 @@ allOf:
> - adi,ad7274
> - adi,ad7475
> - lltc,ltc2314-14
> + - rohm,bd79105
> then:
> required:
> - vref-supply
> @@ -141,12 +167,28 @@ allOf:
> enum:
> - adi,ad7475
> - adi,ad7495
> + - rohm,bd79105
> then:
> properties:
> vdrive-supply: true
> else:
> properties:
> vdrive-supply: false
> +
> + # Devices which support polling the data-ready via GPIO
> + - if:
> + properties:
> + compatible:
> + contains:
> + enum:
> + - rohm,bd79105
> + then:
> + properties:
> + rdy-gpios: true
As above, I believe we only need the not case.
> + else:
> + properties:
> + rdy-gpios: false
> +
> - if:
> properties:
> compatible:
> @@ -154,6 +196,7 @@ allOf:
> enum:
> - adi,ad7091
> - adi,ad7091r
> + - rohm,bd79105
> then:
> properties:
> adi,conversion-start-gpios: true
> @@ -161,6 +204,17 @@ allOf:
> properties:
> adi,conversion-start-gpios: false
>
> + # Devices with a convstart GPIO where it is not optional
> + - if:
> + properties:
> + compatible:
> + contains:
> + enum:
> + - rohm,bd79105
> + then:
> + required:
> + - adi,conversion-start-gpios
> +
> unevaluatedProperties: false
>
> examples:
Powered by blists - more mailing lists