Message ID | 20250206235200.3128163-6-jm@ti.com (mailing list archive) |
---|---|
State | New |
Headers | show |
Series | Add R5F and C7xv device nodes | expand |
On 2/6/25 5:51 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 v3: > - No change > --- > arch/arm64/boot/dts/ti/k3-am62a7-sk.dts | 90 +++++++++++++++++++++++-- > 1 file changed, 84 insertions(+), 6 deletions(-) > > diff --git a/arch/arm64/boot/dts/ti/k3-am62a7-sk.dts b/arch/arm64/boot/dts/ti/k3-am62a7-sk.dts > index a6f0d87a50d8a..eaffbab093cc1 100644 > --- a/arch/arm64/boot/dts/ti/k3-am62a7-sk.dts > +++ b/arch/arm64/boot/dts/ti/k3-am62a7-sk.dts > @@ -49,6 +49,42 @@ linux,cma { > linux,cma-default; > }; > > + 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 0xf00000>; > + 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 0xf00000>; > + 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 0x1e00000>; > + no-map; > + }; > + > secure_tfa_ddr: tfa@9e780000 { > reg = <0x00 0x9e780000 0x00 0x80000>; > alignment = <0x1000>; > @@ -60,12 +96,6 @@ secure_ddr: optee@9e800000 { > alignment = <0x1000>; > no-map; > }; > - > - wkup_r5fss0_core0_memory_region: r5f-dma-memory@9c900000 { > - compatible = "shared-dma-pool"; > - reg = <0x00 0x9c900000 0x00 0x01e00000>; > - no-map; > - }; > }; > > opp-table { > @@ -737,3 +767,51 @@ dpi1_out: endpoint { > }; > }; > }; > + > +&mailbox0_cluster0 { Odd, these mailboxes should have been disabled by default as they are incomplete without this extra board-level info below. I'll have to fix that later. For now, could you add status = "okay"; here. That way they are already here and I don't have to modify this DT file later (which could cause a conflict if I do it this cycle). Andrew > + 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"; > +};
Hi Andrew, On 2/7/25 9:56 AM, Andrew Davis wrote: > On 2/6/25 5:51 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 v3: >> - No change >> --- >> arch/arm64/boot/dts/ti/k3-am62a7-sk.dts | 90 +++++++++++++++++++++++-- >> 1 file changed, 84 insertions(+), 6 deletions(-) >> >> diff --git a/arch/arm64/boot/dts/ti/k3-am62a7-sk.dts >> b/arch/arm64/boot/dts/ti/k3-am62a7-sk.dts >> index a6f0d87a50d8a..eaffbab093cc1 100644 >> --- a/arch/arm64/boot/dts/ti/k3-am62a7-sk.dts >> +++ b/arch/arm64/boot/dts/ti/k3-am62a7-sk.dts >> @@ -49,6 +49,42 @@ linux,cma { >> linux,cma-default; >> }; >> + 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 0xf00000>; >> + 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 0xf00000>; >> + 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 0x1e00000>; >> + no-map; >> + }; >> + >> secure_tfa_ddr: tfa@9e780000 { >> reg = <0x00 0x9e780000 0x00 0x80000>; >> alignment = <0x1000>; >> @@ -60,12 +96,6 @@ secure_ddr: optee@9e800000 { >> alignment = <0x1000>; >> no-map; >> }; >> - >> - wkup_r5fss0_core0_memory_region: r5f-dma-memory@9c900000 { >> - compatible = "shared-dma-pool"; >> - reg = <0x00 0x9c900000 0x00 0x01e00000>; >> - no-map; >> - }; >> }; >> opp-table { >> @@ -737,3 +767,51 @@ dpi1_out: endpoint { >> }; >> }; >> }; >> + >> +&mailbox0_cluster0 { > > Odd, these mailboxes should have been disabled by default as > they are incomplete without this extra board-level info below. > > I'll have to fix that later. For now, could you add > status = "okay"; here. That way they are already here and > I don't have to modify this DT file later (which could > cause a conflict if I do it this cycle). Sure will do. ~ Judith > > Andrew > >> + 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"; >> +};
diff --git a/arch/arm64/boot/dts/ti/k3-am62a7-sk.dts b/arch/arm64/boot/dts/ti/k3-am62a7-sk.dts index a6f0d87a50d8a..eaffbab093cc1 100644 --- a/arch/arm64/boot/dts/ti/k3-am62a7-sk.dts +++ b/arch/arm64/boot/dts/ti/k3-am62a7-sk.dts @@ -49,6 +49,42 @@ linux,cma { linux,cma-default; }; + 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 0xf00000>; + 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 0xf00000>; + 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 0x1e00000>; + no-map; + }; + secure_tfa_ddr: tfa@9e780000 { reg = <0x00 0x9e780000 0x00 0x80000>; alignment = <0x1000>; @@ -60,12 +96,6 @@ secure_ddr: optee@9e800000 { alignment = <0x1000>; no-map; }; - - wkup_r5fss0_core0_memory_region: r5f-dma-memory@9c900000 { - compatible = "shared-dma-pool"; - reg = <0x00 0x9c900000 0x00 0x01e00000>; - 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"; +};