Re: [PATCH 1/3] dt-bindings: i3c: xlnx: Add IBI and hot-join capability properties
From: Patil, Shubham Sanjay
Date: Tue Aug 18 2026 - 07:59:57 EST
Hi Frank,
On 8/14/2026 10:37 PM, Frank Li wrote:
[You don't often get email from frank.li@xxxxxxxxxxx. Learn why this is important at https://aka.ms/LearnAboutSenderIdentification ]
Caution: This message originated from an External Source. Use proper caution when opening attachments, clicking links, or responding.
On Fri, Aug 14, 2026 at 05:21:53PM +0530, Shubham Patil wrote:
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@xxxxxxx>
---
.../bindings/i3c/xlnx,axi-i3c-1.0.yaml | 23 +++++++++++++++++++
1 file changed, 23 insertions(+)
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 2caa245a8656..07e3d0b4d767 100644
--- a/Documentation/devicetree/bindings/i3c/xlnx,axi-i3c-1.0.yaml
+++ b/Documentation/devicetree/bindings/i3c/xlnx,axi-i3c-1.0.yaml
@@ -32,13 +32,34 @@ properties:
interrupts:
maxItems: 1
+ xlnx,ibi-capable:
+ type: boolean
+ description:
+ The IP is synthesized with In-Band Interrupt support. IBIs are reported
+ through the controller interrupt.
+
+ xlnx,hj-capable:
+ type: boolean
+ description:
+ The IP is synthesized with Hot-Join support. A Hot-Join request is
+ acknowledged by the same machinery as an In-Band Interrupt.
+
The compatiblity xlnx,axi-i3c-1.0 already indicates such cap. Do you have
variance. such as
one Soc have two instances.
instance 1 have hj and ibi cap
instance 2 no hj and ibi cap
Yes, exactly that. The AXI I3C core is not a hard block: it is soft IP
instantiated in the FPGA fabric, and IBI and Hot-Join are per-instance
parameters selected in Vivado when the design is built.
If new version support HJ and IBI, need use new compatible string.
The compatible does track the IP version, and a future AXI I3C v2.0
would get its own string. But IBI and Hot-Join are not version
differences: they are independent build time options of this same v1.0
core, so putting them in the compatible would mean several strings for
one IP version, growing combinatorially with every future option.
Thanks,
Shubham>
Frank
required:
- compatible
- reg
- clocks
+dependencies:
+ xlnx,hj-capable: ["xlnx,ibi-capable"]
+
allOf:
- $ref: i3c.yaml#
+ - if:
+ required:
+ - xlnx,ibi-capable
+ then:
+ required:
+ - interrupts
unevaluatedProperties: false
@@ -54,5 +75,7 @@ examples:
interrupts = <GIC_SPI 89 IRQ_TYPE_LEVEL_HIGH>;
#address-cells = <3>;
#size-cells = <0>;
+ xlnx,ibi-capable;
+ xlnx,hj-capable;
};
...
--
2.34.1