2023-08-09 18:34:27

by Andrew Davis

[permalink] [raw]
Subject: [PATCH 1/3] arm64: dts: ti: k3-j721e: Enable C7x DSP nodes at the board level

C7x DSP nodes defined in the top-level J721e SoC dtsi files are incomplete
and will not be functional unless they are extended with both mboxes and
memory-region information.

As theses only known about at the board integration level, these nodes
should only be enabled when provided with this information.

Disable the C7x DSP nodes in the dtsi files and only enable the ones that
are given the required mboxes and memory-region on a given board.

Signed-off-by: Andrew Davis <[email protected]>
---
arch/arm64/boot/dts/ti/k3-j721e-beagleboneai64.dts | 1 +
arch/arm64/boot/dts/ti/k3-j721e-main.dtsi | 1 +
arch/arm64/boot/dts/ti/k3-j721e-sk.dts | 1 +
arch/arm64/boot/dts/ti/k3-j721e-som-p0.dtsi | 1 +
4 files changed, 4 insertions(+)

diff --git a/arch/arm64/boot/dts/ti/k3-j721e-beagleboneai64.dts b/arch/arm64/boot/dts/ti/k3-j721e-beagleboneai64.dts
index 66aac145e7530..d1235e7c786d6 100644
--- a/arch/arm64/boot/dts/ti/k3-j721e-beagleboneai64.dts
+++ b/arch/arm64/boot/dts/ti/k3-j721e-beagleboneai64.dts
@@ -1024,6 +1024,7 @@ &c66_1 {
};

&c71_0 {
+ status = "okay";
mboxes = <&mailbox0_cluster4>, <&mbox_c71_0>;
memory-region = <&c71_0_dma_memory_region>,
<&c71_0_memory_region>;
diff --git a/arch/arm64/boot/dts/ti/k3-j721e-main.dtsi b/arch/arm64/boot/dts/ti/k3-j721e-main.dtsi
index 3acd55ffd4ffc..1aeb97b42b34b 100644
--- a/arch/arm64/boot/dts/ti/k3-j721e-main.dtsi
+++ b/arch/arm64/boot/dts/ti/k3-j721e-main.dtsi
@@ -2134,6 +2134,7 @@ c71_0: dsp@64800000 {
ti,sci-proc-ids = <0x30 0xff>;
resets = <&k3_reset 15 1>;
firmware-name = "j7-c71_0-fw";
+ status = "disabled";
};

icssg0: icssg@b000000 {
diff --git a/arch/arm64/boot/dts/ti/k3-j721e-sk.dts b/arch/arm64/boot/dts/ti/k3-j721e-sk.dts
index 0ee4f38ec8f03..377588ba30998 100644
--- a/arch/arm64/boot/dts/ti/k3-j721e-sk.dts
+++ b/arch/arm64/boot/dts/ti/k3-j721e-sk.dts
@@ -1110,6 +1110,7 @@ &c66_1 {
};

&c71_0 {
+ status = "okay";
mboxes = <&mailbox0_cluster4>, <&mbox_c71_0>;
memory-region = <&c71_0_dma_memory_region>,
<&c71_0_memory_region>;
diff --git a/arch/arm64/boot/dts/ti/k3-j721e-som-p0.dtsi b/arch/arm64/boot/dts/ti/k3-j721e-som-p0.dtsi
index e90e43202546e..3c31ab57e959c 100644
--- a/arch/arm64/boot/dts/ti/k3-j721e-som-p0.dtsi
+++ b/arch/arm64/boot/dts/ti/k3-j721e-som-p0.dtsi
@@ -436,6 +436,7 @@ &c66_1 {
};

&c71_0 {
+ status = "okay";
mboxes = <&mailbox0_cluster4>, <&mbox_c71_0>;
memory-region = <&c71_0_dma_memory_region>,
<&c71_0_memory_region>;
--
2.39.2



2023-08-09 19:13:34

by Andrew Davis

[permalink] [raw]
Subject: [PATCH 2/3] arm64: dts: ti: k3-j784s4: Enable C7x DSP nodes at the board level

C7x DSP nodes defined in the top-level J784s4 SoC dtsi files are incomplete
and will not be functional unless they are extended with both mboxes and
memory-region information.

As theses only known about at the board integration level, these nodes
should only be enabled when provided with this information.

Disable the C7x DSP nodes in the dtsi files and only enable the ones that
are given the required mboxes and memory-region on a given board.

Signed-off-by: Andrew Davis <[email protected]>
---
arch/arm64/boot/dts/ti/k3-j784s4-main.dtsi | 4 ++++
1 file changed, 4 insertions(+)

diff --git a/arch/arm64/boot/dts/ti/k3-j784s4-main.dtsi b/arch/arm64/boot/dts/ti/k3-j784s4-main.dtsi
index a04c44708a09a..c2e505f3affcc 100644
--- a/arch/arm64/boot/dts/ti/k3-j784s4-main.dtsi
+++ b/arch/arm64/boot/dts/ti/k3-j784s4-main.dtsi
@@ -1524,6 +1524,7 @@ c71_0: dsp@64800000 {
ti,sci-proc-ids = <0x30 0xff>;
resets = <&k3_reset 30 1>;
firmware-name = "j784s4-c71_0-fw";
+ status = "disabled";
};

c71_1: dsp@65800000 {
@@ -1536,6 +1537,7 @@ c71_1: dsp@65800000 {
ti,sci-proc-ids = <0x31 0xff>;
resets = <&k3_reset 33 1>;
firmware-name = "j784s4-c71_1-fw";
+ status = "disabled";
};

c71_2: dsp@66800000 {
@@ -1548,6 +1550,7 @@ c71_2: dsp@66800000 {
ti,sci-proc-ids = <0x32 0xff>;
resets = <&k3_reset 37 1>;
firmware-name = "j784s4-c71_2-fw";
+ status = "disabled";
};

c71_3: dsp@67800000 {
@@ -1560,5 +1563,6 @@ c71_3: dsp@67800000 {
ti,sci-proc-ids = <0x33 0xff>;
resets = <&k3_reset 40 1>;
firmware-name = "j784s4-c71_3-fw";
+ status = "disabled";
};
};
--
2.39.2


2023-08-09 19:48:02

by Andrew Davis

[permalink] [raw]
Subject: [PATCH 3/3] arm64: dts: ti: k3-j721e: Enable C6x DSP nodes at the board level

C6x DSP nodes defined in the top-level J721e SoC dtsi files are incomplete
and will not be functional unless they are extended with both mboxes and
memory-region information.

As theses only known about at the board integration level, these nodes
should only be enabled when provided with this information.

Disable the C6x DSP nodes in the dtsi files and only enable the ones that
are given the required mboxes and memory-region on a given board.

Signed-off-by: Andrew Davis <[email protected]>
---
arch/arm64/boot/dts/ti/k3-j721e-beagleboneai64.dts | 2 ++
arch/arm64/boot/dts/ti/k3-j721e-main.dtsi | 2 ++
arch/arm64/boot/dts/ti/k3-j721e-sk.dts | 2 ++
arch/arm64/boot/dts/ti/k3-j721e-som-p0.dtsi | 2 ++
4 files changed, 8 insertions(+)

diff --git a/arch/arm64/boot/dts/ti/k3-j721e-beagleboneai64.dts b/arch/arm64/boot/dts/ti/k3-j721e-beagleboneai64.dts
index d1235e7c786d6..f6516a36f9039 100644
--- a/arch/arm64/boot/dts/ti/k3-j721e-beagleboneai64.dts
+++ b/arch/arm64/boot/dts/ti/k3-j721e-beagleboneai64.dts
@@ -1012,12 +1012,14 @@ &main_r5fss1_core1 {
};

&c66_0 {
+ status = "okay";
mboxes = <&mailbox0_cluster3>, <&mbox_c66_0>;
memory-region = <&c66_0_dma_memory_region>,
<&c66_0_memory_region>;
};

&c66_1 {
+ status = "okay";
mboxes = <&mailbox0_cluster3>, <&mbox_c66_1>;
memory-region = <&c66_1_dma_memory_region>,
<&c66_1_memory_region>;
diff --git a/arch/arm64/boot/dts/ti/k3-j721e-main.dtsi b/arch/arm64/boot/dts/ti/k3-j721e-main.dtsi
index 1aeb97b42b34b..5da86921b1779 100644
--- a/arch/arm64/boot/dts/ti/k3-j721e-main.dtsi
+++ b/arch/arm64/boot/dts/ti/k3-j721e-main.dtsi
@@ -2109,6 +2109,7 @@ c66_0: dsp@4d80800000 {
ti,sci-proc-ids = <0x03 0xff>;
resets = <&k3_reset 142 1>;
firmware-name = "j7-c66_0-fw";
+ status = "disabled";
};

c66_1: dsp@4d81800000 {
@@ -2122,6 +2123,7 @@ c66_1: dsp@4d81800000 {
ti,sci-proc-ids = <0x04 0xff>;
resets = <&k3_reset 143 1>;
firmware-name = "j7-c66_1-fw";
+ status = "disabled";
};

c71_0: dsp@64800000 {
diff --git a/arch/arm64/boot/dts/ti/k3-j721e-sk.dts b/arch/arm64/boot/dts/ti/k3-j721e-sk.dts
index 377588ba30998..cce25f13cf8af 100644
--- a/arch/arm64/boot/dts/ti/k3-j721e-sk.dts
+++ b/arch/arm64/boot/dts/ti/k3-j721e-sk.dts
@@ -1098,12 +1098,14 @@ &main_r5fss1_core1 {
};

&c66_0 {
+ status = "okay";
mboxes = <&mailbox0_cluster3>, <&mbox_c66_0>;
memory-region = <&c66_0_dma_memory_region>,
<&c66_0_memory_region>;
};

&c66_1 {
+ status = "okay";
mboxes = <&mailbox0_cluster3>, <&mbox_c66_1>;
memory-region = <&c66_1_dma_memory_region>,
<&c66_1_memory_region>;
diff --git a/arch/arm64/boot/dts/ti/k3-j721e-som-p0.dtsi b/arch/arm64/boot/dts/ti/k3-j721e-som-p0.dtsi
index 3c31ab57e959c..eaf9e4564d032 100644
--- a/arch/arm64/boot/dts/ti/k3-j721e-som-p0.dtsi
+++ b/arch/arm64/boot/dts/ti/k3-j721e-som-p0.dtsi
@@ -424,12 +424,14 @@ &main_r5fss1_core1 {
};

&c66_0 {
+ status = "okay";
mboxes = <&mailbox0_cluster3>, <&mbox_c66_0>;
memory-region = <&c66_0_dma_memory_region>,
<&c66_0_memory_region>;
};

&c66_1 {
+ status = "okay";
mboxes = <&mailbox0_cluster3>, <&mbox_c66_1>;
memory-region = <&c66_1_dma_memory_region>,
<&c66_1_memory_region>;
--
2.39.2


2023-08-10 11:10:28

by Kumar, Udit

[permalink] [raw]
Subject: Re: [PATCH 1/3] arm64: dts: ti: k3-j721e: Enable C7x DSP nodes at the board level

Thanks Andrew

On 8/9/2023 11:31 PM, Andrew Davis wrote:
> C7x DSP nodes defined in the top-level J721e SoC dtsi files are incomplete
> and will not be functional unless they are extended with both mboxes and
> memory-region information.
>
> As theses only known about at the board integration level, these nodes
> should only be enabled when provided with this information.
>
> Disable the C7x DSP nodes in the dtsi files and only enable the ones that
> are given the required mboxes and memory-region on a given board.
>
> Signed-off-by: Andrew Davis <[email protected]>
> ---
> arch/arm64/boot/dts/ti/k3-j721e-beagleboneai64.dts | 1 +
> arch/arm64/boot/dts/ti/k3-j721e-main.dtsi | 1 +
> arch/arm64/boot/dts/ti/k3-j721e-sk.dts | 1 +
> arch/arm64/boot/dts/ti/k3-j721e-som-p0.dtsi | 1 +
> 4 files changed, 4 insertions(+)
>
> diff --git a/arch/arm64/boot/dts/ti/k3-j721e-beagleboneai64.dts b/arch/arm64/boot/dts/ti/k3-j721e-beagleboneai64.dts
> index 66aac145e7530..d1235e7c786d6 100644
> --- a/arch/arm64/boot/dts/ti/k3-j721e-beagleboneai64.dts
> +++ b/arch/arm64/boot/dts/ti/k3-j721e-beagleboneai64.dts
> @@ -1024,6 +1024,7 @@ &c66_1 {
> };
>
> &c71_0 {
> + status = "okay";
> mboxes = <&mailbox0_cluster4>, <&mbox_c71_0>;
> memory-region = <&c71_0_dma_memory_region>,
> <&c71_0_memory_region>;

Series tested on J721E, J784S4 platforms

However I need to apply
https://lore.kernel.org/linux-iommu/[email protected]/
patch


Tested-by: Udit Kumar <[email protected]>

https://gist.github.com/uditkumarti/b6320a06fadaaaf174fc0431949f11e1



> diff --git a/arch/arm64/boot/dts/ti/k3-j721e-main.dtsi b/arch/arm64/boot/dts/ti/k3-j721e-main.dtsi
> index 3acd55ffd4ffc..1aeb97b42b34b 100644
> --- a/arch/arm64/boot/dts/ti/k3-j721e-main.dtsi
> +++ b/arch/arm64/boot/dts/ti/k3-j721e-main.dtsi
> @@ -2134,6 +2134,7 @@ c71_0: dsp@64800000 {
> ti,sci-proc-ids = <0x30 0xff>;
> resets = <&k3_reset 15 1>;
> firmware-name = "j7-c71_0-fw";
> + status = "disabled";
> };
>
> icssg0: icssg@b000000 {
> diff --git a/arch/arm64/boot/dts/ti/k3-j721e-sk.dts b/arch/arm64/boot/dts/ti/k3-j721e-sk.dts
> index 0ee4f38ec8f03..377588ba30998 100644
> --- a/arch/arm64/boot/dts/ti/k3-j721e-sk.dts
> +++ b/arch/arm64/boot/dts/ti/k3-j721e-sk.dts
> @@ -1110,6 +1110,7 @@ &c66_1 {
> };
>
> &c71_0 {
> + status = "okay";
> mboxes = <&mailbox0_cluster4>, <&mbox_c71_0>;
> memory-region = <&c71_0_dma_memory_region>,
> <&c71_0_memory_region>;
> diff --git a/arch/arm64/boot/dts/ti/k3-j721e-som-p0.dtsi b/arch/arm64/boot/dts/ti/k3-j721e-som-p0.dtsi
> index e90e43202546e..3c31ab57e959c 100644
> --- a/arch/arm64/boot/dts/ti/k3-j721e-som-p0.dtsi
> +++ b/arch/arm64/boot/dts/ti/k3-j721e-som-p0.dtsi
> @@ -436,6 +436,7 @@ &c66_1 {
> };
>
> &c71_0 {
> + status = "okay";
> mboxes = <&mailbox0_cluster4>, <&mbox_c71_0>;
> memory-region = <&c71_0_dma_memory_region>,
> <&c71_0_memory_region>;

2023-08-10 22:46:59

by Hari Nagalla

[permalink] [raw]
Subject: Re: [PATCH 1/3] arm64: dts: ti: k3-j721e: Enable C7x DSP nodes at the board level

On 8/9/23 13:01, Andrew Davis wrote:
> +++ b/arch/arm64/boot/dts/ti/k3-j721e-som-p0.dtsi
> @@ -436,6 +436,7 @@ &c66_1 {
> };
>
> &c71_0 {
> + status = "okay";
> mboxes = <&mailbox0_cluster4>, <&mbox_c71_0>;
> memory-region = <&c71_0_dma_memory_region>,
> <&c71_0_memory_region>;
> --

series acked.

Acked-by: Hari Nagalla <[email protected]>

2023-08-11 01:04:18

by Nishanth Menon

[permalink] [raw]
Subject: Re: [PATCH 1/3] arm64: dts: ti: k3-j721e: Enable C7x DSP nodes at the board level

Hi Andrew Davis,

On Wed, 09 Aug 2023 13:01:43 -0500, Andrew Davis wrote:
> C7x DSP nodes defined in the top-level J721e SoC dtsi files are incomplete
> and will not be functional unless they are extended with both mboxes and
> memory-region information.
>
> As theses only known about at the board integration level, these nodes
> should only be enabled when provided with this information.
>
> [...]

I have applied the following to branch ti-k3-dts-next on [1].
Thank you for doing the cleanups!

[1/3] arm64: dts: ti: k3-j721e: Enable C7x DSP nodes at the board level
commit: 35dba715971733d5fdfd98f4772ccc679d4989c2
[2/3] arm64: dts: ti: k3-j784s4: Enable C7x DSP nodes at the board level
commit: c23b203b929f22fb22f2b07c1e5d658a7d455263
[3/3] arm64: dts: ti: k3-j721e: Enable C6x DSP nodes at the board level
commit: 00ae4c39cd16ef8b1662c5915dda08eb28eed762

All being well this means that it will be integrated into the linux-next
tree (usually sometime in the next 24 hours) and sent up the chain during
the next merge window (or sooner if it is a relevant bug fix), however if
problems are discovered then the patch may be dropped or reverted.

You may get further e-mails resulting from automated or manual testing
and review of the tree, please engage with people reporting problems and
send followup patches addressing any issues that are reported if needed.

If any updates are required or you are submitting further changes they
should be sent as incremental updates against current git, existing
patches will not be replaced.

Please add any relevant lists and maintainers to the CCs when replying
to this mail.

[1] https://git.kernel.org/pub/scm/linux/kernel/git/ti/linux.git
--
Regards,
Nishanth Menon
Key (0xDDB5849D1736249D) / Fingerprint: F8A2 8693 54EB 8232 17A3 1A34 DDB5 849D 1736 249D