Re: [PATCH v3 5/8] dt-bindings: iio: add backend support to sd modulator

From: Rob Herring
Date: Wed Jul 03 2024 - 18:09:02 EST


On Wed, Jul 03, 2024 at 06:05:30PM +0200, Olivier Moysan wrote:
> The legacy sd modulator driver registers the sigma delta modulator as
> an IIO channel provider. This implementation is not convenient when the
> SD modulator has to be cascaded with another IIO device. The scaling
> information is distributed across devices, which makes it difficult to
> report consistent scaling data on IIO devices.
>
> The solution is to expose these cascaded IIO devices as an aggregate
> device, which report global scaling information.
> Add IIO backend support to SD modulator to allow scaling information
> management.
>
> Signed-off-by: Olivier Moysan <olivier.moysan@xxxxxxxxxxx>
> ---
> .../iio/adc/sigma-delta-modulator.yaml | 24 +++++++++++++++++--
> 1 file changed, 22 insertions(+), 2 deletions(-)
>
> diff --git a/Documentation/devicetree/bindings/iio/adc/sigma-delta-modulator.yaml b/Documentation/devicetree/bindings/iio/adc/sigma-delta-modulator.yaml
> index cab0d425eaa4..e34aa560da63 100644
> --- a/Documentation/devicetree/bindings/iio/adc/sigma-delta-modulator.yaml
> +++ b/Documentation/devicetree/bindings/iio/adc/sigma-delta-modulator.yaml
> @@ -18,18 +18,38 @@ properties:
> - sd-modulator
> - ads1201
>
> + '#io-backend-cells':
> + const: 0
> +
> '#io-channel-cells':
> const: 0
>
> + reg:
> + maxItems: 1
> +
> + vref-supply:
> + description: Phandle to the vref input analog reference voltage.
> +
> required:
> - compatible
> - - '#io-channel-cells'
> +
> +allOf:

Don't need allOf

> + - anyOf:
> + - required: ['#io-backend-cells']
> + - required: ['#io-channel-cells']
>
> additionalProperties: false
>
> examples:
> - |
> - ads1202: adc {
> + // Exemple1: SD modulator is an IIO backend device
> + ads1201_0 {
> + compatible = "ti,ads1201";
> + #io-backend-cells = <0>;
> + };
> +
> + //Example2: SD modulator is an IIO channel provider
> + ads1201_1 {
> compatible = "sd-modulator";
> #io-channel-cells = <0>;

Don't you need some link between the nodes?

> };
> --
> 2.25.1
>