2024-06-07 09:07:17

by Beleswar Padhi

[permalink] [raw]
Subject: [PATCH 0/3] Add Remoteproc Support for TI's J722S SoCs

Hello All,

The K3 J722S SoCs have 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. Thus, Add the DT Nodes and memory carveout
regions to add remoteproc support in J722S SoCs.

Apurva Nandan (2):
arm64: dts: ti: Add R5F and C7x remote processor nodes
arm64: dts: ti: k3-j722s-evm: Add memory carveouts for R5F and C7x

Beleswar Padhi (1):
arm64: dts: ti: k3-j722s-evm: Enable Mailbox clusters

arch/arm64/boot/dts/ti/k3-j722s-evm.dts | 140 ++++++++++++++++++++++++
arch/arm64/boot/dts/ti/k3-j722s.dtsi | 63 +++++++++++
2 files changed, 203 insertions(+)

--
2.34.1



2024-06-07 09:07:55

by Beleswar Padhi

[permalink] [raw]
Subject: [PATCH 2/3] arm64: dts: ti: k3-j722s-evm: Enable Mailbox clusters

The K3 J722S SoCs have 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 main A72 cores and these
R5F and DSP remote cores is achieved through shared memory and
Mailboxes. Thus, enable the Mailbox clusters required for communication.

Signed-off-by: Beleswar Padhi <[email protected]>
---
arch/arm64/boot/dts/ti/k3-j722s-evm.dts | 37 +++++++++++++++++++++++++
1 file changed, 37 insertions(+)

diff --git a/arch/arm64/boot/dts/ti/k3-j722s-evm.dts b/arch/arm64/boot/dts/ti/k3-j722s-evm.dts
index bf3c246d13d1f..a51925deb43b8 100644
--- a/arch/arm64/boot/dts/ti/k3-j722s-evm.dts
+++ b/arch/arm64/boot/dts/ti/k3-j722s-evm.dts
@@ -384,3 +384,40 @@ &sdhci1 {
status = "okay";
bootph-all;
};
+
+&mailbox0_cluster0 {
+ status = "okay";
+ mbox_r5_0: mbox-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>;
+ };
+};
--
2.34.1


2024-06-07 09:12:27

by Beleswar Padhi

[permalink] [raw]
Subject: [PATCH 1/3] arm64: dts: ti: Add R5F and C7x remote processor nodes

From: Apurva Nandan <[email protected]>

The K3 J722S SoCs have 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. Add the DT nodes to support Inter-Processor
Communication.

Signed-off-by: Apurva Nandan <[email protected]>
Signed-off-by: Beleswar Padhi <[email protected]>
---
arch/arm64/boot/dts/ti/k3-j722s.dtsi | 63 ++++++++++++++++++++++++++++
1 file changed, 63 insertions(+)

diff --git a/arch/arm64/boot/dts/ti/k3-j722s.dtsi b/arch/arm64/boot/dts/ti/k3-j722s.dtsi
index c75744edb1433..a894a132f1667 100644
--- a/arch/arm64/boot/dts/ti/k3-j722s.dtsi
+++ b/arch/arm64/boot/dts/ti/k3-j722s.dtsi
@@ -87,3 +87,66 @@ &oc_sram {
reg = <0x00 0x70000000 0x00 0x40000>;
ranges = <0x00 0x00 0x70000000 0x40000>;
};
+
+&cbass_main {
+ main_r5fss0: r5fss@78400000 {
+ compatible = "ti,am62-r5fss";
+ #address-cells = <1>;
+ #size-cells = <1>;
+ ranges = <0x78400000 0x00 0x78400000 0x8000>,
+ <0x78500000 0x00 0x78500000 0x8000>;
+ power-domains = <&k3_pds 261 TI_SCI_PD_EXCLUSIVE>;
+ status = "disabled";
+
+ main_r5fss0_core0: r5f@78400000 {
+ compatible = "ti,am62-r5f";
+ reg = <0x78400000 0x00008000>,
+ <0x78500000 0x00008000>;
+ reg-names = "atcm", "btcm";
+ ti,sci = <&dmsc>;
+ ti,sci-dev-id = <262>;
+ ti,sci-proc-ids = <0x04 0xff>;
+ resets = <&k3_reset 262 1>;
+ firmware-name = "j722s-main-r5f0_0-fw";
+ ti,atcm-enable = <1>;
+ ti,btcm-enable = <1>;
+ ti,loczrama = <1>;
+ };
+ };
+
+ c7x_0: dsp@7e000000 {
+ compatible = "ti,am62a-c7xv-dsp";
+ reg = <0x00 0x7e000000 0x00 0x00200000>;
+ reg-names = "l2sram";
+ ti,sci = <&dmsc>;
+ ti,sci-dev-id = <208>;
+ ti,sci-proc-ids = <0x30 0xff>;
+ resets = <&k3_reset 208 1>;
+ firmware-name = "j722s-c71_0-fw";
+ status = "disabled";
+ };
+
+ c7x_1: dsp@7e200000 {
+ compatible = "ti,am62a-c7xv-dsp";
+ reg = <0x00 0x7e200000 0x00 0x00200000>;
+ reg-names = "l2sram";
+ ti,sci = <&dmsc>;
+ ti,sci-dev-id = <268>;
+ ti,sci-proc-ids = <0x31 0xff>;
+ resets = <&k3_reset 268 1>;
+ firmware-name = "j722s-c71_1-fw";
+ status = "disabled";
+ };
+};
+
+/* MCU domain overrides */
+
+&mcu_r5fss0_core0 {
+ firmware-name = "j722s-mcu-r5f0_0-fw";
+};
+
+/* Wakeup domain overrides */
+
+&wkup_r5fss0_core0 {
+ firmware-name = "j722s-wkup-r5f0_0-fw";
+};
--
2.34.1


2024-06-07 14:13:11

by Andrew Davis

[permalink] [raw]
Subject: Re: [PATCH 1/3] arm64: dts: ti: Add R5F and C7x remote processor nodes

On 6/7/24 4:04 AM, Beleswar Padhi wrote:
> From: Apurva Nandan <[email protected]>
>
> The K3 J722S SoCs have 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. Add the DT nodes to support Inter-Processor
> Communication.
>
> Signed-off-by: Apurva Nandan <[email protected]>
> Signed-off-by: Beleswar Padhi <[email protected]>
> ---
> arch/arm64/boot/dts/ti/k3-j722s.dtsi | 63 ++++++++++++++++++++++++++++
> 1 file changed, 63 insertions(+)
>
> diff --git a/arch/arm64/boot/dts/ti/k3-j722s.dtsi b/arch/arm64/boot/dts/ti/k3-j722s.dtsi
> index c75744edb1433..a894a132f1667 100644
> --- a/arch/arm64/boot/dts/ti/k3-j722s.dtsi
> +++ b/arch/arm64/boot/dts/ti/k3-j722s.dtsi
> @@ -87,3 +87,66 @@ &oc_sram {
> reg = <0x00 0x70000000 0x00 0x40000>;
> ranges = <0x00 0x00 0x70000000 0x40000>;
> };
> +
> +&cbass_main {

There is another series[0] in progress that adds `k3-j722s-main.dtsi` for the J722s
MAIN domain items, these new nodes will belong there.

That does mean there is a dependency on that series, but better than having to move
these nodes over later (and I'm sure Nishanth and Vignesh can sort that out when
taking both these series..)

Andrew

[0]https://lore.kernel.org/linux-arm-kernel/[email protected]/

> + main_r5fss0: r5fss@78400000 {
> + compatible = "ti,am62-r5fss";
> + #address-cells = <1>;
> + #size-cells = <1>;
> + ranges = <0x78400000 0x00 0x78400000 0x8000>,
> + <0x78500000 0x00 0x78500000 0x8000>;
> + power-domains = <&k3_pds 261 TI_SCI_PD_EXCLUSIVE>;
> + status = "disabled";
> +
> + main_r5fss0_core0: r5f@78400000 {
> + compatible = "ti,am62-r5f";
> + reg = <0x78400000 0x00008000>,
> + <0x78500000 0x00008000>;
> + reg-names = "atcm", "btcm";
> + ti,sci = <&dmsc>;
> + ti,sci-dev-id = <262>;
> + ti,sci-proc-ids = <0x04 0xff>;
> + resets = <&k3_reset 262 1>;
> + firmware-name = "j722s-main-r5f0_0-fw";
> + ti,atcm-enable = <1>;
> + ti,btcm-enable = <1>;
> + ti,loczrama = <1>;
> + };
> + };
> +
> + c7x_0: dsp@7e000000 {
> + compatible = "ti,am62a-c7xv-dsp";
> + reg = <0x00 0x7e000000 0x00 0x00200000>;
> + reg-names = "l2sram";
> + ti,sci = <&dmsc>;
> + ti,sci-dev-id = <208>;
> + ti,sci-proc-ids = <0x30 0xff>;
> + resets = <&k3_reset 208 1>;
> + firmware-name = "j722s-c71_0-fw";
> + status = "disabled";
> + };
> +
> + c7x_1: dsp@7e200000 {
> + compatible = "ti,am62a-c7xv-dsp";
> + reg = <0x00 0x7e200000 0x00 0x00200000>;
> + reg-names = "l2sram";
> + ti,sci = <&dmsc>;
> + ti,sci-dev-id = <268>;
> + ti,sci-proc-ids = <0x31 0xff>;
> + resets = <&k3_reset 268 1>;
> + firmware-name = "j722s-c71_1-fw";
> + status = "disabled";
> + };
> +};
> +
> +/* MCU domain overrides */
> +
> +&mcu_r5fss0_core0 {
> + firmware-name = "j722s-mcu-r5f0_0-fw";
> +};
> +
> +/* Wakeup domain overrides */
> +
> +&wkup_r5fss0_core0 {
> + firmware-name = "j722s-wkup-r5f0_0-fw";
> +};

2024-06-07 14:25:17

by Rob Herring (Arm)

[permalink] [raw]
Subject: Re: [PATCH 0/3] Add Remoteproc Support for TI's J722S SoCs


On Fri, 07 Jun 2024 14:34:30 +0530, Beleswar Padhi wrote:
> Hello All,
>
> The K3 J722S SoCs have 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. Thus, Add the DT Nodes and memory carveout
> regions to add remoteproc support in J722S SoCs.
>
> Apurva Nandan (2):
> arm64: dts: ti: Add R5F and C7x remote processor nodes
> arm64: dts: ti: k3-j722s-evm: Add memory carveouts for R5F and C7x
>
> Beleswar Padhi (1):
> arm64: dts: ti: k3-j722s-evm: Enable Mailbox clusters
>
> arch/arm64/boot/dts/ti/k3-j722s-evm.dts | 140 ++++++++++++++++++++++++
> arch/arm64/boot/dts/ti/k3-j722s.dtsi | 63 +++++++++++
> 2 files changed, 203 insertions(+)
>
> --
> 2.34.1
>
>
>


My bot found new DTB warnings on the .dts files added or changed in this
series.

Some warnings may be from an existing SoC .dtsi. Or perhaps the warnings
are fixed by another series. Ultimately, it is up to the platform
maintainer whether these warnings are acceptable or not. No need to reply
unless the platform maintainer has comments.

If you already ran DT checks and didn't see these error(s), then
make sure dt-schema is up to date:

pip3 install dtschema --upgrade


New warnings running 'make CHECK_DTBS=y ti/k3-j722s-evm.dtb' for [email protected]:

arch/arm64/boot/dts/ti/k3-j722s-evm.dtb: dsp@7e000000: reg: [[0, 2113929216, 0, 2097152]] is too short
from schema $id: http://devicetree.org/schemas/remoteproc/ti,k3-dsp-rproc.yaml#
arch/arm64/boot/dts/ti/k3-j722s-evm.dtb: dsp@7e000000: reg-names: ['l2sram'] is too short
from schema $id: http://devicetree.org/schemas/remoteproc/ti,k3-dsp-rproc.yaml#
arch/arm64/boot/dts/ti/k3-j722s-evm.dtb: dsp@7e000000: Unevaluated properties are not allowed ('reg', 'reg-names' were unexpected)
from schema $id: http://devicetree.org/schemas/remoteproc/ti,k3-dsp-rproc.yaml#
arch/arm64/boot/dts/ti/k3-j722s-evm.dtb: dsp@7e200000: reg: [[0, 2116026368, 0, 2097152]] is too short
from schema $id: http://devicetree.org/schemas/remoteproc/ti,k3-dsp-rproc.yaml#
arch/arm64/boot/dts/ti/k3-j722s-evm.dtb: dsp@7e200000: reg-names: ['l2sram'] is too short
from schema $id: http://devicetree.org/schemas/remoteproc/ti,k3-dsp-rproc.yaml#
arch/arm64/boot/dts/ti/k3-j722s-evm.dtb: dsp@7e200000: Unevaluated properties are not allowed ('reg', 'reg-names' were unexpected)
from schema $id: http://devicetree.org/schemas/remoteproc/ti,k3-dsp-rproc.yaml#






2024-06-08 12:59:50

by kernel test robot

[permalink] [raw]
Subject: Re: [PATCH 1/3] arm64: dts: ti: Add R5F and C7x remote processor nodes

Hi Beleswar,

kernel test robot noticed the following build warnings:

[auto build test WARNING on robh/for-next]
[also build test WARNING on linus/master v6.10-rc2 next-20240607]
[If your patch is applied to the wrong git tree, kindly drop us a note.
And when submitting patch, we suggest to use '--base' as documented in
https://git-scm.com/docs/git-format-patch#_base_tree_information]

url: https://github.com/intel-lab-lkp/linux/commits/Beleswar-Padhi/arm64-dts-ti-Add-R5F-and-C7x-remote-processor-nodes/20240607-170843
base: https://git.kernel.org/pub/scm/linux/kernel/git/robh/linux.git for-next
patch link: https://lore.kernel.org/r/20240607090433.488454-2-b-padhi%40ti.com
patch subject: [PATCH 1/3] arm64: dts: ti: Add R5F and C7x remote processor nodes
compiler: clang version 19.0.0git (https://github.com/llvm/llvm-project d7d2d4f53fc79b4b58e8d8d08151b577c3699d4a)
dtschema version: 2024.6.dev1+g833054f
reproduce: (https://download.01.org/0day-ci/archive/20240608/[email protected]/reproduce)

If you fix the issue in a separate patch/commit (i.e. not just a new version of
the same patch/commit), kindly add following tags
| Reported-by: kernel test robot <[email protected]>
| Closes: https://lore.kernel.org/oe-kbuild-all/[email protected]/

dtcheck warnings: (new ones prefixed by >>)
>> arch/arm64/boot/dts/ti/k3-j722s-evm.dtb: dsp@7e000000: reg: [[0, 2113929216, 0, 2097152]] is too short
from schema $id: http://devicetree.org/schemas/remoteproc/ti,k3-dsp-rproc.yaml#
>> arch/arm64/boot/dts/ti/k3-j722s-evm.dtb: dsp@7e000000: reg-names: ['l2sram'] is too short
from schema $id: http://devicetree.org/schemas/remoteproc/ti,k3-dsp-rproc.yaml#
>> arch/arm64/boot/dts/ti/k3-j722s-evm.dtb: dsp@7e200000: reg: [[0, 2116026368, 0, 2097152]] is too short
from schema $id: http://devicetree.org/schemas/remoteproc/ti,k3-dsp-rproc.yaml#
>> arch/arm64/boot/dts/ti/k3-j722s-evm.dtb: dsp@7e200000: reg-names: ['l2sram'] is too short
from schema $id: http://devicetree.org/schemas/remoteproc/ti,k3-dsp-rproc.yaml#

--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki

2024-06-11 07:36:15

by kernel test robot

[permalink] [raw]
Subject: Re: [PATCH 1/3] arm64: dts: ti: Add R5F and C7x remote processor nodes

Hi Beleswar,

kernel test robot noticed the following build warnings:

[auto build test WARNING on robh/for-next]
[also build test WARNING on linus/master v6.10-rc3 next-20240607]
[If your patch is applied to the wrong git tree, kindly drop us a note.
And when submitting patch, we suggest to use '--base' as documented in
https://git-scm.com/docs/git-format-patch#_base_tree_information]

url: https://github.com/intel-lab-lkp/linux/commits/Beleswar-Padhi/arm64-dts-ti-Add-R5F-and-C7x-remote-processor-nodes/20240607-170843
base: https://git.kernel.org/pub/scm/linux/kernel/git/robh/linux.git for-next
patch link: https://lore.kernel.org/r/20240607090433.488454-2-b-padhi%40ti.com
patch subject: [PATCH 1/3] arm64: dts: ti: Add R5F and C7x remote processor nodes
config: arm64-allyesconfig (https://download.01.org/0day-ci/archive/20240611/[email protected]/config)
compiler: clang version 19.0.0git (https://github.com/llvm/llvm-project d7d2d4f53fc79b4b58e8d8d08151b577c3699d4a)
dtschema version: 2024.6.dev1+g833054f
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20240611/[email protected]/reproduce)

If you fix the issue in a separate patch/commit (i.e. not just a new version of
the same patch/commit), kindly add following tags
| Reported-by: kernel test robot <[email protected]>
| Closes: https://lore.kernel.org/oe-kbuild-all/[email protected]/

dtcheck warnings: (new ones prefixed by >>)
>> arch/arm64/boot/dts/ti/k3-j722s-evm.dtb: dsp@7e000000: reg: [[0, 2113929216, 0, 2097152]] is too short
from schema $id: http://devicetree.org/schemas/remoteproc/ti,k3-dsp-rproc.yaml#
>> arch/arm64/boot/dts/ti/k3-j722s-evm.dtb: dsp@7e000000: reg-names: ['l2sram'] is too short
from schema $id: http://devicetree.org/schemas/remoteproc/ti,k3-dsp-rproc.yaml#
>> arch/arm64/boot/dts/ti/k3-j722s-evm.dtb: dsp@7e200000: reg: [[0, 2116026368, 0, 2097152]] is too short
from schema $id: http://devicetree.org/schemas/remoteproc/ti,k3-dsp-rproc.yaml#
>> arch/arm64/boot/dts/ti/k3-j722s-evm.dtb: dsp@7e200000: reg-names: ['l2sram'] is too short
from schema $id: http://devicetree.org/schemas/remoteproc/ti,k3-dsp-rproc.yaml#

--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki