* [PATCH v2 0/9] Add R5F and C7xv device nodes
@ 2025-01-31 21:46 Judith Mendez
2025-01-31 21:46 ` [PATCH v2 1/9] arm64: dts: ti: k3-am62-wakeup: Add wakeup r5f node Judith Mendez
` (8 more replies)
0 siblings, 9 replies; 14+ messages in thread
From: Judith Mendez @ 2025-01-31 21:46 UTC (permalink / raw)
To: Nishanth Menon, Vignesh Raghavendra
Cc: Rob Herring, Krzysztof Kozlowski, Conor Dooley, linux-arm-kernel,
devicetree, linux-kernel, Andrew Davis, Hari Nagalla,
Judith Mendez
For am62x and am62ax devices, this patch series adds device nodes
for the R5F subsystem and C7xv DSP subsystem found in their
respective voltage domain, based on the device TRMs [0][1].
This patch series also includes patches for enabling IPC for am62x,
am62ax, and am62px by reserving memory and binding the mailbox
assignments for each remote core.
Also reserve main_rti4 and main_timer2 for the C7x DSP as per
firmware requirements.
Changes since v1:
- add patches 5-9 to enable ipc and complete device nodes
- disable each device node in the voltage domain files and
enable at the board level file
- fix firmware names
[0] https://www.ti.com/lit/pdf/spruj16
[1] https://www.ti.com/lit/pdf/spruiv7
Devarsh Thakkar (3):
arm64: dts: ti: k3-am62a-wakeup: Add R5F device node
arm64: dts: ti: k3-am62a7-sk: Enable ipc with remote processors
arm64: dts: ti: k3-am62p5-sk: Enable ipc with remote processors
Hari Nagalla (5):
arm64: dts: ti: k3-am62-wakeup: Add wakeup r5f node
arm64: dts: ti: k3-am62a-mcu: Add R5F remote proc node
arm64: dts: ti: k3-am62x-sk-common: Enable ipc with remote processors
arm64: dts: ti: k3-am62a7-sk: Reserve main_timer2 for C7x DSP
arm64: dts: ti: k3-am62a7-sk: Reserve main_rti4 for C7x DSP
Jai Luthra (1):
arm64: dts: ti: k3-am62a-main: Add C7xv device node
arch/arm64/boot/dts/ti/k3-am62-wakeup.dtsi | 25 ++++++
arch/arm64/boot/dts/ti/k3-am62a-main.dtsi | 12 +++
arch/arm64/boot/dts/ti/k3-am62a-mcu.dtsi | 38 ++++++++
arch/arm64/boot/dts/ti/k3-am62a-wakeup.dtsi | 25 ++++++
arch/arm64/boot/dts/ti/k3-am62a7-sk.dts | 88 +++++++++++++++++++
arch/arm64/boot/dts/ti/k3-am62p5-sk.dts | 50 +++++++++--
.../arm64/boot/dts/ti/k3-am62x-sk-common.dtsi | 32 +++++--
7 files changed, 259 insertions(+), 11 deletions(-)
--
2.48.0
^ permalink raw reply [flat|nested] 14+ messages in thread
* [PATCH v2 1/9] arm64: dts: ti: k3-am62-wakeup: Add wakeup r5f node
2025-01-31 21:46 [PATCH v2 0/9] Add R5F and C7xv device nodes Judith Mendez
@ 2025-01-31 21:46 ` Judith Mendez
2025-01-31 23:40 ` Andrew Davis
2025-01-31 21:46 ` [PATCH v2 2/9] arm64: dts: ti: k3-am62a-mcu: Add R5F remote proc node Judith Mendez
` (7 subsequent siblings)
8 siblings, 1 reply; 14+ messages in thread
From: Judith Mendez @ 2025-01-31 21:46 UTC (permalink / raw)
To: Nishanth Menon, Vignesh Raghavendra
Cc: Rob Herring, Krzysztof Kozlowski, Conor Dooley, linux-arm-kernel,
devicetree, linux-kernel, Andrew Davis, Hari Nagalla,
Judith Mendez
From: Hari Nagalla <hnagalla@ti.com>
AM62 SoC devices have a single core R5F processor in wakeup domain.
The R5F processor in wakeup domain is used as a device manager
for the SoC.
Signed-off-by: Devarsh Thakkar <devarsht@ti.com>
Signed-off-by: Hari Nagalla <hnagalla@ti.com>
Signed-off-by: Judith Mendez <jm@ti.com>
---
Changes since v1:
- disable each device node in the voltage domain files and
enable at the board level file
- fix firmware names
---
arch/arm64/boot/dts/ti/k3-am62-wakeup.dtsi | 25 ++++++++++++++++++++++
1 file changed, 25 insertions(+)
diff --git a/arch/arm64/boot/dts/ti/k3-am62-wakeup.dtsi b/arch/arm64/boot/dts/ti/k3-am62-wakeup.dtsi
index 9b8a1f85aa15c..12b1520974ade 100644
--- a/arch/arm64/boot/dts/ti/k3-am62-wakeup.dtsi
+++ b/arch/arm64/boot/dts/ti/k3-am62-wakeup.dtsi
@@ -106,6 +106,31 @@ wkup_rti0: watchdog@2b000000 {
status = "reserved";
};
+ wkup_r5fss0: r5fss@78000000 {
+ compatible = "ti,am62-r5fss";
+ #address-cells = <1>;
+ #size-cells = <1>;
+ ranges = <0x78000000 0x00 0x78000000 0x8000>,
+ <0x78100000 0x00 0x78100000 0x8000>;
+ power-domains = <&k3_pds 119 TI_SCI_PD_EXCLUSIVE>;
+ status = "disabled";
+
+ wkup_r5fss0_core0: r5f@78000000 {
+ compatible = "ti,am62-r5f";
+ reg = <0x78000000 0x00008000>,
+ <0x78100000 0x00008000>;
+ reg-names = "atcm", "btcm";
+ ti,sci = <&dmsc>;
+ ti,sci-dev-id = <121>;
+ ti,sci-proc-ids = <0x01 0xff>;
+ resets = <&k3_reset 121 1>;
+ firmware-name = "am62-wkup-r5f0_0-fw";
+ ti,atcm-enable = <1>;
+ ti,btcm-enable = <1>;
+ ti,loczrama = <1>;
+ };
+ };
+
wkup_vtm0: temperature-sensor@b00000 {
compatible = "ti,j7200-vtm";
reg = <0x00 0xb00000 0x00 0x400>,
--
2.48.0
^ permalink raw reply related [flat|nested] 14+ messages in thread
* [PATCH v2 2/9] arm64: dts: ti: k3-am62a-mcu: Add R5F remote proc node
2025-01-31 21:46 [PATCH v2 0/9] Add R5F and C7xv device nodes Judith Mendez
2025-01-31 21:46 ` [PATCH v2 1/9] arm64: dts: ti: k3-am62-wakeup: Add wakeup r5f node Judith Mendez
@ 2025-01-31 21:46 ` Judith Mendez
2025-01-31 21:46 ` [PATCH v2 3/9] arm64: dts: ti: k3-am62a-wakeup: Add R5F device node Judith Mendez
` (6 subsequent siblings)
8 siblings, 0 replies; 14+ messages in thread
From: Judith Mendez @ 2025-01-31 21:46 UTC (permalink / raw)
To: Nishanth Menon, Vignesh Raghavendra
Cc: Rob Herring, Krzysztof Kozlowski, Conor Dooley, linux-arm-kernel,
devicetree, linux-kernel, Andrew Davis, Hari Nagalla,
Judith Mendez
From: Hari Nagalla <hnagalla@ti.com>
AM62A SoCs have a single R5F core in the MCU voltage domain. The MCU
domain also has a 512KB sram memory, the R5F core can use for
applications needing fast memory access.
Signed-off-by: Hari Nagalla <hnagalla@ti.com>
Signed-off-by: Judith Mendez <jm@ti.com>
---
Changes since v1:
- disable each device node in the voltage domain files and
enable at the board level file
- fix firmware names
---
arch/arm64/boot/dts/ti/k3-am62a-mcu.dtsi | 38 ++++++++++++++++++++++++
1 file changed, 38 insertions(+)
diff --git a/arch/arm64/boot/dts/ti/k3-am62a-mcu.dtsi b/arch/arm64/boot/dts/ti/k3-am62a-mcu.dtsi
index 0469c766b769e..da708a0c48674 100644
--- a/arch/arm64/boot/dts/ti/k3-am62a-mcu.dtsi
+++ b/arch/arm64/boot/dts/ti/k3-am62a-mcu.dtsi
@@ -6,6 +6,18 @@
*/
&cbass_mcu {
+ mcu_ram: sram@79100000 {
+ compatible = "mmio-sram";
+ reg = <0x00 0x79100000 0x00 0x80000>;
+ ranges = <0x00 0x00 0x79100000 0x80000>;
+ #address-cells = <1>;
+ #size-cells = <1>;
+
+ mcu1-sram@0 {
+ reg = <0x0 0x80000>;
+ };
+ };
+
mcu_pmx0: pinctrl@4084000 {
compatible = "pinctrl-single";
reg = <0x00 0x04084000 0x00 0x88>;
@@ -175,4 +187,30 @@ mcu_mcan1: can@4e18000 {
bosch,mram-cfg = <0x0 128 64 64 64 64 32 32>;
status = "disabled";
};
+
+ mcu_r5fss0: r5fss@79000000 {
+ compatible = "ti,am62-r5fss";
+ #address-cells = <1>;
+ #size-cells = <1>;
+ ranges = <0x79000000 0x00 0x79000000 0x8000>,
+ <0x79020000 0x00 0x79020000 0x8000>;
+ power-domains = <&k3_pds 7 TI_SCI_PD_EXCLUSIVE>;
+ status = "disabled";
+
+ mcu_r5fss0_core0: r5f@79000000 {
+ compatible = "ti,am62-r5f";
+ reg = <0x79000000 0x00008000>,
+ <0x79020000 0x00008000>;
+ reg-names = "atcm", "btcm";
+ ti,sci = <&dmsc>;
+ ti,sci-dev-id = <9>;
+ ti,sci-proc-ids = <0x03 0xff>;
+ resets = <&k3_reset 9 1>;
+ firmware-name = "am62a-mcu-r5f0_0-fw";
+ ti,atcm-enable = <0>;
+ ti,btcm-enable = <1>;
+ ti,loczrama = <0>;
+ sram = <&mcu_ram>;
+ };
+ };
};
--
2.48.0
^ permalink raw reply related [flat|nested] 14+ messages in thread
* [PATCH v2 3/9] arm64: dts: ti: k3-am62a-wakeup: Add R5F device node
2025-01-31 21:46 [PATCH v2 0/9] Add R5F and C7xv device nodes Judith Mendez
2025-01-31 21:46 ` [PATCH v2 1/9] arm64: dts: ti: k3-am62-wakeup: Add wakeup r5f node Judith Mendez
2025-01-31 21:46 ` [PATCH v2 2/9] arm64: dts: ti: k3-am62a-mcu: Add R5F remote proc node Judith Mendez
@ 2025-01-31 21:46 ` Judith Mendez
2025-01-31 21:46 ` [PATCH v2 4/9] arm64: dts: ti: k3-am62a-main: Add C7xv " Judith Mendez
` (5 subsequent siblings)
8 siblings, 0 replies; 14+ messages in thread
From: Judith Mendez @ 2025-01-31 21:46 UTC (permalink / raw)
To: Nishanth Menon, Vignesh Raghavendra
Cc: Rob Herring, Krzysztof Kozlowski, Conor Dooley, linux-arm-kernel,
devicetree, linux-kernel, Andrew Davis, Hari Nagalla,
Judith Mendez
From: Devarsh Thakkar <devarsht@ti.com>
AM62A SoCs have a single R5F core in wakeup domain. This core is
also used as a device manager for the SoC.
Signed-off-by: Devarsh Thakkar <devarsht@ti.com>
Signed-off-by: Hari Nagalla <hnagalla@ti.com>
Signed-off-by: Judith Mendez <jm@ti.com>
---
Changes since v1:
- disable each device node in the voltage domain files and
enable at the board level file
- fix firmware names
---
arch/arm64/boot/dts/ti/k3-am62a-wakeup.dtsi | 25 +++++++++++++++++++++
1 file changed, 25 insertions(+)
diff --git a/arch/arm64/boot/dts/ti/k3-am62a-wakeup.dtsi b/arch/arm64/boot/dts/ti/k3-am62a-wakeup.dtsi
index b2c8f53517438..059ef1918898e 100644
--- a/arch/arm64/boot/dts/ti/k3-am62a-wakeup.dtsi
+++ b/arch/arm64/boot/dts/ti/k3-am62a-wakeup.dtsi
@@ -103,6 +103,31 @@ wkup_rti0: watchdog@2b000000 {
status = "reserved";
};
+ wkup_r5fss0: r5fss@78000000 {
+ compatible = "ti,am62-r5fss";
+ #address-cells = <1>;
+ #size-cells = <1>;
+ ranges = <0x78000000 0x00 0x78000000 0x8000>,
+ <0x78100000 0x00 0x78100000 0x8000>;
+ power-domains = <&k3_pds 119 TI_SCI_PD_EXCLUSIVE>;
+ status = "disabled";
+
+ wkup_r5fss0_core0: r5f@78000000 {
+ compatible = "ti,am62-r5f";
+ reg = <0x78000000 0x00008000>,
+ <0x78100000 0x00008000>;
+ reg-names = "atcm", "btcm";
+ ti,sci = <&dmsc>;
+ ti,sci-dev-id = <121>;
+ ti,sci-proc-ids = <0x01 0xff>;
+ resets = <&k3_reset 121 1>;
+ firmware-name = "am62a-wkup-r5f0_0-fw";
+ ti,atcm-enable = <1>;
+ ti,btcm-enable = <1>;
+ ti,loczrama = <1>;
+ };
+ };
+
wkup_vtm0: temperature-sensor@b00000 {
compatible = "ti,j7200-vtm";
reg = <0x00 0xb00000 0x00 0x400>,
--
2.48.0
^ permalink raw reply related [flat|nested] 14+ messages in thread
* [PATCH v2 4/9] arm64: dts: ti: k3-am62a-main: Add C7xv device node
2025-01-31 21:46 [PATCH v2 0/9] Add R5F and C7xv device nodes Judith Mendez
` (2 preceding siblings ...)
2025-01-31 21:46 ` [PATCH v2 3/9] arm64: dts: ti: k3-am62a-wakeup: Add R5F device node Judith Mendez
@ 2025-01-31 21:46 ` Judith Mendez
2025-01-31 21:46 ` [PATCH v2 5/9] arm64: dts: ti: k3-am62a7-sk: Enable ipc with remote processors Judith Mendez
` (4 subsequent siblings)
8 siblings, 0 replies; 14+ messages in thread
From: Judith Mendez @ 2025-01-31 21:46 UTC (permalink / raw)
To: Nishanth Menon, Vignesh Raghavendra
Cc: Rob Herring, Krzysztof Kozlowski, Conor Dooley, linux-arm-kernel,
devicetree, linux-kernel, Andrew Davis, Hari Nagalla,
Judith Mendez
From: Jai Luthra <j-luthra@ti.com>
AM62A SoCs have a C7xv DSP subsystem with Analytics engine capability.
This subsystem is intended for deep learning purposes. Define the
device node for C7xv DSP.
Signed-off-by: Jai Luthra <j-luthra@ti.com>
Signed-off-by: Hari Nagalla <hnagalla@ti.com>
Signed-off-by: Judith Mendez <jm@ti.com>
---
Changes since v1:
- disable each device node in the voltage domain files and
enable at the board level file
- fix firmware names
---
arch/arm64/boot/dts/ti/k3-am62a-main.dtsi | 12 ++++++++++++
1 file changed, 12 insertions(+)
diff --git a/arch/arm64/boot/dts/ti/k3-am62a-main.dtsi b/arch/arm64/boot/dts/ti/k3-am62a-main.dtsi
index a1daba7b1fad5..f6ebc4eabaf14 100644
--- a/arch/arm64/boot/dts/ti/k3-am62a-main.dtsi
+++ b/arch/arm64/boot/dts/ti/k3-am62a-main.dtsi
@@ -1123,6 +1123,18 @@ vpu: video-codec@30210000 {
power-domains = <&k3_pds 204 TI_SCI_PD_EXCLUSIVE>;
};
+ c7x_0: dsp@7e000000 {
+ compatible = "ti,am62a-c7xv-dsp";
+ reg = <0x00 0x7e000000 0x00 0x00100000>;
+ reg-names = "l2sram";
+ ti,sci = <&dmsc>;
+ ti,sci-dev-id = <208>;
+ ti,sci-proc-ids = <0x04 0xff>;
+ resets = <&k3_reset 208 1>;
+ firmware-name = "am62a-c71_0-fw";
+ status = "disabled";
+ };
+
e5010: jpeg-encoder@fd20000 {
compatible = "ti,am62a-jpeg-enc", "img,e5010-jpeg-enc";
reg = <0x00 0xfd20000 0x00 0x100>,
--
2.48.0
^ permalink raw reply related [flat|nested] 14+ messages in thread
* [PATCH v2 5/9] arm64: dts: ti: k3-am62a7-sk: Enable ipc with remote processors
2025-01-31 21:46 [PATCH v2 0/9] Add R5F and C7xv device nodes Judith Mendez
` (3 preceding siblings ...)
2025-01-31 21:46 ` [PATCH v2 4/9] arm64: dts: ti: k3-am62a-main: Add C7xv " Judith Mendez
@ 2025-01-31 21:46 ` Judith Mendez
2025-02-03 22:53 ` Andrew Davis
2025-01-31 21:46 ` [PATCH v2 6/9] arm64: dts: ti: k3-am62p5-sk: " Judith Mendez
` (3 subsequent siblings)
8 siblings, 1 reply; 14+ messages in thread
From: Judith Mendez @ 2025-01-31 21:46 UTC (permalink / raw)
To: Nishanth Menon, Vignesh Raghavendra
Cc: Rob Herring, Krzysztof Kozlowski, Conor Dooley, linux-arm-kernel,
devicetree, linux-kernel, Andrew Davis, Hari Nagalla,
Judith Mendez
From: Devarsh Thakkar <devarsht@ti.com>
For each remote proc, reserve memory for IPC and bind the mailbox
assignments. Two memory regions are reserved for each remote processor.
The first region of 1MB of memory is used for Vring shared buffers
and the second region is used as external memory to the remote processor
for the resource table and for tracebuffer allocations.
Signed-off-by: Devarsh Thakkar <devarsht@ti.com>
Signed-off-by: Hari Nagalla <hnagalla@ti.com>
Signed-off-by: Judith Mendez <jm@ti.com>
---
Changes since v1:
- add patches 5-9 to enable ipc and complete device nodes
---
arch/arm64/boot/dts/ti/k3-am62a7-sk.dts | 78 +++++++++++++++++++++++++
1 file changed, 78 insertions(+)
diff --git a/arch/arm64/boot/dts/ti/k3-am62a7-sk.dts b/arch/arm64/boot/dts/ti/k3-am62a7-sk.dts
index a6f0d87a50d8a..6f4b037537fec 100644
--- a/arch/arm64/boot/dts/ti/k3-am62a7-sk.dts
+++ b/arch/arm64/boot/dts/ti/k3-am62a7-sk.dts
@@ -61,11 +61,41 @@ secure_ddr: optee@9e800000 {
no-map;
};
+ wkup_r5fss0_core0_dma_memory_region: r5f-dma-memory@9c800000 {
+ compatible = "shared-dma-pool";
+ reg = <0x00 0x9c800000 0x00 0x100000>;
+ no-map;
+ };
+
wkup_r5fss0_core0_memory_region: r5f-dma-memory@9c900000 {
compatible = "shared-dma-pool";
reg = <0x00 0x9c900000 0x00 0x01e00000>;
no-map;
};
+
+ mcu_r5fss0_core0_dma_memory_region: r5f-dma-memory@9b800000 {
+ compatible = "shared-dma-pool";
+ reg = <0x00 0x9b800000 0x00 0x100000>;
+ no-map;
+ };
+
+ mcu_r5fss0_core0_memory_region: r5f-dma-memory@9b900000 {
+ compatible = "shared-dma-pool";
+ reg = <0x00 0x9b900000 0x00 0x0f00000>;
+ no-map;
+ };
+
+ c7x_0_dma_memory_region: c7x-dma-memory@99800000 {
+ compatible = "shared-dma-pool";
+ reg = <0x00 0x99800000 0x00 0x100000>;
+ no-map;
+ };
+
+ c7x_0_memory_region: c7x-memory@99900000 {
+ compatible = "shared-dma-pool";
+ reg = <0x00 0x99900000 0x00 0x01f00000>;
+ no-map;
+ };
};
opp-table {
@@ -737,3 +767,51 @@ dpi1_out: endpoint {
};
};
};
+
+&mailbox0_cluster0 {
+ mbox_r5_0: mbox-r5-0 {
+ ti,mbox-rx = <0 0 0>;
+ ti,mbox-tx = <1 0 0>;
+ };
+};
+
+&mailbox0_cluster1 {
+ mbox_c7x_0: mbox-c7x-0 {
+ ti,mbox-rx = <0 0 0>;
+ ti,mbox-tx = <1 0 0>;
+ };
+};
+
+&mailbox0_cluster2 {
+ mbox_mcu_r5_0: mbox-mcu-r5-0 {
+ ti,mbox-rx = <0 0 0>;
+ ti,mbox-tx = <1 0 0>;
+ };
+};
+
+&wkup_r5fss0 {
+ status = "okay";
+};
+
+&wkup_r5fss0_core0 {
+ mboxes = <&mailbox0_cluster0>, <&mbox_r5_0>;
+ memory-region = <&wkup_r5fss0_core0_dma_memory_region>,
+ <&wkup_r5fss0_core0_memory_region>;
+};
+
+&mcu_r5fss0 {
+ status = "okay";
+};
+
+&mcu_r5fss0_core0 {
+ mboxes = <&mailbox0_cluster2>, <&mbox_mcu_r5_0>;
+ memory-region = <&mcu_r5fss0_core0_dma_memory_region>,
+ <&mcu_r5fss0_core0_memory_region>;
+};
+
+&c7x_0 {
+ mboxes = <&mailbox0_cluster1>, <&mbox_c7x_0>;
+ memory-region = <&c7x_0_dma_memory_region>,
+ <&c7x_0_memory_region>;
+ status = "okay";
+};
--
2.48.0
^ permalink raw reply related [flat|nested] 14+ messages in thread
* [PATCH v2 6/9] arm64: dts: ti: k3-am62p5-sk: Enable ipc with remote processors
2025-01-31 21:46 [PATCH v2 0/9] Add R5F and C7xv device nodes Judith Mendez
` (4 preceding siblings ...)
2025-01-31 21:46 ` [PATCH v2 5/9] arm64: dts: ti: k3-am62a7-sk: Enable ipc with remote processors Judith Mendez
@ 2025-01-31 21:46 ` Judith Mendez
2025-01-31 21:46 ` [PATCH v2 7/9] arm64: dts: ti: k3-am62x-sk-common: " Judith Mendez
` (2 subsequent siblings)
8 siblings, 0 replies; 14+ messages in thread
From: Judith Mendez @ 2025-01-31 21:46 UTC (permalink / raw)
To: Nishanth Menon, Vignesh Raghavendra
Cc: Rob Herring, Krzysztof Kozlowski, Conor Dooley, linux-arm-kernel,
devicetree, linux-kernel, Andrew Davis, Hari Nagalla,
Judith Mendez
From: Devarsh Thakkar <devarsht@ti.com>
For each remote proc, reserve memory for IPC and bind the mailbox
assignments. Two memory regions are reserved for each remote processor.
The first region of 1MB of memory is used for Vring shared buffers
and the second region is used as external memory to the remote processor
for the resource table and for tracebuffer allocations.
Signed-off-by: Devarsh Thakkar <devarsht@ti.com>
Signed-off-by: Hari Nagalla <hnagalla@ti.com>
Signed-off-by: Judith Mendez <jm@ti.com>
---
Changes since v1:
- add patches 5-9 to enable ipc and complete device nodes
---
arch/arm64/boot/dts/ti/k3-am62p5-sk.dts | 50 ++++++++++++++++++++++---
1 file changed, 44 insertions(+), 6 deletions(-)
diff --git a/arch/arm64/boot/dts/ti/k3-am62p5-sk.dts b/arch/arm64/boot/dts/ti/k3-am62p5-sk.dts
index ad71d2f27f538..63e3ce983453e 100644
--- a/arch/arm64/boot/dts/ti/k3-am62p5-sk.dts
+++ b/arch/arm64/boot/dts/ti/k3-am62p5-sk.dts
@@ -48,6 +48,30 @@ reserved-memory {
#size-cells = <2>;
ranges;
+ wkup_r5fss0_core0_dma_memory_region: r5f-dma-memory@9c800000 {
+ compatible = "shared-dma-pool";
+ reg = <0x00 0x9c800000 0x00 0x00100000>;
+ no-map;
+ };
+
+ wkup_r5fss0_core0_memory_region: r5f-memory@9c900000 {
+ compatible = "shared-dma-pool";
+ reg = <0x00 0x9c900000 0x00 0x01e00000>;
+ no-map;
+ };
+
+ mcu_r5fss0_core0_dma_memory_region: mcu-r5fss-dma-memory-region@9b800000 {
+ compatible = "shared-dma-pool";
+ reg = <0x00 0x9b800000 0x00 0x00100000>;
+ no-map;
+ };
+
+ mcu_r5fss0_core0_memory_region: mcu-r5fss-memory-region@9b900000 {
+ compatible = "shared-dma-pool";
+ reg = <0x00 0x9b900000 0x00 0x00f00000>;
+ no-map;
+ };
+
secure_tfa_ddr: tfa@9e780000 {
reg = <0x00 0x9e780000 0x00 0x80000>;
no-map;
@@ -57,12 +81,6 @@ secure_ddr: optee@9e800000 {
reg = <0x00 0x9e800000 0x00 0x01800000>; /* for OP-TEE */
no-map;
};
-
- wkup_r5fss0_core0_memory_region: r5f-dma-memory@9c900000 {
- compatible = "shared-dma-pool";
- reg = <0x00 0x9c900000 0x00 0x01e00000>;
- no-map;
- };
};
vmain_pd: regulator-0 {
@@ -638,6 +656,26 @@ mbox_mcu_r5_0: mbox-mcu-r5-0 {
};
};
+&wkup_r5fss0 {
+ status = "okay";
+};
+
+&wkup_r5fss0_core0 {
+ mboxes = <&mailbox0_cluster0 &mbox_r5_0>;
+ memory-region = <&wkup_r5fss0_core0_dma_memory_region>,
+ <&wkup_r5fss0_core0_memory_region>;
+};
+
+&mcu_r5fss0 {
+ status = "okay";
+};
+
+&mcu_r5fss0_core0 {
+ mboxes = <&mailbox0_cluster1 &mbox_mcu_r5_0>;
+ memory-region = <&mcu_r5fss0_core0_dma_memory_region>,
+ <&mcu_r5fss0_core0_memory_region>;
+};
+
&main_uart0 {
pinctrl-names = "default";
pinctrl-0 = <&main_uart0_pins_default>;
--
2.48.0
^ permalink raw reply related [flat|nested] 14+ messages in thread
* [PATCH v2 7/9] arm64: dts: ti: k3-am62x-sk-common: Enable ipc with remote processors
2025-01-31 21:46 [PATCH v2 0/9] Add R5F and C7xv device nodes Judith Mendez
` (5 preceding siblings ...)
2025-01-31 21:46 ` [PATCH v2 6/9] arm64: dts: ti: k3-am62p5-sk: " Judith Mendez
@ 2025-01-31 21:46 ` Judith Mendez
2025-01-31 21:46 ` [PATCH v2 8/9] arm64: dts: ti: k3-am62a7-sk: Reserve main_timer2 for C7x DSP Judith Mendez
2025-01-31 21:46 ` [PATCH v2 9/9] arm64: dts: ti: k3-am62a7-sk: Reserve main_rti4 " Judith Mendez
8 siblings, 0 replies; 14+ messages in thread
From: Judith Mendez @ 2025-01-31 21:46 UTC (permalink / raw)
To: Nishanth Menon, Vignesh Raghavendra
Cc: Rob Herring, Krzysztof Kozlowski, Conor Dooley, linux-arm-kernel,
devicetree, linux-kernel, Andrew Davis, Hari Nagalla,
Judith Mendez
From: Hari Nagalla <hnagalla@ti.com>
For each remote proc, reserve memory for IPC and bind the mailbox
assignments. Two memory regions are reserved for each remote processor.
The first region of 1MB of memory is used for Vring shared buffers
and the second region is used as external memory to the remote processor
for the resource table and for tracebuffer allocations.
Signed-off-by: Devarsh Thakkar <devarsht@ti.com>
Signed-off-by: Hari Nagalla <hnagalla@ti.com>
Signed-off-by: Judith Mendez <jm@ti.com>
---
Changes since v1:
- add patches 5-9 to enable ipc and complete device nodes
---
.../arm64/boot/dts/ti/k3-am62x-sk-common.dtsi | 32 ++++++++++++++++---
1 file changed, 27 insertions(+), 5 deletions(-)
diff --git a/arch/arm64/boot/dts/ti/k3-am62x-sk-common.dtsi b/arch/arm64/boot/dts/ti/k3-am62x-sk-common.dtsi
index 2f129e8cd5b9f..649b177cc19f2 100644
--- a/arch/arm64/boot/dts/ti/k3-am62x-sk-common.dtsi
+++ b/arch/arm64/boot/dts/ti/k3-am62x-sk-common.dtsi
@@ -48,6 +48,18 @@ ramoops@9ca00000 {
pmsg-size = <0x8000>;
};
+ wkup_r5fss0_core0_dma_memory_region: r5f-dma-memory@9da00000 {
+ compatible = "shared-dma-pool";
+ reg = <0x00 0x9da00000 0x00 0x00100000>;
+ no-map;
+ };
+
+ wkup_r5fss0_core0_memory_region: r5f-memory@9db00000 {
+ compatible = "shared-dma-pool";
+ reg = <0x00 0x9db00000 0x00 0x00c00000>;
+ no-map;
+ };
+
/* global cma region */
linux,cma {
compatible = "shared-dma-pool";
@@ -80,11 +92,6 @@ secure_ddr: optee@9e800000 {
no-map;
};
- wkup_r5fss0_core0_dma_memory_region: r5f-dma-memory@9db00000 {
- compatible = "shared-dma-pool";
- reg = <0x00 0x9db00000 0x00 0xc00000>;
- no-map;
- };
};
leds {
@@ -478,6 +485,11 @@ mbox_m4_0: mbox-m4-0 {
ti,mbox-rx = <0 0 0>;
ti,mbox-tx = <1 0 0>;
};
+
+ mbox_r5_0: mbox-r5-0 {
+ ti,mbox-rx = <2 0 0>;
+ ti,mbox-tx = <3 0 0>;
+ };
};
&mcu_m4fss {
@@ -487,6 +499,16 @@ &mcu_m4fss {
status = "okay";
};
+&wkup_r5fss0 {
+ status = "okay";
+};
+
+&wkup_r5fss0_core0 {
+ mboxes = <&mailbox0_cluster0 &mbox_r5_0>;
+ memory-region = <&wkup_r5fss0_core0_dma_memory_region>,
+ <&wkup_r5fss0_core0_memory_region>;
+};
+
&usbss0 {
bootph-all;
status = "okay";
--
2.48.0
^ permalink raw reply related [flat|nested] 14+ messages in thread
* [PATCH v2 8/9] arm64: dts: ti: k3-am62a7-sk: Reserve main_timer2 for C7x DSP
2025-01-31 21:46 [PATCH v2 0/9] Add R5F and C7xv device nodes Judith Mendez
` (6 preceding siblings ...)
2025-01-31 21:46 ` [PATCH v2 7/9] arm64: dts: ti: k3-am62x-sk-common: " Judith Mendez
@ 2025-01-31 21:46 ` Judith Mendez
2025-01-31 21:46 ` [PATCH v2 9/9] arm64: dts: ti: k3-am62a7-sk: Reserve main_rti4 " Judith Mendez
8 siblings, 0 replies; 14+ messages in thread
From: Judith Mendez @ 2025-01-31 21:46 UTC (permalink / raw)
To: Nishanth Menon, Vignesh Raghavendra
Cc: Rob Herring, Krzysztof Kozlowski, Conor Dooley, linux-arm-kernel,
devicetree, linux-kernel, Andrew Davis, Hari Nagalla,
Judith Mendez
From: Hari Nagalla <hnagalla@ti.com>
C7x DSP uses main_timer2, so mark it as reserved in linux DT.
Signed-off-by: Hari Nagalla <hnagalla@ti.com>
Signed-off-by: Judith Mendez <jm@ti.com>
---
Changes since v1:
- add patch
---
arch/arm64/boot/dts/ti/k3-am62a7-sk.dts | 5 +++++
1 file changed, 5 insertions(+)
diff --git a/arch/arm64/boot/dts/ti/k3-am62a7-sk.dts b/arch/arm64/boot/dts/ti/k3-am62a7-sk.dts
index 6f4b037537fec..350e1612b57e9 100644
--- a/arch/arm64/boot/dts/ti/k3-am62a7-sk.dts
+++ b/arch/arm64/boot/dts/ti/k3-am62a7-sk.dts
@@ -679,6 +679,11 @@ &main_uart1 {
status = "reserved";
};
+/* main_timer2 is used by C7x DSP */
+&main_timer2 {
+ status = "reserved";
+};
+
&usbss0 {
status = "okay";
ti,vbus-divider;
--
2.48.0
^ permalink raw reply related [flat|nested] 14+ messages in thread
* [PATCH v2 9/9] arm64: dts: ti: k3-am62a7-sk: Reserve main_rti4 for C7x DSP
2025-01-31 21:46 [PATCH v2 0/9] Add R5F and C7xv device nodes Judith Mendez
` (7 preceding siblings ...)
2025-01-31 21:46 ` [PATCH v2 8/9] arm64: dts: ti: k3-am62a7-sk: Reserve main_timer2 for C7x DSP Judith Mendez
@ 2025-01-31 21:46 ` Judith Mendez
8 siblings, 0 replies; 14+ messages in thread
From: Judith Mendez @ 2025-01-31 21:46 UTC (permalink / raw)
To: Nishanth Menon, Vignesh Raghavendra
Cc: Rob Herring, Krzysztof Kozlowski, Conor Dooley, linux-arm-kernel,
devicetree, linux-kernel, Andrew Davis, Hari Nagalla,
Judith Mendez
From: Hari Nagalla <hnagalla@ti.com>
The main rti4 watchdog timer is used by the C7x DSP, so reserve the
timer in the linux device tree.
Signed-off-by: Hari Nagalla <hnagalla@ti.com>
Signed-off-by: Judith Mendez <jm@ti.com>
---
Changes since v1:
- add patch
---
arch/arm64/boot/dts/ti/k3-am62a7-sk.dts | 5 +++++
1 file changed, 5 insertions(+)
diff --git a/arch/arm64/boot/dts/ti/k3-am62a7-sk.dts b/arch/arm64/boot/dts/ti/k3-am62a7-sk.dts
index 350e1612b57e9..ad9157994e95b 100644
--- a/arch/arm64/boot/dts/ti/k3-am62a7-sk.dts
+++ b/arch/arm64/boot/dts/ti/k3-am62a7-sk.dts
@@ -820,3 +820,8 @@ &c7x_0 {
<&c7x_0_memory_region>;
status = "okay";
};
+
+/* main_rti4 is used by C7x DSP */
+&main_rti4 {
+ status = "reserved";
+};
--
2.48.0
^ permalink raw reply related [flat|nested] 14+ messages in thread
* Re: [PATCH v2 1/9] arm64: dts: ti: k3-am62-wakeup: Add wakeup r5f node
2025-01-31 21:46 ` [PATCH v2 1/9] arm64: dts: ti: k3-am62-wakeup: Add wakeup r5f node Judith Mendez
@ 2025-01-31 23:40 ` Andrew Davis
2025-02-03 22:12 ` Judith Mendez
0 siblings, 1 reply; 14+ messages in thread
From: Andrew Davis @ 2025-01-31 23:40 UTC (permalink / raw)
To: Judith Mendez, Nishanth Menon, Vignesh Raghavendra
Cc: Rob Herring, Krzysztof Kozlowski, Conor Dooley, linux-arm-kernel,
devicetree, linux-kernel, Hari Nagalla
On 1/31/25 3:46 PM, Judith Mendez wrote:
> From: Hari Nagalla <hnagalla@ti.com>
>
Subject should capitalize R5F
> AM62 SoC devices have a single core R5F processor in wakeup domain.
> The R5F processor in wakeup domain is used as a device manager
> for the SoC.
>
> Signed-off-by: Devarsh Thakkar <devarsht@ti.com>
> Signed-off-by: Hari Nagalla <hnagalla@ti.com>
> Signed-off-by: Judith Mendez <jm@ti.com>
> ---
> Changes since v1:
> - disable each device node in the voltage domain files and
> enable at the board level file
> - fix firmware names
> ---
> arch/arm64/boot/dts/ti/k3-am62-wakeup.dtsi | 25 ++++++++++++++++++++++
> 1 file changed, 25 insertions(+)
>
> diff --git a/arch/arm64/boot/dts/ti/k3-am62-wakeup.dtsi b/arch/arm64/boot/dts/ti/k3-am62-wakeup.dtsi
> index 9b8a1f85aa15c..12b1520974ade 100644
> --- a/arch/arm64/boot/dts/ti/k3-am62-wakeup.dtsi
> +++ b/arch/arm64/boot/dts/ti/k3-am62-wakeup.dtsi
> @@ -106,6 +106,31 @@ wkup_rti0: watchdog@2b000000 {
> status = "reserved";
> };
>
> + wkup_r5fss0: r5fss@78000000 {
> + compatible = "ti,am62-r5fss";
> + #address-cells = <1>;
> + #size-cells = <1>;
> + ranges = <0x78000000 0x00 0x78000000 0x8000>,
> + <0x78100000 0x00 0x78100000 0x8000>;
Odd alignment, looks like you have an extra tab on the above line
Andrew
> + power-domains = <&k3_pds 119 TI_SCI_PD_EXCLUSIVE>;
> + status = "disabled";
> +
> + wkup_r5fss0_core0: r5f@78000000 {
> + compatible = "ti,am62-r5f";
> + reg = <0x78000000 0x00008000>,
> + <0x78100000 0x00008000>;
> + reg-names = "atcm", "btcm";
> + ti,sci = <&dmsc>;
> + ti,sci-dev-id = <121>;
> + ti,sci-proc-ids = <0x01 0xff>;
> + resets = <&k3_reset 121 1>;
> + firmware-name = "am62-wkup-r5f0_0-fw";
> + ti,atcm-enable = <1>;
> + ti,btcm-enable = <1>;
> + ti,loczrama = <1>;
> + };
> + };
> +
> wkup_vtm0: temperature-sensor@b00000 {
> compatible = "ti,j7200-vtm";
> reg = <0x00 0xb00000 0x00 0x400>,
^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: [PATCH v2 1/9] arm64: dts: ti: k3-am62-wakeup: Add wakeup r5f node
2025-01-31 23:40 ` Andrew Davis
@ 2025-02-03 22:12 ` Judith Mendez
0 siblings, 0 replies; 14+ messages in thread
From: Judith Mendez @ 2025-02-03 22:12 UTC (permalink / raw)
To: Andrew Davis, devicetree
Cc: Rob Herring, Krzysztof Kozlowski, Conor Dooley, linux-arm-kernel,
linux-kernel, Hari Nagalla, Nishanth Menon, Vignesh Raghavendra
Hi Andrew,
On 1/31/25 5:40 PM, Andrew Davis wrote:
> On 1/31/25 3:46 PM, Judith Mendez wrote:
>> From: Hari Nagalla <hnagalla@ti.com>
>>
>
> Subject should capitalize R5F
Will fix in v3, thanks
>
>> AM62 SoC devices have a single core R5F processor in wakeup domain.
>> The R5F processor in wakeup domain is used as a device manager
>> for the SoC.
>>
>> Signed-off-by: Devarsh Thakkar <devarsht@ti.com>
>> Signed-off-by: Hari Nagalla <hnagalla@ti.com>
>> Signed-off-by: Judith Mendez <jm@ti.com>
>> ---
>> Changes since v1:
>> - disable each device node in the voltage domain files and
>> enable at the board level file
>> - fix firmware names
>> ---
>> arch/arm64/boot/dts/ti/k3-am62-wakeup.dtsi | 25 ++++++++++++++++++++++
>> 1 file changed, 25 insertions(+)
>>
>> diff --git a/arch/arm64/boot/dts/ti/k3-am62-wakeup.dtsi
>> b/arch/arm64/boot/dts/ti/k3-am62-wakeup.dtsi
>> index 9b8a1f85aa15c..12b1520974ade 100644
>> --- a/arch/arm64/boot/dts/ti/k3-am62-wakeup.dtsi
>> +++ b/arch/arm64/boot/dts/ti/k3-am62-wakeup.dtsi
>> @@ -106,6 +106,31 @@ wkup_rti0: watchdog@2b000000 {
>> status = "reserved";
>> };
>> + wkup_r5fss0: r5fss@78000000 {
>> + compatible = "ti,am62-r5fss";
>> + #address-cells = <1>;
>> + #size-cells = <1>;
>> + ranges = <0x78000000 0x00 0x78000000 0x8000>,
>> + <0x78100000 0x00 0x78100000 0x8000>;
>
> Odd alignment, looks like you have an extra tab on the above line
Hmm missed this, thanks will fix.
~ Judith
>
> Andrew
>
>> + power-domains = <&k3_pds 119 TI_SCI_PD_EXCLUSIVE>;
>> + status = "disabled";
>> +
>> + wkup_r5fss0_core0: r5f@78000000 {
>> + compatible = "ti,am62-r5f";
>> + reg = <0x78000000 0x00008000>,
>> + <0x78100000 0x00008000>;
>> + reg-names = "atcm", "btcm";
>> + ti,sci = <&dmsc>;
>> + ti,sci-dev-id = <121>;
>> + ti,sci-proc-ids = <0x01 0xff>;
>> + resets = <&k3_reset 121 1>;
>> + firmware-name = "am62-wkup-r5f0_0-fw";
>> + ti,atcm-enable = <1>;
>> + ti,btcm-enable = <1>;
>> + ti,loczrama = <1>;
>> + };
>> + };
>> +
>> wkup_vtm0: temperature-sensor@b00000 {
>> compatible = "ti,j7200-vtm";
>> reg = <0x00 0xb00000 0x00 0x400>,
^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: [PATCH v2 5/9] arm64: dts: ti: k3-am62a7-sk: Enable ipc with remote processors
2025-01-31 21:46 ` [PATCH v2 5/9] arm64: dts: ti: k3-am62a7-sk: Enable ipc with remote processors Judith Mendez
@ 2025-02-03 22:53 ` Andrew Davis
2025-02-03 23:06 ` Judith Mendez
0 siblings, 1 reply; 14+ messages in thread
From: Andrew Davis @ 2025-02-03 22:53 UTC (permalink / raw)
To: Judith Mendez, Nishanth Menon, Vignesh Raghavendra
Cc: Rob Herring, Krzysztof Kozlowski, Conor Dooley, linux-arm-kernel,
devicetree, linux-kernel, Hari Nagalla
On 1/31/25 3:46 PM, Judith Mendez wrote:
> From: Devarsh Thakkar <devarsht@ti.com>
>
> For each remote proc, reserve memory for IPC and bind the mailbox
> assignments. Two memory regions are reserved for each remote processor.
> The first region of 1MB of memory is used for Vring shared buffers
> and the second region is used as external memory to the remote processor
> for the resource table and for tracebuffer allocations.
>
> Signed-off-by: Devarsh Thakkar <devarsht@ti.com>
> Signed-off-by: Hari Nagalla <hnagalla@ti.com>
> Signed-off-by: Judith Mendez <jm@ti.com>
> ---
> Changes since v1:
> - add patches 5-9 to enable ipc and complete device nodes
> ---
> arch/arm64/boot/dts/ti/k3-am62a7-sk.dts | 78 +++++++++++++++++++++++++
> 1 file changed, 78 insertions(+)
>
> diff --git a/arch/arm64/boot/dts/ti/k3-am62a7-sk.dts b/arch/arm64/boot/dts/ti/k3-am62a7-sk.dts
> index a6f0d87a50d8a..6f4b037537fec 100644
> --- a/arch/arm64/boot/dts/ti/k3-am62a7-sk.dts
> +++ b/arch/arm64/boot/dts/ti/k3-am62a7-sk.dts
> @@ -61,11 +61,41 @@ secure_ddr: optee@9e800000 {
> no-map;
> };
>
> + wkup_r5fss0_core0_dma_memory_region: r5f-dma-memory@9c800000 {
> + compatible = "shared-dma-pool";
> + reg = <0x00 0x9c800000 0x00 0x100000>;
> + no-map;
> + };
> +
> wkup_r5fss0_core0_memory_region: r5f-dma-memory@9c900000 {
> compatible = "shared-dma-pool";
> reg = <0x00 0x9c900000 0x00 0x01e00000>;
> no-map;
> };
> +
> + mcu_r5fss0_core0_dma_memory_region: r5f-dma-memory@9b800000 {
> + compatible = "shared-dma-pool";
> + reg = <0x00 0x9b800000 0x00 0x100000>;
> + no-map;
> + };
> +
> + mcu_r5fss0_core0_memory_region: r5f-dma-memory@9b900000 {
> + compatible = "shared-dma-pool";
> + reg = <0x00 0x9b900000 0x00 0x0f00000>;
There is a leading 0 here and in a couple other places.
s/0x0f00000/0xf00000
> + no-map;
> + };
> +
> + c7x_0_dma_memory_region: c7x-dma-memory@99800000 {
> + compatible = "shared-dma-pool";
> + reg = <0x00 0x99800000 0x00 0x100000>;
> + no-map;
> + };
> +
> + c7x_0_memory_region: c7x-memory@99900000 {
> + compatible = "shared-dma-pool";
> + reg = <0x00 0x99900000 0x00 0x01f00000>;
0x01f00000 ? What is this size, all other firmware in all other
K3 use 0xf00000 (16MB), that should be enough for any sane firmware.
If some firmware needs more it is probably doing something hacky
like leaving space for buffer passing internally. That space should
be provided from a shared dma-buf pool or similar mechanism.
Make this 0xf00000 and fix the firmware.
Andrew
> + no-map;
> + };
> };
>
> opp-table {
> @@ -737,3 +767,51 @@ dpi1_out: endpoint {
> };
> };
> };
> +
> +&mailbox0_cluster0 {
> + mbox_r5_0: mbox-r5-0 {
> + ti,mbox-rx = <0 0 0>;
> + ti,mbox-tx = <1 0 0>;
> + };
> +};
> +
> +&mailbox0_cluster1 {
> + mbox_c7x_0: mbox-c7x-0 {
> + ti,mbox-rx = <0 0 0>;
> + ti,mbox-tx = <1 0 0>;
> + };
> +};
> +
> +&mailbox0_cluster2 {
> + mbox_mcu_r5_0: mbox-mcu-r5-0 {
> + ti,mbox-rx = <0 0 0>;
> + ti,mbox-tx = <1 0 0>;
> + };
> +};
> +
> +&wkup_r5fss0 {
> + status = "okay";
> +};
> +
> +&wkup_r5fss0_core0 {
> + mboxes = <&mailbox0_cluster0>, <&mbox_r5_0>;
> + memory-region = <&wkup_r5fss0_core0_dma_memory_region>,
> + <&wkup_r5fss0_core0_memory_region>;
> +};
> +
> +&mcu_r5fss0 {
> + status = "okay";
> +};
> +
> +&mcu_r5fss0_core0 {
> + mboxes = <&mailbox0_cluster2>, <&mbox_mcu_r5_0>;
> + memory-region = <&mcu_r5fss0_core0_dma_memory_region>,
> + <&mcu_r5fss0_core0_memory_region>;
> +};
> +
> +&c7x_0 {
> + mboxes = <&mailbox0_cluster1>, <&mbox_c7x_0>;
> + memory-region = <&c7x_0_dma_memory_region>,
> + <&c7x_0_memory_region>;
> + status = "okay";
> +};
^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: [PATCH v2 5/9] arm64: dts: ti: k3-am62a7-sk: Enable ipc with remote processors
2025-02-03 22:53 ` Andrew Davis
@ 2025-02-03 23:06 ` Judith Mendez
0 siblings, 0 replies; 14+ messages in thread
From: Judith Mendez @ 2025-02-03 23:06 UTC (permalink / raw)
To: Andrew Davis, Nishanth Menon, Vignesh Raghavendra
Cc: Rob Herring, Krzysztof Kozlowski, Conor Dooley, linux-arm-kernel,
devicetree, linux-kernel, Hari Nagalla
Hi Andrew,
On 2/3/25 4:53 PM, Andrew Davis wrote:
> On 1/31/25 3:46 PM, Judith Mendez wrote:
>> From: Devarsh Thakkar <devarsht@ti.com>
>>
>> For each remote proc, reserve memory for IPC and bind the mailbox
>> assignments. Two memory regions are reserved for each remote processor.
>> The first region of 1MB of memory is used for Vring shared buffers
>> and the second region is used as external memory to the remote processor
>> for the resource table and for tracebuffer allocations.
>>
>> Signed-off-by: Devarsh Thakkar <devarsht@ti.com>
>> Signed-off-by: Hari Nagalla <hnagalla@ti.com>
>> Signed-off-by: Judith Mendez <jm@ti.com>
>> ---
>> Changes since v1:
>> - add patches 5-9 to enable ipc and complete device nodes
>> ---
>> arch/arm64/boot/dts/ti/k3-am62a7-sk.dts | 78 +++++++++++++++++++++++++
>> 1 file changed, 78 insertions(+)
>>
>> diff --git a/arch/arm64/boot/dts/ti/k3-am62a7-sk.dts
>> b/arch/arm64/boot/dts/ti/k3-am62a7-sk.dts
>> index a6f0d87a50d8a..6f4b037537fec 100644
>> --- a/arch/arm64/boot/dts/ti/k3-am62a7-sk.dts
>> +++ b/arch/arm64/boot/dts/ti/k3-am62a7-sk.dts
>> @@ -61,11 +61,41 @@ secure_ddr: optee@9e800000 {
>> no-map;
>> };
>> + wkup_r5fss0_core0_dma_memory_region: r5f-dma-memory@9c800000 {
>> + compatible = "shared-dma-pool";
>> + reg = <0x00 0x9c800000 0x00 0x100000>;
>> + no-map;
>> + };
>> +
>> wkup_r5fss0_core0_memory_region: r5f-dma-memory@9c900000 {
>> compatible = "shared-dma-pool";
>> reg = <0x00 0x9c900000 0x00 0x01e00000>;
>> no-map;
>> };
>> +
>> + mcu_r5fss0_core0_dma_memory_region: r5f-dma-memory@9b800000 {
>> + compatible = "shared-dma-pool";
>> + reg = <0x00 0x9b800000 0x00 0x100000>;
>> + no-map;
>> + };
>> +
>> + mcu_r5fss0_core0_memory_region: r5f-dma-memory@9b900000 {
>> + compatible = "shared-dma-pool";
>> + reg = <0x00 0x9b900000 0x00 0x0f00000>;
>
> There is a leading 0 here and in a couple other places.
>
> s/0x0f00000/0xf00000
Ok, will check all other memory carveouts and fix.
>
>> + no-map;
>> + };
>> +
>> + c7x_0_dma_memory_region: c7x-dma-memory@99800000 {
>> + compatible = "shared-dma-pool";
>> + reg = <0x00 0x99800000 0x00 0x100000>;
>> + no-map;
>> + };
>> +
>> + c7x_0_memory_region: c7x-memory@99900000 {
>> + compatible = "shared-dma-pool";
>> + reg = <0x00 0x99900000 0x00 0x01f00000>;
>
> 0x01f00000 ? What is this size, all other firmware in all other
> K3 use 0xf00000 (16MB), that should be enough for any sane firmware.
> If some firmware needs more it is probably doing something hacky
> like leaving space for buffer passing internally. That space should
> be provided from a shared dma-buf pool or similar mechanism.
That is fine, will change to 16MB. (:
~ Judith
>
> Make this 0xf00000 and fix the firmware.
>
> Andrew
>
>> + no-map;
>> + };
>> };
>> opp-table {
>> @@ -737,3 +767,51 @@ dpi1_out: endpoint {
>> };
>> };
>> };
>> +
>> +&mailbox0_cluster0 {
>> + mbox_r5_0: mbox-r5-0 {
>> + ti,mbox-rx = <0 0 0>;
>> + ti,mbox-tx = <1 0 0>;
>> + };
>> +};
>> +
>> +&mailbox0_cluster1 {
>> + mbox_c7x_0: mbox-c7x-0 {
>> + ti,mbox-rx = <0 0 0>;
>> + ti,mbox-tx = <1 0 0>;
>> + };
>> +};
>> +
>> +&mailbox0_cluster2 {
>> + mbox_mcu_r5_0: mbox-mcu-r5-0 {
>> + ti,mbox-rx = <0 0 0>;
>> + ti,mbox-tx = <1 0 0>;
>> + };
>> +};
>> +
>> +&wkup_r5fss0 {
>> + status = "okay";
>> +};
>> +
>> +&wkup_r5fss0_core0 {
>> + mboxes = <&mailbox0_cluster0>, <&mbox_r5_0>;
>> + memory-region = <&wkup_r5fss0_core0_dma_memory_region>,
>> + <&wkup_r5fss0_core0_memory_region>;
>> +};
>> +
>> +&mcu_r5fss0 {
>> + status = "okay";
>> +};
>> +
>> +&mcu_r5fss0_core0 {
>> + mboxes = <&mailbox0_cluster2>, <&mbox_mcu_r5_0>;
>> + memory-region = <&mcu_r5fss0_core0_dma_memory_region>,
>> + <&mcu_r5fss0_core0_memory_region>;
>> +};
>> +
>> +&c7x_0 {
>> + mboxes = <&mailbox0_cluster1>, <&mbox_c7x_0>;
>> + memory-region = <&c7x_0_dma_memory_region>,
>> + <&c7x_0_memory_region>;
>> + status = "okay";
>> +};
^ permalink raw reply [flat|nested] 14+ messages in thread
end of thread, other threads:[~2025-02-03 23:07 UTC | newest]
Thread overview: 14+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-01-31 21:46 [PATCH v2 0/9] Add R5F and C7xv device nodes Judith Mendez
2025-01-31 21:46 ` [PATCH v2 1/9] arm64: dts: ti: k3-am62-wakeup: Add wakeup r5f node Judith Mendez
2025-01-31 23:40 ` Andrew Davis
2025-02-03 22:12 ` Judith Mendez
2025-01-31 21:46 ` [PATCH v2 2/9] arm64: dts: ti: k3-am62a-mcu: Add R5F remote proc node Judith Mendez
2025-01-31 21:46 ` [PATCH v2 3/9] arm64: dts: ti: k3-am62a-wakeup: Add R5F device node Judith Mendez
2025-01-31 21:46 ` [PATCH v2 4/9] arm64: dts: ti: k3-am62a-main: Add C7xv " Judith Mendez
2025-01-31 21:46 ` [PATCH v2 5/9] arm64: dts: ti: k3-am62a7-sk: Enable ipc with remote processors Judith Mendez
2025-02-03 22:53 ` Andrew Davis
2025-02-03 23:06 ` Judith Mendez
2025-01-31 21:46 ` [PATCH v2 6/9] arm64: dts: ti: k3-am62p5-sk: " Judith Mendez
2025-01-31 21:46 ` [PATCH v2 7/9] arm64: dts: ti: k3-am62x-sk-common: " Judith Mendez
2025-01-31 21:46 ` [PATCH v2 8/9] arm64: dts: ti: k3-am62a7-sk: Reserve main_timer2 for C7x DSP Judith Mendez
2025-01-31 21:46 ` [PATCH v2 9/9] arm64: dts: ti: k3-am62a7-sk: Reserve main_rti4 " Judith Mendez
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox