[PATCH v3 1/3] dt-bindings: i3c: xlnx: Add IBI and hot-join capability properties

Shubham Patil shubhamsanjay.patil at amd.com
Tue Sep 8 02:42:55 PDT 2026


In-Band Interrupt and Hot-Join are synthesis-time options of the AXI I3C
IP. Describe them with two boolean properties.

A Hot-Join request is acknowledged by the IBI machinery, so a hot-join
capable design is always IBI capable as well. Both events are reported
through the controller interrupt, which is therefore required whenever
the capability is present.

Signed-off-by: Shubham Patil <shubhamsanjay.patil at amd.com>
---
Changes in V3:
- Move in-band-interrupt-capable and hot-join-capable into the common
  i3c.yaml schema and drop the xlnx, prefix.
- Keep dependencies in the AMD binding.
- Update the commit description accordingly.
- Conor Dooley acked v2 with the xlnx,-prefixed properties in the AMD
  binding [1].
  That Acked-by is not carried here: the names lost the vendor prefix
  and the definitions moved to i3c.yaml after Frank Li's comment.
  [1]:https://lore.kernel.org/all/20260824-tightwad-impose-495476599087@spud/

Changes in V2:
- Rename the properties to "xlnx,in-band-interrupt-capable" and
  "xlnx,hot-join-capable", and expand their descriptions.
- Express the interrupt requirement with dependencies: instead of an
  allOf/if-then clause.
---
 Documentation/devicetree/bindings/i3c/i3c.yaml    | 15 +++++++++++++++
 .../devicetree/bindings/i3c/xlnx,axi-i3c-1.0.yaml |  6 ++++++
 2 files changed, 21 insertions(+)

diff --git a/Documentation/devicetree/bindings/i3c/i3c.yaml b/Documentation/devicetree/bindings/i3c/i3c.yaml
index e25fa72fd7857..7430394cc6b9b 100644
--- a/Documentation/devicetree/bindings/i3c/i3c.yaml
+++ b/Documentation/devicetree/bindings/i3c/i3c.yaml
@@ -61,6 +61,21 @@ properties:
       Indicates that the system is accessible via this bus as an endpoint for
       MCTP over I3C transport.
 
+  in-band-interrupt-capable:
+    type: boolean
+    description:
+      The controller supports In-Band Interrupts. A target can request
+      attention on SDA/SCL by driving its dynamic address during bus
+      arbitration, instead of using a dedicated side-band interrupt line.
+
+  hot-join-capable:
+    type: boolean
+    description:
+      The controller supports Hot-Join. A target attached or powered up
+      after the bus is already running can announce itself using the
+      reserved Hot-Join address so the controller can assign it a dynamic
+      address.
+
 required:
   - "#address-cells"
   - "#size-cells"
diff --git a/Documentation/devicetree/bindings/i3c/xlnx,axi-i3c-1.0.yaml b/Documentation/devicetree/bindings/i3c/xlnx,axi-i3c-1.0.yaml
index 2caa245a86568..9480de3fe8e1d 100644
--- a/Documentation/devicetree/bindings/i3c/xlnx,axi-i3c-1.0.yaml
+++ b/Documentation/devicetree/bindings/i3c/xlnx,axi-i3c-1.0.yaml
@@ -37,6 +37,10 @@ required:
   - reg
   - clocks
 
+dependentRequired:
+  hot-join-capable: [ in-band-interrupt-capable ]
+  in-band-interrupt-capable: [ interrupts ]
+
 allOf:
   - $ref: i3c.yaml#
 
@@ -54,5 +58,7 @@ examples:
         interrupts = <GIC_SPI 89 IRQ_TYPE_LEVEL_HIGH>;
         #address-cells = <3>;
         #size-cells = <0>;
+        hot-join-capable;
+        in-band-interrupt-capable;
     };
 ...
-- 
2.34.1




More information about the linux-i3c mailing list