Re: [PATCH 01/12] dt-bindings: i3c: Add mipi-i3c-static-method to support SETAASA

From: Alexandre Belloni

Date: Thu Mar 26 2026 - 11:47:42 EST


On 26/03/2026 10:05:03-0500, Rob Herring wrote:
> On Wed, Mar 18, 2026 at 05:31:50PM +0000, Conor Dooley wrote:
> > On Wed, Mar 18, 2026 at 10:57:14PM +0530, Akhil R wrote:
> > > Add the 'mipi-i3c-static-method' property mentioned in the MIPI I3C
> > > Discovery and Configuration Specification [1] to specify which discovery
> > > method an I3C device supports during bus initialization. The property is
> > > a bitmap, where a bit value of 1 indicates support for that method, and 0
> > > indicates lack of support.
> > > Bit 0: SETDASA CCC (Direct)
> > > Bit 1: SETAASA CCC (Broadcast)
> > > Bit 2: Other CCC (vendor / standards extension)
> > > All other bits are reserved.
> > >
> > > It is specifically needed when an I3C device requires SETAASA for the
> > > address assignment. SETDASA will be supported by default if this property
> > > is absent - which means for now the property just serves as a flag to
> > > enable SETAASA, but keep the property as a bitmap to align with the
> > > specifications.
> > >
> > > [1] https://www.mipi.org/specifications/disco
> > >
> > > Signed-off-by: Akhil R <akhilrajeev@xxxxxxxxxx>
> > > ---
> > > .../devicetree/bindings/i3c/i3c.yaml | 30 ++++++++++++++++---
> > > 1 file changed, 26 insertions(+), 4 deletions(-)
> > >
> > > diff --git a/Documentation/devicetree/bindings/i3c/i3c.yaml b/Documentation/devicetree/bindings/i3c/i3c.yaml
> > > index e25fa72fd785..1705d90d4d79 100644
> > > --- a/Documentation/devicetree/bindings/i3c/i3c.yaml
> > > +++ b/Documentation/devicetree/bindings/i3c/i3c.yaml
> > > @@ -31,10 +31,12 @@ properties:
> > > described in the device tree, which in turn means we have to describe
> > > I3C devices.
> > >
> > > - Another use case for describing an I3C device in the device tree is when
> > > - this I3C device has a static I2C address and we want to assign it a
> > > - specific I3C dynamic address before the DAA takes place (so that other
> > > - devices on the bus can't take this dynamic address).
> > > + Other use-cases for describing an I3C device in the device tree are:
> > > + - When the I3C device has a static I2C address and we want to assign
> > > + it a specific I3C dynamic address before the DAA takes place (so
> > > + that other devices on the bus can't take this dynamic address).
> > > + - When the I3C device requires SETAASA for its discovery and uses a
> > > + pre-defined static address.
> > >
> > > "#size-cells":
> > > const: 0
> > > @@ -147,6 +149,26 @@ patternProperties:
> > > through SETDASA. If static address is not present, this address is assigned
> > > through SETNEWDA after assigning a temporary address via ENTDAA.
> > >
> > > + mipi-i3c-static-method:
> > > + $ref: /schemas/types.yaml#/definitions/uint32
> > > + minimum: 0x1
> > > + maximum: 0xff
> > > + default: 1
> > > + description: |
> > > + Bitmap describing which methods of Dynamic Address Assignment from a
> > > + static address are supported by this I3C Target. A bit value of 1
> > > + indicates support for that method, and 0 indicates lack of support.
> >
> > I really am not keen on properties that are bitmaps, why can't we just
> > use the strings "setdasa", "setaasa" etc?
>
> If this comes from a specification, then I'd tend to just copy it rather
> than invent our own thing. Obviously if is something structured
> fundamentally different from how DT is designed, then we wouldn't. But
> this is just a simple property.
>

The issue being that the specification is not public so it is difficult
to take any decision.

--
Alexandre Belloni, co-owner and COO, Bootlin
Embedded Linux and Kernel engineering
https://bootlin.com