Re: [PATCH v7 2/7] dt-bindings: iio: adc: microchip,mcp3564: Add spi-device-addr

From: Conor Dooley

Date: Tue Jul 28 2026 - 13:22:19 EST


On Sat, Jul 25, 2026 at 11:07:39PM +0100, Jonathan Cameron wrote:
> On Sat, 25 Jul 2026 15:57:07 -0500
> David Lechner <dlechner@xxxxxxxxxxxx> wrote:
>
> > On 7/22/26 2:54 AM, Janani Sunil wrote:
> > > Add the generic spi-device-addr property to the binding and deprecate
> > > the existing vendor specific microchip,hw-device-address property.
> > >
> > > Signed-off-by: Janani Sunil <janani.sunil@xxxxxxxxxx>
> > > ---
> > > .../devicetree/bindings/iio/adc/microchip,mcp3564.yaml | 10 ++++++++--
> > > 1 file changed, 8 insertions(+), 2 deletions(-)
> > >
> > > diff --git a/Documentation/devicetree/bindings/iio/adc/microchip,mcp3564.yaml b/Documentation/devicetree/bindings/iio/adc/microchip,mcp3564.yaml
> > > index 675319276197..de1ea289e7f5 100644
> > > --- a/Documentation/devicetree/bindings/iio/adc/microchip,mcp3564.yaml
> > > +++ b/Documentation/devicetree/bindings/iio/adc/microchip,mcp3564.yaml
> > > @@ -80,6 +80,7 @@ properties:
> > > $ref: /schemas/types.yaml#/definitions/uint32
> > > minimum: 0
> > > maximum: 3
> > > + deprecated: true
> > > description:
> > > The address is set on a per-device basis by fuses in the factory,
> > > configured on request. If not requested, the fuses are set for 0x1.
> > > @@ -91,6 +92,12 @@ properties:
> > > clocking of the device address (BITS[7:6] - top two bits of COMMAND BYTE
> > > which is first one on the wire).
> > >
> > > + spi-device-addr:
> > > + maxItems: 1
> >
> > Does it not make sense to all for more than once device connected
> > to the same CS here? I would expect maxItems to be 4 to match the
> > number of possible addresses.
> >
>
> I think for this part their isn't a reason to aggregate.
> No magic accesses that touch them all at once. So this hits
> exactly the point you raised about how we set the address for
> more than one of them.

No David is actually right here, and maxitems should be 4.
Setting the address for multiple was already discussed I thought, with
the property being an array and each compatible being used to determine
the "stride" between entries based on the number of supported channels?

>
> Jonathan
>
> > > + items:
> > > + enum: [0, 1, 2, 3]
> > > + default: [1]
> > > +
> > > "#io-channel-cells":
> > > const: 1
> > >
> > > @@ -123,7 +130,6 @@ dependencies:
> > > required:
> > > - compatible
> > > - reg
> > > - - microchip,hw-device-address
> > > - spi-max-frequency
> > >
> > > allOf:
> > > @@ -159,7 +165,7 @@ examples:
> > > spi-cpha;
> > > spi-cpol;
> > > spi-max-frequency = <10000000>;
> > > - microchip,hw-device-address = <1>;
> > > + spi-device-addr = <1>;
> > >
> > > #address-cells = <1>;
> > > #size-cells = <0>;
> > >
> >
>

Attachment: signature.asc
Description: PGP signature