From: Tanmay Shah <tanmay.shah@amd.com>
To: <andersson@kernel.org>, <mathieu.poirier@linaro.org>,
<robh+dt@kernel.org>, <krzysztof.kozlowski+dt@linaro.org>,
<conor+dt@kernel.org>, <michal.simek@amd.com>,
<ben.levinsky@amd.com>, <tanmay.shah@amd.com>
Cc: <linux-remoteproc@vger.kernel.org>, <devicetree@vger.kernel.org>,
<linux-arm-kernel@lists.infradead.org>,
<linux-kernel@vger.kernel.org>
Subject: [PATCH 2/3] dt-bindings: remoteproc: add Versal-NET platform
Date: Fri, 15 Mar 2024 14:15:32 -0700 [thread overview]
Message-ID: <20240315211533.1996543-3-tanmay.shah@amd.com> (raw)
In-Reply-To: <20240315211533.1996543-1-tanmay.shah@amd.com>
AMD-Xilinx Versal-NET platform is successor of Versal platform. It
contains multiple clusters of cortex-R52 real-time processing units.
Each cluster contains two cores of cortex-R52 processors. Each cluster
can be configured in lockstep mode or split mode.
Each R52 core is assigned 128KB of TCM memory. ATCM memory is 64KB, BTCM
and CTCM memoreis are 32KB each. Each TCM memory has its own dedicated
power-domain that needs to be requested before using it.
Signed-off-by: Tanmay Shah <tanmay.shah@amd.com>
---
.../remoteproc/xlnx,zynqmp-r5fss.yaml | 220 +++++++++++++++---
1 file changed, 184 insertions(+), 36 deletions(-)
diff --git a/Documentation/devicetree/bindings/remoteproc/xlnx,zynqmp-r5fss.yaml b/Documentation/devicetree/bindings/remoteproc/xlnx,zynqmp-r5fss.yaml
index 711da0272250..55654ee02eef 100644
--- a/Documentation/devicetree/bindings/remoteproc/xlnx,zynqmp-r5fss.yaml
+++ b/Documentation/devicetree/bindings/remoteproc/xlnx,zynqmp-r5fss.yaml
@@ -18,7 +18,9 @@ description: |
properties:
compatible:
- const: xlnx,zynqmp-r5fss
+ enum:
+ - xlnx,zynqmp-r5fss
+ - xlnx,versal-net-r52fss
"#address-cells":
const: 2
@@ -64,7 +66,9 @@ patternProperties:
properties:
compatible:
- const: xlnx,zynqmp-r5f
+ enum:
+ - xlnx,zynqmp-r5f
+ - xlnx,versal-net-r52f
reg:
minItems: 1
@@ -135,9 +139,11 @@ required:
allOf:
- if:
properties:
- xlnx,cluster-mode:
- enum:
- - 1
+ compatible:
+ contains:
+ enum:
+ - xlnx,versal-net-r52fss
+
then:
patternProperties:
"^r5f@[0-9a-f]+$":
@@ -149,16 +155,14 @@ allOf:
items:
- description: ATCM internal memory
- description: BTCM internal memory
- - description: extra ATCM memory in lockstep mode
- - description: extra BTCM memory in lockstep mode
+ - description: CTCM internal memory
reg-names:
minItems: 1
items:
- - const: atcm0
- - const: btcm0
- - const: atcm1
- - const: btcm1
+ - const: atcm
+ - const: btcm
+ - const: ctcm
power-domains:
minItems: 2
@@ -166,33 +170,70 @@ allOf:
- description: RPU core power domain
- description: ATCM power domain
- description: BTCM power domain
- - description: second ATCM power domain
- - description: second BTCM power domain
+ - description: CTCM power domain
else:
- patternProperties:
- "^r5f@[0-9a-f]+$":
- type: object
-
- properties:
- reg:
- minItems: 1
- items:
- - description: ATCM internal memory
- - description: BTCM internal memory
-
- reg-names:
- minItems: 1
- items:
- - const: atcm0
- - const: btcm0
-
- power-domains:
- minItems: 2
- items:
- - description: RPU core power domain
- - description: ATCM power domain
- - description: BTCM power domain
+ allOf:
+ - if:
+ properties:
+ xlnx,cluster-mode:
+ enum:
+ - 1
+ then:
+ patternProperties:
+ "^r5f@[0-9a-f]+$":
+ type: object
+
+ properties:
+ reg:
+ minItems: 1
+ items:
+ - description: ATCM internal memory
+ - description: BTCM internal memory
+ - description: extra ATCM memory in lockstep mode
+ - description: extra BTCM memory in lockstep mode
+
+ reg-names:
+ minItems: 1
+ items:
+ - const: atcm0
+ - const: btcm0
+ - const: atcm1
+ - const: btcm1
+
+ power-domains:
+ minItems: 2
+ items:
+ - description: RPU core power domain
+ - description: ATCM power domain
+ - description: BTCM power domain
+ - description: second ATCM power domain
+ - description: second BTCM power domain
+
+ else:
+ patternProperties:
+ "^r5f@[0-9a-f]+$":
+ type: object
+
+ properties:
+ reg:
+ minItems: 1
+ items:
+ - description: ATCM internal memory
+ - description: BTCM internal memory
+
+ reg-names:
+ minItems: 1
+ items:
+ - const: atcm0
+ - const: btcm0
+
+ power-domains:
+ minItems: 2
+ items:
+ - description: RPU core power domain
+ - description: ATCM power domain
+ - description: BTCM power domain
additionalProperties: false
@@ -386,4 +427,111 @@ examples:
};
};
};
+
+ - |
+ // Versal-NET split configuration
+ soc {
+ #address-cells = <2>;
+ #size-cells = <2>;
+
+ remoteproc@eba00000 {
+ compatible = "xlnx,versal-net-r52fss";
+ xlnx,cluster-mode = <0>;
+ #address-cells = <2>;
+ #size-cells = <2>;
+ ranges = <0x0 0x0 0x0 0xeba00000 0x0 0x10000>,
+ <0x0 0x10000 0x0 0xeba10000 0x0 0x8000>,
+ <0x0 0x18000 0x0 0xeba20000 0x0 0x8000>,
+ <0x1 0x0 0x0 0xeba40000 0x0 0x10000>,
+ <0x1 0x10000 0x0 0xeba50000 0x0 0x8000>,
+ <0x1 0x18000 0x0 0xeba60000 0x0 0x8000>;
+ r5f@0 {
+ compatible = "xlnx,versal-net-r52f";
+ reg = <0x0 0x0 0x0 0x10000>,
+ <0x0 0x10000 0x0 0x8000>,
+ <0x0 0x18000 0x0 0x8000>;
+ reg-names = "atcm", "btcm", "ctcm";
+ power-domains = <&versal_net_firmware 0x181100BF>,
+ <&versal_net_firmware 0x183180CB>,
+ <&versal_net_firmware 0x183180CC>,
+ <&versal_net_firmware 0x183180CD>;
+ memory-region = <&rproc_0_fw_image>, <&rpu0vdev0buffer>,
+ <&rpu0vdev0vring0>, <&rpu0vdev0vring1>;
+ mboxes = <&ipi_mailbox_rpu0 0>, <&ipi_mailbox_rpu0 1>;
+ mbox-names = "tx", "rx";
+ };
+
+ r5f@1 {
+ compatible = "xlnx,versal-net-r52f";
+ reg = <0x1 0x0 0x0 0x10000>, <0x1 0x10000 0x0 0x8000>,
+ <0x1 0x18000 0x0 0x8000>;
+ reg-names = "atcm", "btcm", "ctcm";
+ power-domains = <&versal_net_firmware 0x181100C0>,
+ <&versal_net_firmware 0x183180CE>,
+ <&versal_net_firmware 0x183180CF>,
+ <&versal_net_firmware 0x183180D0>;
+ memory-region = <&rproc_1_fw_image>, <&rpu1vdev0buffer>,
+ <&rpu1vdev0vring0>, <&rpu1vdev0vring1>;
+ mboxes = <&ipi_mailbox_rpu1 0>, <&ipi_mailbox_rpu1 1>;
+ mbox-names = "tx", "rx";
+ };
+ };
+ };
+
+ - |
+ // Versal-NET lockstep configuration
+ soc {
+ #address-cells = <2>;
+ #size-cells = <2>;
+
+ remoteproc@eba00000 {
+ compatible = "xlnx,versal-net-r52fss";
+ xlnx,cluster-mode = <1>;
+ #address-cells = <2>;
+ #size-cells = <2>;
+ ranges = <0x0 0x0 0x0 0xeba00000 0x0 0x10000>,
+ <0x0 0x10000 0x0 0xeba10000 0x0 0x8000>,
+ <0x0 0x18000 0x0 0xeba20000 0x0 0x8000>,
+ <0x1 0x0 0x0 0xeba40000 0x0 0x10000>,
+ <0x1 0x10000 0x0 0xeba50000 0x0 0x8000>,
+ <0x1 0x18000 0x0 0xeba60000 0x0 0x8000>;
+
+ r5f@0 {
+ compatible = "xlnx,versal-net-r52f";
+ reg = <0x0 0x0 0x0 0x10000>,
+ <0x0 0x10000 0x0 0x8000>,
+ <0x0 0x18000 0x0 0x8000>;
+
+ reg-names = "atcm", "btcm", "ctcm";
+
+ power-domains = <&versal_net_firmware 0x181100BF>,
+ <&versal_net_firmware 0x183180CB>,
+ <&versal_net_firmware 0x183180CC>,
+ <&versal_net_firmware 0x183180CD>;
+
+ memory-region = <&rproc_0_fw_image>, <&rpu0vdev0buffer>,
+ <&rpu0vdev0vring0>, <&rpu0vdev0vring1>;
+
+ mboxes = <&ipi_mailbox_rpu0 0>, <&ipi_mailbox_rpu0 1>;
+
+ mbox-names = "tx", "rx";
+ };
+
+ r5f@1 {
+ compatible = "xlnx,versal-net-r52f";
+ reg = <0x1 0x0 0x0 0x10000>,
+ <0x1 0x10000 0x0 0x8000>,
+ <0x1 0x18000 0x0 0x8000>;
+ reg-names = "atcm", "btcm", "ctcm";
+ power-domains = <&versal_net_firmware 0x181100C0>,
+ <&versal_net_firmware 0x183180CE>,
+ <&versal_net_firmware 0x183180CF>,
+ <&versal_net_firmware 0x183180D0>;
+ memory-region = <&rproc_1_fw_image>, <&rpu1vdev0buffer>,
+ <&rpu1vdev0vring0>, <&rpu1vdev0vring1>;
+ mboxes = <&ipi_mailbox_rpu1 0>, <&ipi_mailbox_rpu1 1>;
+ mbox-names = "tx", "rx";
+ };
+ };
+ };
...
--
2.25.1
next prev parent reply other threads:[~2024-03-15 21:16 UTC|newest]
Thread overview: 24+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-03-15 21:15 [PATCH 0/3] Add Versal and Versal-NET platform support Tanmay Shah
2024-03-15 21:15 ` [PATCH 1/3] dt-bindings: remoteproc: add Versal " Tanmay Shah
2024-03-17 14:50 ` Conor Dooley
2024-03-17 14:52 ` Conor Dooley
2024-03-19 0:37 ` Tanmay Shah
2024-03-19 5:40 ` Krzysztof Kozlowski
2024-03-17 18:50 ` Krzysztof Kozlowski
2024-03-19 0:39 ` Tanmay Shah
2024-03-15 21:15 ` Tanmay Shah [this message]
2024-03-17 18:53 ` [PATCH 2/3] dt-bindings: remoteproc: add Versal-NET platform Krzysztof Kozlowski
2024-03-19 0:51 ` Tanmay Shah
2024-03-19 5:30 ` Krzysztof Kozlowski
2024-03-19 14:42 ` Tanmay Shah
2024-03-20 7:40 ` Krzysztof Kozlowski
2024-03-20 15:14 ` Tanmay Shah
2024-03-21 7:39 ` Krzysztof Kozlowski
2024-03-21 15:13 ` Tanmay Shah
2024-03-22 5:44 ` Krzysztof Kozlowski
2024-03-22 18:28 ` Tanmay Shah
2024-03-15 21:15 ` [PATCH 3/3] drivers: remoteproc: add Versal and Versal-NET support Tanmay Shah
2024-03-17 18:55 ` Krzysztof Kozlowski
2024-03-19 1:06 ` Tanmay Shah
2024-03-19 5:25 ` Krzysztof Kozlowski
2024-03-19 14:50 ` Tanmay Shah
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20240315211533.1996543-3-tanmay.shah@amd.com \
--to=tanmay.shah@amd.com \
--cc=andersson@kernel.org \
--cc=ben.levinsky@amd.com \
--cc=conor+dt@kernel.org \
--cc=devicetree@vger.kernel.org \
--cc=krzysztof.kozlowski+dt@linaro.org \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-remoteproc@vger.kernel.org \
--cc=mathieu.poirier@linaro.org \
--cc=michal.simek@amd.com \
--cc=robh+dt@kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox