Re: [PATCH v2 01/13] dt-bindings: i3c: Add mipi-i3c-static-method to support SETAASA
Akhil R <[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, 9 Apr 2026 22:00:39 -0400, Frank Li wrote: > 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 >> + 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. >> + Bit 0: SETDASA CCC (Direct) >> + Bit 1: SETAASA CCC (Broadcast) >> + Bit 2: Other CCC (vendor / standards extension) > > You need define at include/dt-bindings/i3c/i3c.h Ack. Will add these as macros. > > Or direct use string arrray > anyOf > - setdasa > - setaasa > - vendor The below thread suggested to keep bitmap since this property comes from a MIPI specification. https://lore.kernel.org/linux-i3c/[email protected]/T/#m8a6c56cff2bde07b84ebfb403a6ac152da24982e Best Regards, Akhil