Re: [PATCH v7 1/7] spi: dt-bindings: Add spi-device-addr peripheral property

Jonathan Cameron <[email protected]> Sat, 25 Jul 2026 23:04:45 +0100
Newsgroups org.kernel.vger.linux-spi,org.kernel.vger.linux-devicetree,org.kernel.vger.linux-doc,org.kernel.vger.linux-iio,org.kernel.vger.linux-kernel
Message-ID <20260725230445.60a445a0@jic23-huawei>
On Sat, 25 Jul 2026 15:55:01 -0500
David Lechner <[email protected]> wrote:

> On 7/22/26 2:54 AM, Janani Sunil wrote:
> > Some SPI devices support sharing a single chip select across multiple
> > physical chips by encoding a device address in the SPI frame itself.
> > Add the generic spi-device-addr property for describing these hardware
> > addresses. The property is placed on the SPI peripheral node and may
> > contain multiple addresses.
> > 
> > Signed-off-by: Janani Sunil <[email protected]>
> > ---
> >  Documentation/devicetree/bindings/spi/spi-peripheral-props.yaml | 7 +++++++
> >  1 file changed, 7 insertions(+)
> > 
> > diff --git a/Documentation/devicetree/bindings/spi/spi-peripheral-props.yaml b/Documentation/devicetree/bindings/spi/spi-peripheral-props.yaml
> > index 880a9f624566..b59d047cf117 100644
> > --- a/Documentation/devicetree/bindings/spi/spi-peripheral-props.yaml
> > +++ b/Documentation/devicetree/bindings/spi/spi-peripheral-props.yaml
> > @@ -142,6 +142,13 @@ properties:
> >      minItems: 2
> >      maxItems: 4
> >  
> > +  spi-device-addr:
> > +    $ref: /schemas/types.yaml#/definitions/uint32-array
> > +    description:
> > +      Device addresses used when multiple peripherals share a single chip
> > +      select. The array allows one logical peripheral to comprise multiple
> > +      physical devices, with one address per device.  
> 
> "per physical device" for clarity.
> 

We may end up relaxing that again if multichip packages start doing this.
Fine to add that clarification for now. We can revisit when / if it ever
needs that relaxing.

> > +
> >    st,spi-midi-ns:
> >      deprecated: true
> >      description: |
> >   
> 
> If there is nothing useful the SPI core code can do with this information,
> I'm not entirely convinced that this needs to be a common property.

I think being common does make some sense from a standarization point of
view and it isn't obvious where to put it other than under spi.

> 
> And this only allows for one logical device. If we wanted to treat each
> address as a logical device (all with same CS), we would need #address-cells = <2>;
> instead where the DT "address" is two values, the CS and the device address.

Ah.  Good point for the adc@address or similar needing to match a combination
of CS and spi-device-addr.  Conor any thoughts on how this would be done?


Also feels like this series should update the one use of the microchip binding
in tree.

arch/riscv/boot/dts/microchip/mpfs-beaglev-fire.dts

Jonathan
> 
> This isn't a nak or request for change - just putting my thoughts out there
> to make sure we considered it thoroughly.
> 
>