* [PATCH v3 1/2] dt-bindings: mailbox: zynqmp: extend required list
2023-12-14 5:42 [PATCH v3 0/2] Add Versal IPI bindings Tanmay Shah
@ 2023-12-14 5:42 ` Tanmay Shah
2023-12-14 7:36 ` Krzysztof Kozlowski
2023-12-14 5:42 ` [PATCH v3 2/2] dt-bindings: mailbox: add Versal IPI bindings Tanmay Shah
1 sibling, 1 reply; 5+ messages in thread
From: Tanmay Shah @ 2023-12-14 5:42 UTC (permalink / raw)
To: jassisinghbrar, robh+dt, krzysztof.kozlowski+dt, conor+dt,
michal.simek, shubhrajyoti.datta, shubhrajyoti.datta
Cc: robh, linux-kernel, devicetree, linux-arm-kernel, ben.levinsky,
Tanmay Shah
"xlnx,ipi-id" is handled as required property but is
missing from binding doc required list of mailbox child node.
Add that to required list. This does not break backward
compatibility but bug in bindings document.
Fixes: 4a855a957936 ("dt-bindings: mailbox: zynqmp_ipi: convert to yaml")
Signed-off-by: Tanmay Shah <tanmay.shah@amd.com>
---
.../devicetree/bindings/mailbox/xlnx,zynqmp-ipi-mailbox.yaml | 1 +
1 file changed, 1 insertion(+)
diff --git a/Documentation/devicetree/bindings/mailbox/xlnx,zynqmp-ipi-mailbox.yaml b/Documentation/devicetree/bindings/mailbox/xlnx,zynqmp-ipi-mailbox.yaml
index 8b15a0532120..73c180871605 100644
--- a/Documentation/devicetree/bindings/mailbox/xlnx,zynqmp-ipi-mailbox.yaml
+++ b/Documentation/devicetree/bindings/mailbox/xlnx,zynqmp-ipi-mailbox.yaml
@@ -103,6 +103,7 @@ patternProperties:
- reg
- reg-names
- "#mbox-cells"
+ - xlnx,ipi-id
additionalProperties: false
--
2.25.1
^ permalink raw reply related [flat|nested] 5+ messages in thread* [PATCH v3 2/2] dt-bindings: mailbox: add Versal IPI bindings
2023-12-14 5:42 [PATCH v3 0/2] Add Versal IPI bindings Tanmay Shah
2023-12-14 5:42 ` [PATCH v3 1/2] dt-bindings: mailbox: zynqmp: extend required list Tanmay Shah
@ 2023-12-14 5:42 ` Tanmay Shah
2023-12-14 7:37 ` Krzysztof Kozlowski
1 sibling, 1 reply; 5+ messages in thread
From: Tanmay Shah @ 2023-12-14 5:42 UTC (permalink / raw)
To: jassisinghbrar, robh+dt, krzysztof.kozlowski+dt, conor+dt,
michal.simek, shubhrajyoti.datta, shubhrajyoti.datta
Cc: robh, linux-kernel, devicetree, linux-arm-kernel, ben.levinsky,
Tanmay Shah
Add documentation for AMD-Xilinx Versal platform Inter Processor Interrupt
controller. Versal IPI controller contains buffer-less IPI which do not
have buffers for message passing. For such IPI channels message buffers
are not expected and only notification to/from remote agent is expected.
Signed-off-by: Tanmay Shah <tanmay.shah@amd.com>
---
Changes in v3:
- disallow parent node "reg" and "reg-names" properties for old device
- remove cleanup changes for old device and only keep Versal related
changes
- replace zynqmp-mailbox node name with mailbox
Changes in v2:
- Add versal bindings to existing bindings doc instead of separate
file.
- Sort required list same as properties list
- Add minimum and maximum range for xlnx,ipi-id vendor property
- Move vendor property last in the list
- Fix description of child node reg property for versal bindings
- Change commit text
.../mailbox/xlnx,zynqmp-ipi-mailbox.yaml | 131 ++++++++++++++++--
1 file changed, 118 insertions(+), 13 deletions(-)
diff --git a/Documentation/devicetree/bindings/mailbox/xlnx,zynqmp-ipi-mailbox.yaml b/Documentation/devicetree/bindings/mailbox/xlnx,zynqmp-ipi-mailbox.yaml
index 73c180871605..fe83b5cb1278 100644
--- a/Documentation/devicetree/bindings/mailbox/xlnx,zynqmp-ipi-mailbox.yaml
+++ b/Documentation/devicetree/bindings/mailbox/xlnx,zynqmp-ipi-mailbox.yaml
@@ -37,7 +37,9 @@ maintainers:
properties:
compatible:
- const: xlnx,zynqmp-ipi-mailbox
+ enum:
+ - xlnx,zynqmp-ipi-mailbox
+ - xlnx,versal-ipi-mailbox
method:
description: |
@@ -58,6 +60,12 @@ properties:
'#size-cells':
const: 2
+ reg:
+ maxItems: 2
+
+ reg-names:
+ maxItems: 2
+
xlnx,ipi-id:
description: |
Remote Xilinx IPI agent ID of which the mailbox is connected to.
@@ -76,7 +84,17 @@ patternProperties:
properties:
compatible:
- const: xlnx,zynqmp-ipi-dest-mailbox
+ enum:
+ - xlnx,zynqmp-ipi-dest-mailbox
+ - xlnx,versal-ipi-dest-mailbox
+
+ reg:
+ minItems: 1
+ maxItems: 4
+
+ reg-names:
+ minItems: 1
+ maxItems: 4
xlnx,ipi-id:
description:
@@ -88,15 +106,37 @@ patternProperties:
description:
It contains tx(0) or rx(1) channel IPI id number.
- reg:
- maxItems: 4
-
- reg-names:
- items:
- - const: local_request_region
- - const: local_response_region
- - const: remote_request_region
- - const: remote_response_region
+ allOf:
+ - if:
+ properties:
+ compatible:
+ contains:
+ enum:
+ - xlnx,zynqmp-ipi-dest-mailbox
+ then:
+ properties:
+ reg:
+ maxItems: 4
+
+ reg-names:
+ items:
+ - const: local_request_region
+ - const: local_response_region
+ - const: remote_request_region
+ - const: remote_response_region
+ else:
+ properties:
+ reg:
+ minItems: 1
+ items:
+ - description: Remote IPI agent control register region
+ - description: Remote IPI agent optional message buffers
+
+ reg-names:
+ minItems: 1
+ items:
+ - const: ctrl
+ - const: msg
required:
- compatible
@@ -105,8 +145,6 @@ patternProperties:
- "#mbox-cells"
- xlnx,ipi-id
-additionalProperties: false
-
required:
- compatible
- interrupts
@@ -114,6 +152,36 @@ required:
- '#size-cells'
- xlnx,ipi-id
+allOf:
+ - if:
+ properties:
+ compatible:
+ contains:
+ enum:
+ - xlnx,zynqmp-ipi-mailbox
+ then:
+ properties:
+ reg: false
+ reg-names: false
+
+ else:
+ properties:
+ reg:
+ items:
+ - description: Host IPI agent control register region
+ - description: Host IPI agent optional message buffers
+
+ reg-names:
+ items:
+ - const: ctrl
+ - const: msg
+
+ required:
+ - reg
+ - reg-names
+
+additionalProperties: false
+
examples:
- |
#include<dt-bindings/interrupt-controller/arm-gic.h>
@@ -145,4 +213,41 @@ examples:
};
};
+ - |
+ #include<dt-bindings/interrupt-controller/arm-gic.h>
+
+ bus {
+ #address-cells = <2>;
+ #size-cells = <2>;
+ mailbox@ff300000 {
+ compatible = "xlnx,versal-ipi-mailbox";
+ interrupts = <GIC_SPI 29 IRQ_TYPE_LEVEL_HIGH>;
+ #address-cells = <2>;
+ #size-cells = <2>;
+ reg = <0x0 0xff300000 0x0 0x1000>,
+ <0x0 0xff990000 0x0 0x1ff>;
+ reg-names = "ctrl", "msg";
+ xlnx,ipi-id = <0>;
+ ranges;
+
+ /* buffered IPI */
+ mailbox@ff340000 {
+ compatible = "xlnx,versal-ipi-dest-mailbox";
+ reg = <0x0 0xff340000 0x0 0x1000>,
+ <0x0 0xff990400 0x0 0x1ff>;
+ reg-names = "ctrl", "msg";
+ #mbox-cells = <1>;
+ xlnx,ipi-id = <4>;
+ };
+
+ /* bufferless IPI */
+ mailbox@ff370000 {
+ compatible = "xlnx,versal-ipi-dest-mailbox";
+ reg = <0x0 0xff370000 0x0 0x1000>;
+ reg-names = "ctrl";
+ #mbox-cells = <1>;
+ xlnx,ipi-id = <7>;
+ };
+ };
+ };
...
--
2.25.1
^ permalink raw reply related [flat|nested] 5+ messages in thread