Re: [PATCH 01/12] 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,org.kernel.vger.linux-tegra |
|---|---|
| Message-ID | <[email protected]> |
On Fri, 27 Mar 2026 18:06:42 +0100, Alexandre Belloni wrote: > On 27/03/2026 17:12:04+0530, Akhil R wrote: >> On Fri, 27 Mar 2026 09:27:21 +0100, Alexandre Belloni wrote: >> > On 27/03/2026 13:48:58+0530, Akhil R wrote: >> >> On Thu, 26 Mar 2026 16:44:31 +0100, Alexandre Belloni wrote: >> >> > 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 <[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. >> >> >> > >> >> >> > 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. >> >> >> >> There is a public version available in the same link, but you would still >> >> have to provide them a name and an email ID. The document will be sent to >> >> the mail ID. >> >> >> > >> > The public version only contains one property: >> > mipi-disco-interface-revision >> >> Could you check once if the below link works? >> https://www.mipi.org/mipi-disco-for-i3c-download > > It works, thanks. The bitfield is fine then. Thanks for checking. I will update the link in the commit description and keep the rest of the patch as is. Hope that sounds good. Best Regards, Akhil