Re: [PATCH v2 01/13] dt-bindings: i3c: Add mipi-i3c-static-method to support SETAASA
Rob Herring <[email protected]>
| Newsgroups | dev.linux.lists.acpica-devel,org.infradead.lists.linux-i3c,org.kernel.vger.linux-acpi,org.kernel.vger.linux-devicetree,org.kernel.vger.linux-hwmon,org.kernel.vger.linux-kernel |
|---|---|
| Message-ID | <[email protected]> |
On Thu, Apr 09, 2026 at 04:27:31PM +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/mipi-disco-for-i3c-download > > Signed-off-by: Akhil R <[email protected]> > --- > .../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 Looks like the max is 0x7 currently. > + 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. blank line here. > + Bit 0: SETDASA CCC (Direct) > + Bit 1: SETAASA CCC (Broadcast) > + Bit 2: Other CCC (vendor / standards extension) > + All other bits are reserved. Indent these by 2 more. > + > + This property follows the MIPI I3C specification. The primary use > + of this property is to indicate support for SETAASA, i.e Bit 1, but > + will allow all values so that it is aligned with the specifications. > + SETDASA will remain as the default method even if this property is > + not present. > + > required: > - reg > > -- > 2.50.1 >