arm64: dts: ti: k3-j722s-evm: Enable Inter-Processor Communication
The K3 J722S-EVM platform is based on the J722S SoC which has one single-core Arm Cortex-R5F processor in each of the WAKEUP, MCU and MAIN voltage domain, and two C71x DSP subsystems in MAIN voltage domain. The Inter-Processor communication between the A53 cores and these R5F and DSP remote cores is achieved through shared memory and Mailboxes. Thus, add the memory carveouts and enable the mailbox clusters required for communication. Also, The remoteproc firmware like of R5F and DSPs in the MAIN voltage domain use timers. Therefore, change the status of the timer nodes to "reserved" to avoid any clash during booting of remotecores. Usage is described as below: +===================+=============+ | Remoteproc Node | Timer Node | +===================+=============+ | main_r5fss0_core0 | main_timer0 | +-------------------+-------------+ | c7x_0 | main_timer1 | +-------------------+-------------+ | c7x_1 | main_timer2 | +-------------------+-------------+ Signed-off-by: Apurva Nandan <a-nandan@ti.com> Signed-off-by: Beleswar Padhi <b-padhi@ti.com> Reviewed-by: Udit Kumar <u-kumar1@ti.com> Link: https://lore.kernel.org/r/20240830161742.925145-3-b-padhi@ti.com Signed-off-by: Nishanth Menon <nm@ti.com>
This commit is contained in:
committed by
Nishanth Menon
parent
05b1653c4f
commit
5b035d14a5
@@ -52,12 +52,71 @@
|
||||
no-map;
|
||||
};
|
||||
|
||||
wkup_r5fss0_core0_dma_memory_region: r5f-dma-memory@a0000000 {
|
||||
compatible = "shared-dma-pool";
|
||||
reg = <0x00 0xa0000000 0x00 0x100000>;
|
||||
no-map;
|
||||
};
|
||||
|
||||
wkup_r5fss0_core0_memory_region: r5f-memory@a0100000 {
|
||||
compatible = "shared-dma-pool";
|
||||
reg = <0x00 0xa0100000 0x00 0xf00000>;
|
||||
no-map;
|
||||
};
|
||||
|
||||
mcu_r5fss0_core0_dma_memory_region: mcu-r5fss-dma-memory-region@a1000000 {
|
||||
compatible = "shared-dma-pool";
|
||||
reg = <0x00 0xa1000000 0x00 0x100000>;
|
||||
no-map;
|
||||
};
|
||||
|
||||
mcu_r5fss0_core0_memory_region: mcu-r5fss-memory-region@a1100000 {
|
||||
compatible = "shared-dma-pool";
|
||||
reg = <0x00 0xa1100000 0x00 0xf00000>;
|
||||
no-map;
|
||||
};
|
||||
|
||||
main_r5fss0_core0_dma_memory_region: main-r5fss-dma-memory-region@a2000000 {
|
||||
compatible = "shared-dma-pool";
|
||||
reg = <0x00 0xa2000000 0x00 0x100000>;
|
||||
no-map;
|
||||
};
|
||||
|
||||
main_r5fss0_core0_memory_region: main-r5fss-memory-region@a2100000 {
|
||||
compatible = "shared-dma-pool";
|
||||
reg = <0x00 0xa2100000 0x00 0xf00000>;
|
||||
no-map;
|
||||
};
|
||||
|
||||
c7x_0_dma_memory_region: c7x-dma-memory@a3000000 {
|
||||
compatible = "shared-dma-pool";
|
||||
reg = <0x00 0xa3000000 0x00 0x100000>;
|
||||
no-map;
|
||||
};
|
||||
|
||||
c7x_0_memory_region: c7x-memory@a3100000 {
|
||||
compatible = "shared-dma-pool";
|
||||
reg = <0x00 0xa3100000 0x00 0xf00000>;
|
||||
no-map;
|
||||
};
|
||||
|
||||
c7x_1_dma_memory_region: c7x-dma-memory@a4000000 {
|
||||
compatible = "shared-dma-pool";
|
||||
reg = <0x00 0xa4000000 0x00 0x100000>;
|
||||
no-map;
|
||||
};
|
||||
|
||||
c7x_1_memory_region: c7x-memory@a4100000 {
|
||||
compatible = "shared-dma-pool";
|
||||
reg = <0x00 0xa4100000 0x00 0xf00000>;
|
||||
no-map;
|
||||
};
|
||||
|
||||
rtos_ipc_memory_region: ipc-memories@a5000000 {
|
||||
reg = <0x00 0xa5000000 0x00 0x1c00000>;
|
||||
alignment = <0x1000>;
|
||||
no-map;
|
||||
};
|
||||
};
|
||||
|
||||
vmain_pd: regulator-0 {
|
||||
@@ -558,6 +617,104 @@
|
||||
bootph-all;
|
||||
};
|
||||
|
||||
&mailbox0_cluster0 {
|
||||
status = "okay";
|
||||
|
||||
mbox_wkup_r5_0: mbox-wkup-r5-0 {
|
||||
ti,mbox-rx = <0 0 0>;
|
||||
ti,mbox-tx = <1 0 0>;
|
||||
};
|
||||
};
|
||||
|
||||
&mailbox0_cluster1 {
|
||||
status = "okay";
|
||||
|
||||
mbox_mcu_r5_0: mbox-mcu-r5-0 {
|
||||
ti,mbox-rx = <0 0 0>;
|
||||
ti,mbox-tx = <1 0 0>;
|
||||
};
|
||||
};
|
||||
|
||||
&mailbox0_cluster2 {
|
||||
status = "okay";
|
||||
|
||||
mbox_c7x_0: mbox-c7x-0 {
|
||||
ti,mbox-rx = <0 0 0>;
|
||||
ti,mbox-tx = <1 0 0>;
|
||||
};
|
||||
};
|
||||
|
||||
&mailbox0_cluster3 {
|
||||
status = "okay";
|
||||
|
||||
mbox_main_r5_0: mbox-main-r5-0 {
|
||||
ti,mbox-rx = <0 0 0>;
|
||||
ti,mbox-tx = <1 0 0>;
|
||||
};
|
||||
|
||||
mbox_c7x_1: mbox-c7x-1 {
|
||||
ti,mbox-rx = <2 0 0>;
|
||||
ti,mbox-tx = <3 0 0>;
|
||||
};
|
||||
};
|
||||
|
||||
/* Timers are used by Remoteproc firmware */
|
||||
&main_timer0 {
|
||||
status = "reserved";
|
||||
};
|
||||
|
||||
&main_timer1 {
|
||||
status = "reserved";
|
||||
};
|
||||
|
||||
&main_timer2 {
|
||||
status = "reserved";
|
||||
};
|
||||
|
||||
&wkup_r5fss0 {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&wkup_r5fss0_core0 {
|
||||
mboxes = <&mailbox0_cluster0 &mbox_wkup_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_r5fss0 {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&main_r5fss0_core0 {
|
||||
mboxes = <&mailbox0_cluster3 &mbox_main_r5_0>;
|
||||
memory-region = <&main_r5fss0_core0_dma_memory_region>,
|
||||
<&main_r5fss0_core0_memory_region>;
|
||||
};
|
||||
|
||||
&c7x_0 {
|
||||
mboxes = <&mailbox0_cluster2 &mbox_c7x_0>;
|
||||
memory-region = <&c7x_0_dma_memory_region>,
|
||||
<&c7x_0_memory_region>;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&c7x_1 {
|
||||
mboxes = <&mailbox0_cluster3 &mbox_c7x_1>;
|
||||
memory-region = <&c7x_1_dma_memory_region>,
|
||||
<&c7x_1_memory_region>;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&serdes_ln_ctrl {
|
||||
idle-states = <J722S_SERDES0_LANE0_USB>,
|
||||
<J722S_SERDES1_LANE0_PCIE0_LANE0>;
|
||||
|
||||
Reference in New Issue
Block a user