[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <5318e6be-5299-47bf-8c6d-1d30a1765b9b@baylibre.com>
Date: Fri, 16 May 2025 10:45:09 -0500
From: David Lechner <dlechner@...libre.com>
To: Conor Dooley <conor@...nel.org>,
Pop Ioan Daniel <pop.ioan-daniel@...log.com>
Cc: Lars-Peter Clausen <lars@...afoo.de>,
Michael Hennerich <Michael.Hennerich@...log.com>,
Jonathan Cameron <jic23@...nel.org>, 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>,
Sergiu Cuciurean <sergiu.cuciurean@...log.com>,
Dragos Bogdan <dragos.bogdan@...log.com>,
Antoniu Miclaus <antoniu.miclaus@...log.com>,
Olivier Moysan <olivier.moysan@...s.st.com>,
Javier Carrasco <javier.carrasco.cruz@...il.com>,
Matti Vaittinen <mazziesaccount@...il.com>,
Tobias Sperling <tobias.sperling@...ting.com>,
Alisa-Dariana Roman <alisadariana@...il.com>,
Marcelo Schmitt <marcelo.schmitt@...log.com>,
Trevor Gamblin <tgamblin@...libre.com>,
Matteo Martelli <matteomartelli3@...il.com>, linux-iio@...r.kernel.org,
devicetree@...r.kernel.org, linux-kernel@...r.kernel.org
Subject: Re: [PATCH v3 3/4] dt-bindings: iio: adc: add ad7405
On 5/16/25 9:18 AM, Conor Dooley wrote:
> On Fri, May 16, 2025 at 01:58:03PM +0300, Pop Ioan Daniel wrote:
>> Add devicetree bindings for ad7405/adum770x family.
>>
>> Signed-off-by: Pop Ioan Daniel <pop.ioan-daniel@...log.com>
>> ---
>> changes in v2:
>> - fix properties: clocks issue
>> .../bindings/iio/adc/adi,ad7405.yaml | 60 +++++++++++++++++++
>> 1 file changed, 60 insertions(+)
>> create mode 100644 Documentation/devicetree/bindings/iio/adc/adi,ad7405.yaml
>>
>> diff --git a/Documentation/devicetree/bindings/iio/adc/adi,ad7405.yaml b/Documentation/devicetree/bindings/iio/adc/adi,ad7405.yaml
>> new file mode 100644
>> index 000000000000..939de3bd6f26
>> --- /dev/null
>> +++ b/Documentation/devicetree/bindings/iio/adc/adi,ad7405.yaml
>> @@ -0,0 +1,60 @@
>> +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
>> +# Copyright 2025 Analog Devices Inc.
>> +%YAML 1.2
>> +---
>> +$id: http://devicetree.org/schemas/iio/adc/adi,ad7405.yaml#
>> +$schema: http://devicetree.org/meta-schemas/core.yaml#
>> +
>> +title: Analog Devices AD7405 family
>> +
>> +maintainers:
>> + - Dragos Bogdan <dragos.bogdan@...log.com>
>> + - Pop Ioan Daniel <pop.ioan-daniel@...log.com>
>> +
>> +description: |
>> + Analog Devices AD7405 is a high performance isolated ADC, 1-channel,
>> + 16-bit with a second-order Σ-Δ modulator that converts an analog input signal
>> + into a high speed, single-bit data stream.
>> +
>> + https://www.analog.com/media/en/technical-documentation/data-sheets/ad7405.pdf
>> + https://www.analog.com/media/en/technical-documentation/data-sheets/adum7701.pdf
>> + https://www.analog.com/media/en/technical-documentation/data-sheets/adum7702.pdf
>> + https://www.analog.com/media/en/technical-documentation/data-sheets/ADuM7703.pdf
>> +
>> +properties:
>> + compatible:
>> + enum:
>> + - adi,ad7405
>> + - adi,adum7701
>> + - adi,adum7702
>> + - adi,adum7703
>> +
>> + clocks:
>> + maxItems: 1
>> +
>> + vdd1-supply: true
>> +
>> + vdd2-supply: true
>> +
>> + io-backends:
>> + maxItems: 1
>> +
>> +required:
>> + - compatible
>> + - clocks
>> + - vdd1-supply
>> + - vdd2-supply
>> + - io-backends
>> +
>> +additionalProperties: false
>> +
>> +examples:
>> + - |
>> + adc {
>> + compatible = "adi,ad7405";
>> + clocks = <&axi_clk_gen 0>;
>
> No reg here, how do you actually access this device?
> Is it entirely via the backend?
Yeah, it is just a high speed serial bus (not SPI) that reads data
and there are no programmable registers.
It would probably make sense to have this as a child node of the
backend rather than a random platform device. We had a similar
discussion about a similar case a while back [1].
However, the conclusion in that case was different because that
device had both configuration registers and non-SPI compatible
data stream on the same lines. So we concluded that even though
this was the same line on the DAC, it was two different buses.
We ended up with the AXI ADC node as a parent SPI controller node
that also used the io-backends binding to represent the separate
data bus.
In this case though, we only have one bus, so instead of using the
io-backend binding, we could just have the AXI ADC node be the
parent of the ADC node as was suggested in [2].
[1]: https://lore.kernel.org/linux-iio/f9a2b74f371fb4b02486ad7426c57b75739438f3.camel@gmail.com/
[2]: https://lore.kernel.org/linux-iio/e8af0f3f-a09c-42d7-b8ca-dd633539af73@kernel.org/
>
>> + vdd1-supply = <&vdd1>;
>> + vdd2-supply = <&vdd2>;
>> + io-backends = <&iio_backend>;
>> + };
>> +...
>> --
>> 2.34.1
>>
Powered by blists - more mailing lists