Message ID | 20250210221530.1234009-7-jm@ti.com (mailing list archive) |
---|---|
State | New |
Headers | show |
Series | Add R5F and C7xv device nodes | expand |
On 2/10/25 4:15 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 v4: > - Drop SRAM node for am62px MCU R5fSS0 core0 > --- > 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..9609727d042d3 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; > > + mcu_r5fss0_core0_dma_memory_region: mcu-r5fss-dma-memory-region@9b800000 { > + compatible = "shared-dma-pool"; > + reg = <0x00 0x9b800000 0x00 0x100000>; > + no-map; > + }; > + > + mcu_r5fss0_core0_memory_region: mcu-r5fss-memory-region@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-memory@9c900000 { > + compatible = "shared-dma-pool"; > + reg = <0x00 0x9c900000 0x00 0x1e00000>; 0x1e00000? Yes I know you didn't add this and are just coping it from below, but it is still an issue. I see the same problem for the next patch, the R5F memory size is 0xc00000?? Every remote core gets 15MB (0xf00000), this has been true for all K3, and all cores, DSP, R5F, M4, etc.. You even do it correct for the MCU R5F above, but the WKUP R5F on AM62P and AM62 are just randomly given 30M and 12MB? Andrew > + 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>;
Hi Andrew, On 2/18/25 10:38 AM, Andrew Davis wrote: > On 2/10/25 4:15 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 v4: >> - Drop SRAM node for am62px MCU R5fSS0 core0 >> --- >> 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..9609727d042d3 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; >> + mcu_r5fss0_core0_dma_memory_region: >> mcu-r5fss-dma-memory-region@9b800000 { >> + compatible = "shared-dma-pool"; >> + reg = <0x00 0x9b800000 0x00 0x100000>; >> + no-map; >> + }; >> + >> + mcu_r5fss0_core0_memory_region: >> mcu-r5fss-memory-region@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-memory@9c900000 { >> + compatible = "shared-dma-pool"; >> + reg = <0x00 0x9c900000 0x00 0x1e00000>; > > 0x1e00000? > > Yes I know you didn't add this and are just coping it from below, but it > is still an issue. I see the same problem for the next patch, the R5F > memory > size is 0xc00000?? > > Every remote core gets 15MB (0xf00000), this has been true for all K3, and > all cores, DSP, R5F, M4, etc.. You even do it correct for the MCU R5F > above, > but the WKUP R5F on AM62P and AM62 are just randomly given 30M and 12MB? Not sure why FW requires 30MB here, I have reached out to FW team to investigate this, will respond back here soon. ~ Judith > > Andrew > >> + 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>;
diff --git a/arch/arm64/boot/dts/ti/k3-am62p5-sk.dts b/arch/arm64/boot/dts/ti/k3-am62p5-sk.dts index ad71d2f27f538..9609727d042d3 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; + mcu_r5fss0_core0_dma_memory_region: mcu-r5fss-dma-memory-region@9b800000 { + compatible = "shared-dma-pool"; + reg = <0x00 0x9b800000 0x00 0x100000>; + no-map; + }; + + mcu_r5fss0_core0_memory_region: mcu-r5fss-memory-region@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-memory@9c900000 { + compatible = "shared-dma-pool"; + reg = <0x00 0x9c900000 0x00 0x1e00000>; + 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>;