On Wed, Jul 24, 2024 at 05:36:33PM +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> > --- > .../bindings/iio/adc/sigma-delta-modulator.yaml | 17 +++++++++++++++-- > 1 file changed, 15 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..b245971fecb0 100644 > --- a/Documentation/devicetree/bindings/iio/adc/sigma-delta-modulator.yaml > +++ b/Documentation/devicetree/bindings/iio/adc/sigma-delta-modulator.yaml > @@ -18,18 +18,31 @@ properties: > - sd-modulator > - ads1201 > > + '#io-backend-cells': > + const: 0 > + > '#io-channel-cells': > const: 0 > > required: > - compatible > - - '#io-channel-cells' > + > +anyOf: > + - required: ['#io-backend-cells'] > + - required: ['#io-channel-cells'] > > additionalProperties: false > > examples: > - | > - ads1202: adc { > + // Backend binding example. SD modulator configured as an IIO backend device > + ads1201_0 { > + compatible = "sd-modulator"; > + #io-backend-cells = <0>; > + }; > + > + // Legacy binding example. SD modulator configured as an IIO channel provider > + ads1201_1 { Why the node name change? 'adc' is generic and was correct. This should be a separate example. (Add '- |'). > compatible = "sd-modulator"; > #io-channel-cells = <0>; > }; > -- > 2.25.1 >