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

From: Rob Herring

Date: Thu Mar 26 2026 - 11:13:20 EST


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.

Rob