2023-12-12 11:17:17

by Vignesh Raghavendra

[permalink] [raw]
Subject: [PATCH 0/3] arm64: dts: ti: k3: Add additioal regs for DMA components

This adds additional reg ranges which are not directly used by Linux but
by other components like U-Boot

Binding is accepted via dmaengine tree and is in linux-next[0]

[0] https://lore.kernel.org/dmaengine/[email protected]/


Manorit Chawdhry (2):
arm64: dts: ti: k3-am65: Add additional regs for DMA components
arm64: dts: ti: k3-j7*: Add additional regs for DMA components

Vignesh Raghavendra (1):
arm64: dts: ti: k3-am6*: Add additional regs for DMA components

arch/arm64/boot/dts/ti/k3-am62-main.dtsi | 18 ++++++++++++++----
arch/arm64/boot/dts/ti/k3-am62a-main.dtsi | 18 ++++++++++++++----
arch/arm64/boot/dts/ti/k3-am62p-main.dtsi | 18 ++++++++++++++----
arch/arm64/boot/dts/ti/k3-am64-main.dtsi | 18 ++++++++++++++----
arch/arm64/boot/dts/ti/k3-am65-main.dtsi | 8 ++++++--
arch/arm64/boot/dts/ti/k3-am65-mcu.dtsi | 8 ++++++--
arch/arm64/boot/dts/ti/k3-j7200-main.dtsi | 8 ++++++--
.../arm64/boot/dts/ti/k3-j7200-mcu-wakeup.dtsi | 8 ++++++--
arch/arm64/boot/dts/ti/k3-j721e-main.dtsi | 8 ++++++--
.../arm64/boot/dts/ti/k3-j721e-mcu-wakeup.dtsi | 8 ++++++--
arch/arm64/boot/dts/ti/k3-j721s2-main.dtsi | 8 ++++++--
.../boot/dts/ti/k3-j721s2-mcu-wakeup.dtsi | 8 ++++++--
arch/arm64/boot/dts/ti/k3-j784s4-main.dtsi | 8 ++++++--
.../boot/dts/ti/k3-j784s4-mcu-wakeup.dtsi | 8 ++++++--
14 files changed, 116 insertions(+), 36 deletions(-)

--
2.43.0


2023-12-12 11:17:27

by Vignesh Raghavendra

[permalink] [raw]
Subject: [PATCH 3/3] arm64: dts: ti: k3-am6*: Add additional regs for DMA components

Add additional reg properties for BCDMA and PKTDMA nodes which are
mostly used by bootloader components before Device Manager firmware
services are available, in order to setup DMA transfers.

Signed-off-by: Vignesh Raghavendra <[email protected]>
---
arch/arm64/boot/dts/ti/k3-am62-main.dtsi | 18 ++++++++++++++----
arch/arm64/boot/dts/ti/k3-am62a-main.dtsi | 18 ++++++++++++++----
arch/arm64/boot/dts/ti/k3-am62p-main.dtsi | 18 ++++++++++++++----
arch/arm64/boot/dts/ti/k3-am64-main.dtsi | 18 ++++++++++++++----
4 files changed, 56 insertions(+), 16 deletions(-)

diff --git a/arch/arm64/boot/dts/ti/k3-am62-main.dtsi b/arch/arm64/boot/dts/ti/k3-am62-main.dtsi
index e5c64c86d1d5..4514a140ad38 100644
--- a/arch/arm64/boot/dts/ti/k3-am62-main.dtsi
+++ b/arch/arm64/boot/dts/ti/k3-am62-main.dtsi
@@ -121,8 +121,13 @@ main_bcdma: dma-controller@485c0100 {
<0x00 0x4c000000 0x00 0x20000>,
<0x00 0x4a820000 0x00 0x20000>,
<0x00 0x4aa40000 0x00 0x20000>,
- <0x00 0x4bc00000 0x00 0x100000>;
- reg-names = "gcfg", "bchanrt", "rchanrt", "tchanrt", "ringrt";
+ <0x00 0x4bc00000 0x00 0x100000>,
+ <0x00 0x48600000 0x00 0x8000>,
+ <0x00 0x484a4000 0x00 0x2000>,
+ <0x00 0x484c2000 0x00 0x2000>,
+ <0x00 0x48420000 0x00 0x2000>;
+ reg-names = "gcfg", "bchanrt", "rchanrt", "tchanrt", "ringrt",
+ "ring", "tchan", "rchan", "bchan";
msi-parent = <&inta_main_dmss>;
#dma-cells = <3>;

@@ -138,8 +143,13 @@ main_pktdma: dma-controller@485c0000 {
reg = <0x00 0x485c0000 0x00 0x100>,
<0x00 0x4a800000 0x00 0x20000>,
<0x00 0x4aa00000 0x00 0x40000>,
- <0x00 0x4b800000 0x00 0x400000>;
- reg-names = "gcfg", "rchanrt", "tchanrt", "ringrt";
+ <0x00 0x4b800000 0x00 0x400000>,
+ <0x00 0x485e0000 0x00 0x20000>,
+ <0x00 0x484a0000 0x00 0x4000>,
+ <0x00 0x484c0000 0x00 0x2000>,
+ <0x00 0x48430000 0x00 0x4000>;
+ reg-names = "gcfg", "rchanrt", "tchanrt", "ringrt",
+ "ring", "tchan", "rchan", "rflow";
msi-parent = <&inta_main_dmss>;
#dma-cells = <2>;

diff --git a/arch/arm64/boot/dts/ti/k3-am62a-main.dtsi b/arch/arm64/boot/dts/ti/k3-am62a-main.dtsi
index 4ae7fdc5221b..36947d9d644d 100644
--- a/arch/arm64/boot/dts/ti/k3-am62a-main.dtsi
+++ b/arch/arm64/boot/dts/ti/k3-am62a-main.dtsi
@@ -101,8 +101,13 @@ main_bcdma: dma-controller@485c0100 {
<0x00 0x4c000000 0x00 0x20000>,
<0x00 0x4a820000 0x00 0x20000>,
<0x00 0x4aa40000 0x00 0x20000>,
- <0x00 0x4bc00000 0x00 0x100000>;
- reg-names = "gcfg", "bchanrt", "rchanrt", "tchanrt", "ringrt";
+ <0x00 0x4bc00000 0x00 0x100000>,
+ <0x00 0x48600000 0x00 0x8000>,
+ <0x00 0x484a4000 0x00 0x2000>,
+ <0x00 0x484c2000 0x00 0x2000>,
+ <0x00 0x48420000 0x00 0x2000>;
+ reg-names = "gcfg", "bchanrt", "rchanrt", "tchanrt", "ringrt",
+ "ring", "tchan", "rchan", "bchan";
msi-parent = <&inta_main_dmss>;
#dma-cells = <3>;
ti,sci = <&dmsc>;
@@ -117,8 +122,13 @@ main_pktdma: dma-controller@485c0000 {
reg = <0x00 0x485c0000 0x00 0x100>,
<0x00 0x4a800000 0x00 0x20000>,
<0x00 0x4aa00000 0x00 0x40000>,
- <0x00 0x4b800000 0x00 0x400000>;
- reg-names = "gcfg", "rchanrt", "tchanrt", "ringrt";
+ <0x00 0x4b800000 0x00 0x400000>,
+ <0x00 0x485e0000 0x00 0x20000>,
+ <0x00 0x484a0000 0x00 0x4000>,
+ <0x00 0x484c0000 0x00 0x2000>,
+ <0x00 0x48430000 0x00 0x4000>;
+ reg-names = "gcfg", "rchanrt", "tchanrt", "ringrt",
+ "ring", "tchan", "rchan", "rflow";
msi-parent = <&inta_main_dmss>;
#dma-cells = <2>;
ti,sci = <&dmsc>;
diff --git a/arch/arm64/boot/dts/ti/k3-am62p-main.dtsi b/arch/arm64/boot/dts/ti/k3-am62p-main.dtsi
index 963758c7d377..21981489b4db 100644
--- a/arch/arm64/boot/dts/ti/k3-am62p-main.dtsi
+++ b/arch/arm64/boot/dts/ti/k3-am62p-main.dtsi
@@ -101,8 +101,13 @@ main_bcdma: dma-controller@485c0100 {
<0x00 0x4c000000 0x00 0x20000>,
<0x00 0x4a820000 0x00 0x20000>,
<0x00 0x4aa40000 0x00 0x20000>,
- <0x00 0x4bc00000 0x00 0x100000>;
- reg-names = "gcfg", "bchanrt", "rchanrt", "tchanrt", "ringrt";
+ <0x00 0x4bc00000 0x00 0x100000>,
+ <0x00 0x48600000 0x00 0x8000>,
+ <0x00 0x484a4000 0x00 0x2000>,
+ <0x00 0x484c2000 0x00 0x2000>,
+ <0x00 0x48420000 0x00 0x2000>;
+ reg-names = "gcfg", "bchanrt", "rchanrt", "tchanrt", "ringrt",
+ "ring", "tchan", "rchan", "bchan";
msi-parent = <&inta_main_dmss>;
#dma-cells = <3>;

@@ -119,8 +124,13 @@ main_pktdma: dma-controller@485c0000 {
reg = <0x00 0x485c0000 0x00 0x100>,
<0x00 0x4a800000 0x00 0x20000>,
<0x00 0x4aa00000 0x00 0x40000>,
- <0x00 0x4b800000 0x00 0x400000>;
- reg-names = "gcfg", "rchanrt", "tchanrt", "ringrt";
+ <0x00 0x4b800000 0x00 0x400000>,
+ <0x00 0x485e0000 0x00 0x20000>,
+ <0x00 0x484a0000 0x00 0x4000>,
+ <0x00 0x484c0000 0x00 0x2000>,
+ <0x00 0x48430000 0x00 0x4000>;
+ reg-names = "gcfg", "rchanrt", "tchanrt", "ringrt",
+ "ring", "tchan", "rchan", "rflow";
msi-parent = <&inta_main_dmss>;
#dma-cells = <2>;
bootph-all;
diff --git a/arch/arm64/boot/dts/ti/k3-am64-main.dtsi b/arch/arm64/boot/dts/ti/k3-am64-main.dtsi
index 0be642bc1b86..bcdfd61c7d98 100644
--- a/arch/arm64/boot/dts/ti/k3-am64-main.dtsi
+++ b/arch/arm64/boot/dts/ti/k3-am64-main.dtsi
@@ -138,8 +138,13 @@ main_bcdma: dma-controller@485c0100 {
<0x00 0x4c000000 0x00 0x20000>,
<0x00 0x4a820000 0x00 0x20000>,
<0x00 0x4aa40000 0x00 0x20000>,
- <0x00 0x4bc00000 0x00 0x100000>;
- reg-names = "gcfg", "bchanrt", "rchanrt", "tchanrt", "ringrt";
+ <0x00 0x4bc00000 0x00 0x100000>,
+ <0x00 0x48600000 0x00 0x8000>,
+ <0x00 0x484a4000 0x00 0x2000>,
+ <0x00 0x484c2000 0x00 0x2000>,
+ <0x00 0x48420000 0x00 0x2000>;
+ reg-names = "gcfg", "bchanrt", "rchanrt", "tchanrt", "ringrt",
+ "ring", "tchan", "rchan", "bchan";
msi-parent = <&inta_main_dmss>;
#dma-cells = <3>;

@@ -155,8 +160,13 @@ main_pktdma: dma-controller@485c0000 {
reg = <0x00 0x485c0000 0x00 0x100>,
<0x00 0x4a800000 0x00 0x20000>,
<0x00 0x4aa00000 0x00 0x40000>,
- <0x00 0x4b800000 0x00 0x400000>;
- reg-names = "gcfg", "rchanrt", "tchanrt", "ringrt";
+ <0x00 0x4b800000 0x00 0x400000>,
+ <0x00 0x485e0000 0x00 0x20000>,
+ <0x00 0x484a0000 0x00 0x4000>,
+ <0x00 0x484c0000 0x00 0x2000>,
+ <0x00 0x48430000 0x00 0x4000>;
+ reg-names = "gcfg", "rchanrt", "tchanrt", "ringrt",
+ "ring", "tchan", "rchan", "rflow";
msi-parent = <&inta_main_dmss>;
#dma-cells = <2>;

--
2.43.0

2023-12-12 11:17:27

by Vignesh Raghavendra

[permalink] [raw]
Subject: [PATCH 2/3] arm64: dts: ti: k3-j7*: Add additional regs for DMA components

From: Manorit Chawdhry <[email protected]>

Add additional reg properties for UDMA and RingAcc nodes which are
mostly used by bootloader components before Device Manager firmware
services are available, in order to setup DMA transfers.

Signed-off-by: Manorit Chawdhry <[email protected]>
Signed-off-by: Vignesh Raghavendra <[email protected]>
---
arch/arm64/boot/dts/ti/k3-j7200-main.dtsi | 8 ++++++--
arch/arm64/boot/dts/ti/k3-j7200-mcu-wakeup.dtsi | 8 ++++++--
arch/arm64/boot/dts/ti/k3-j721e-main.dtsi | 8 ++++++--
arch/arm64/boot/dts/ti/k3-j721e-mcu-wakeup.dtsi | 8 ++++++--
arch/arm64/boot/dts/ti/k3-j721s2-main.dtsi | 8 ++++++--
arch/arm64/boot/dts/ti/k3-j721s2-mcu-wakeup.dtsi | 8 ++++++--
arch/arm64/boot/dts/ti/k3-j784s4-main.dtsi | 8 ++++++--
arch/arm64/boot/dts/ti/k3-j784s4-mcu-wakeup.dtsi | 8 ++++++--
8 files changed, 48 insertions(+), 16 deletions(-)

diff --git a/arch/arm64/boot/dts/ti/k3-j7200-main.dtsi b/arch/arm64/boot/dts/ti/k3-j7200-main.dtsi
index 264913f83287..97b90f4d09dd 100644
--- a/arch/arm64/boot/dts/ti/k3-j7200-main.dtsi
+++ b/arch/arm64/boot/dts/ti/k3-j7200-main.dtsi
@@ -281,8 +281,12 @@ main_udmap: dma-controller@31150000 {
compatible = "ti,j721e-navss-main-udmap";
reg = <0x00 0x31150000 0x00 0x100>,
<0x00 0x34000000 0x00 0x100000>,
- <0x00 0x35000000 0x00 0x100000>;
- reg-names = "gcfg", "rchanrt", "tchanrt";
+ <0x00 0x35000000 0x00 0x100000>,
+ <0x00 0x30b00000 0x00 0x20000>,
+ <0x00 0x30c00000 0x00 0x8000>,
+ <0x00 0x30d00000 0x00 0x4000>;
+ reg-names = "gcfg", "rchanrt", "tchanrt",
+ "tchan", "rchan", "rflow";
msi-parent = <&main_udmass_inta>;
#dma-cells = <1>;

diff --git a/arch/arm64/boot/dts/ti/k3-j7200-mcu-wakeup.dtsi b/arch/arm64/boot/dts/ti/k3-j7200-mcu-wakeup.dtsi
index 3fc588b848c6..576ed7494521 100644
--- a/arch/arm64/boot/dts/ti/k3-j7200-mcu-wakeup.dtsi
+++ b/arch/arm64/boot/dts/ti/k3-j7200-mcu-wakeup.dtsi
@@ -346,8 +346,12 @@ mcu_udmap: dma-controller@285c0000 {
compatible = "ti,j721e-navss-mcu-udmap";
reg = <0x00 0x285c0000 0x00 0x100>,
<0x00 0x2a800000 0x00 0x40000>,
- <0x00 0x2aa00000 0x00 0x40000>;
- reg-names = "gcfg", "rchanrt", "tchanrt";
+ <0x00 0x2aa00000 0x00 0x40000>,
+ <0x00 0x284a0000 0x00 0x4000>,
+ <0x00 0x284c0000 0x00 0x4000>,
+ <0x00 0x28400000 0x00 0x2000>;
+ reg-names = "gcfg", "rchanrt", "tchanrt",
+ "tchan", "rchan", "rflow";
msi-parent = <&main_udmass_inta>;
#dma-cells = <1>;

diff --git a/arch/arm64/boot/dts/ti/k3-j721e-main.dtsi b/arch/arm64/boot/dts/ti/k3-j721e-main.dtsi
index 746b9f8b1c64..f1e995d12d74 100644
--- a/arch/arm64/boot/dts/ti/k3-j721e-main.dtsi
+++ b/arch/arm64/boot/dts/ti/k3-j721e-main.dtsi
@@ -382,8 +382,12 @@ main_udmap: dma-controller@31150000 {
compatible = "ti,j721e-navss-main-udmap";
reg = <0x0 0x31150000 0x0 0x100>,
<0x0 0x34000000 0x0 0x100000>,
- <0x0 0x35000000 0x0 0x100000>;
- reg-names = "gcfg", "rchanrt", "tchanrt";
+ <0x0 0x35000000 0x0 0x100000>,
+ <0x0 0x30b00000 0x0 0x20000>,
+ <0x0 0x30c00000 0x0 0x8000>,
+ <0x0 0x30d00000 0x0 0x4000>;
+ reg-names = "gcfg", "rchanrt", "tchanrt",
+ "tchan", "rchan", "rflow";
msi-parent = <&main_udmass_inta>;
#dma-cells = <1>;

diff --git a/arch/arm64/boot/dts/ti/k3-j721e-mcu-wakeup.dtsi b/arch/arm64/boot/dts/ti/k3-j721e-mcu-wakeup.dtsi
index f7ab7719fc07..011d93e32238 100644
--- a/arch/arm64/boot/dts/ti/k3-j721e-mcu-wakeup.dtsi
+++ b/arch/arm64/boot/dts/ti/k3-j721e-mcu-wakeup.dtsi
@@ -468,8 +468,12 @@ mcu_udmap: dma-controller@285c0000 {
compatible = "ti,j721e-navss-mcu-udmap";
reg = <0x0 0x285c0000 0x0 0x100>,
<0x0 0x2a800000 0x0 0x40000>,
- <0x0 0x2aa00000 0x0 0x40000>;
- reg-names = "gcfg", "rchanrt", "tchanrt";
+ <0x0 0x2aa00000 0x0 0x40000>,
+ <0x0 0x284a0000 0x0 0x4000>,
+ <0x0 0x284c0000 0x0 0x4000>,
+ <0x0 0x28400000 0x0 0x2000>;
+ reg-names = "gcfg", "rchanrt", "tchanrt",
+ "tchan", "rchan", "rflow";
msi-parent = <&main_udmass_inta>;
#dma-cells = <1>;

diff --git a/arch/arm64/boot/dts/ti/k3-j721s2-main.dtsi b/arch/arm64/boot/dts/ti/k3-j721s2-main.dtsi
index b03731b53a26..2ed469d36f1d 100644
--- a/arch/arm64/boot/dts/ti/k3-j721s2-main.dtsi
+++ b/arch/arm64/boot/dts/ti/k3-j721s2-main.dtsi
@@ -1086,8 +1086,12 @@ main_udmap: dma-controller@31150000 {
compatible = "ti,j721e-navss-main-udmap";
reg = <0x0 0x31150000 0x0 0x100>,
<0x0 0x34000000 0x0 0x80000>,
- <0x0 0x35000000 0x0 0x200000>;
- reg-names = "gcfg", "rchanrt", "tchanrt";
+ <0x0 0x35000000 0x0 0x200000>,
+ <0x0 0x30b00000 0x0 0x8000>,
+ <0x0 0x30c00000 0x0 0x20000>,
+ <0x0 0x30d00000 0x0 0x4000>;
+ reg-names = "gcfg", "rchanrt", "tchanrt",
+ "tchan", "rchan", "rflow";
msi-parent = <&main_udmass_inta>;
#dma-cells = <1>;

diff --git a/arch/arm64/boot/dts/ti/k3-j721s2-mcu-wakeup.dtsi b/arch/arm64/boot/dts/ti/k3-j721s2-mcu-wakeup.dtsi
index 7254f3bd3634..75c6931480dd 100644
--- a/arch/arm64/boot/dts/ti/k3-j721s2-mcu-wakeup.dtsi
+++ b/arch/arm64/boot/dts/ti/k3-j721s2-mcu-wakeup.dtsi
@@ -471,8 +471,12 @@ mcu_udmap: dma-controller@285c0000 {
compatible = "ti,j721e-navss-mcu-udmap";
reg = <0x0 0x285c0000 0x0 0x100>,
<0x0 0x2a800000 0x0 0x40000>,
- <0x0 0x2aa00000 0x0 0x40000>;
- reg-names = "gcfg", "rchanrt", "tchanrt";
+ <0x0 0x2aa00000 0x0 0x40000>,
+ <0x0 0x284a0000 0x0 0x4000>,
+ <0x0 0x284c0000 0x0 0x4000>,
+ <0x0 0x28400000 0x0 0x2000>;
+ reg-names = "gcfg", "rchanrt", "tchanrt",
+ "tchan", "rchan", "rflow";
msi-parent = <&main_udmass_inta>;
#dma-cells = <1>;

diff --git a/arch/arm64/boot/dts/ti/k3-j784s4-main.dtsi b/arch/arm64/boot/dts/ti/k3-j784s4-main.dtsi
index d89bcddcfe3d..827328450f96 100644
--- a/arch/arm64/boot/dts/ti/k3-j784s4-main.dtsi
+++ b/arch/arm64/boot/dts/ti/k3-j784s4-main.dtsi
@@ -1188,8 +1188,12 @@ main_udmap: dma-controller@31150000 {
compatible = "ti,j721e-navss-main-udmap";
reg = <0x00 0x31150000 0x00 0x100>,
<0x00 0x34000000 0x00 0x80000>,
- <0x00 0x35000000 0x00 0x200000>;
- reg-names = "gcfg", "rchanrt", "tchanrt";
+ <0x00 0x35000000 0x00 0x200000>,
+ <0x00 0x30b00000 0x00 0x20000>,
+ <0x00 0x30c00000 0x00 0x8000>,
+ <0x00 0x30d00000 0x00 0x4000>;
+ reg-names = "gcfg", "rchanrt", "tchanrt",
+ "tchan", "rchan", "rflow";
msi-parent = <&main_udmass_inta>;
#dma-cells = <1>;

diff --git a/arch/arm64/boot/dts/ti/k3-j784s4-mcu-wakeup.dtsi b/arch/arm64/boot/dts/ti/k3-j784s4-mcu-wakeup.dtsi
index adb5ea6b9732..0eebb92e6a72 100644
--- a/arch/arm64/boot/dts/ti/k3-j784s4-mcu-wakeup.dtsi
+++ b/arch/arm64/boot/dts/ti/k3-j784s4-mcu-wakeup.dtsi
@@ -478,8 +478,12 @@ mcu_udmap: dma-controller@285c0000 {
compatible = "ti,j721e-navss-mcu-udmap";
reg = <0x00 0x285c0000 0x00 0x100>,
<0x00 0x2a800000 0x00 0x40000>,
- <0x00 0x2aa00000 0x00 0x40000>;
- reg-names = "gcfg", "rchanrt", "tchanrt";
+ <0x00 0x2aa00000 0x00 0x40000>,
+ <0x00 0x284a0000 0x00 0x4000>,
+ <0x00 0x284c0000 0x00 0x4000>,
+ <0x00 0x28400000 0x00 0x2000>;
+ reg-names = "gcfg", "rchanrt", "tchanrt",
+ "tchan", "rchan", "rflow";
msi-parent = <&main_udmass_inta>;
#dma-cells = <1>;

--
2.43.0

2023-12-13 09:42:12

by Jai Luthra

[permalink] [raw]
Subject: Re: [PATCH 3/3] arm64: dts: ti: k3-am6*: Add additional regs for DMA components

Hi Vignesh,

Thanks for the patch, PKTDMA address region sizes don't seem to match
the TRM. Not sure if the patch is wrong or TRM is wrong.

On Dec 12, 2023 at 16:46:34 +0530, Vignesh Raghavendra wrote:
> Add additional reg properties for BCDMA and PKTDMA nodes which are
> mostly used by bootloader components before Device Manager firmware
> services are available, in order to setup DMA transfers.
>
> Signed-off-by: Vignesh Raghavendra <[email protected]>
> ---
> arch/arm64/boot/dts/ti/k3-am62-main.dtsi | 18 ++++++++++++++----
> arch/arm64/boot/dts/ti/k3-am62a-main.dtsi | 18 ++++++++++++++----
> arch/arm64/boot/dts/ti/k3-am62p-main.dtsi | 18 ++++++++++++++----
> arch/arm64/boot/dts/ti/k3-am64-main.dtsi | 18 ++++++++++++++----
> 4 files changed, 56 insertions(+), 16 deletions(-)
>
> diff --git a/arch/arm64/boot/dts/ti/k3-am62-main.dtsi b/arch/arm64/boot/dts/ti/k3-am62-main.dtsi
> index e5c64c86d1d5..4514a140ad38 100644
> --- a/arch/arm64/boot/dts/ti/k3-am62-main.dtsi
> +++ b/arch/arm64/boot/dts/ti/k3-am62-main.dtsi
> @@ -121,8 +121,13 @@ main_bcdma: dma-controller@485c0100 {
> <0x00 0x4c000000 0x00 0x20000>,
> <0x00 0x4a820000 0x00 0x20000>,
> <0x00 0x4aa40000 0x00 0x20000>,
> - <0x00 0x4bc00000 0x00 0x100000>;
> - reg-names = "gcfg", "bchanrt", "rchanrt", "tchanrt", "ringrt";
> + <0x00 0x4bc00000 0x00 0x100000>,
> + <0x00 0x48600000 0x00 0x8000>,
> + <0x00 0x484a4000 0x00 0x2000>,
> + <0x00 0x484c2000 0x00 0x2000>,
> + <0x00 0x48420000 0x00 0x2000>;
> + reg-names = "gcfg", "bchanrt", "rchanrt", "tchanrt", "ringrt",
> + "ring", "tchan", "rchan", "bchan";

BCDMA ranges LGTM, but PDMA ranges below are not matching with the TRM.

> msi-parent = <&inta_main_dmss>;
> #dma-cells = <3>;
>
> @@ -138,8 +143,13 @@ main_pktdma: dma-controller@485c0000 {
> reg = <0x00 0x485c0000 0x00 0x100>,
> <0x00 0x4a800000 0x00 0x20000>,
> <0x00 0x4aa00000 0x00 0x40000>,
> - <0x00 0x4b800000 0x00 0x400000>;
> - reg-names = "gcfg", "rchanrt", "tchanrt", "ringrt";
> + <0x00 0x4b800000 0x00 0x400000>,
> + <0x00 0x485e0000 0x00 0x20000>,

PKTDMA RING region range 0x10000 in the TRM.

> + <0x00 0x484a0000 0x00 0x4000>,

PKTDMA TCHAN region range is 0x2000 in the TRM.

> + <0x00 0x484c0000 0x00 0x2000>,

This matches TRM.

> + <0x00 0x48430000 0x00 0x4000>;

PKGTMA RFLOW region range is 0x1000 in the TRM.

> + reg-names = "gcfg", "rchanrt", "tchanrt", "ringrt",
> + "ring", "tchan", "rchan", "rflow";
> msi-parent = <&inta_main_dmss>;
> #dma-cells = <2>;
>
> diff --git a/arch/arm64/boot/dts/ti/k3-am62a-main.dtsi b/arch/arm64/boot/dts/ti/k3-am62a-main.dtsi
> index 4ae7fdc5221b..36947d9d644d 100644
> --- a/arch/arm64/boot/dts/ti/k3-am62a-main.dtsi
> +++ b/arch/arm64/boot/dts/ti/k3-am62a-main.dtsi
> @@ -101,8 +101,13 @@ main_bcdma: dma-controller@485c0100 {
> <0x00 0x4c000000 0x00 0x20000>,
> <0x00 0x4a820000 0x00 0x20000>,
> <0x00 0x4aa40000 0x00 0x20000>,
> - <0x00 0x4bc00000 0x00 0x100000>;
> - reg-names = "gcfg", "bchanrt", "rchanrt", "tchanrt", "ringrt";
> + <0x00 0x4bc00000 0x00 0x100000>,
> + <0x00 0x48600000 0x00 0x8000>,
> + <0x00 0x484a4000 0x00 0x2000>,
> + <0x00 0x484c2000 0x00 0x2000>,
> + <0x00 0x48420000 0x00 0x2000>;
> + reg-names = "gcfg", "bchanrt", "rchanrt", "tchanrt", "ringrt",
> + "ring", "tchan", "rchan", "bchan";
> msi-parent = <&inta_main_dmss>;
> #dma-cells = <3>;
> ti,sci = <&dmsc>;
> @@ -117,8 +122,13 @@ main_pktdma: dma-controller@485c0000 {
> reg = <0x00 0x485c0000 0x00 0x100>,
> <0x00 0x4a800000 0x00 0x20000>,
> <0x00 0x4aa00000 0x00 0x40000>,
> - <0x00 0x4b800000 0x00 0x400000>;
> - reg-names = "gcfg", "rchanrt", "tchanrt", "ringrt";
> + <0x00 0x4b800000 0x00 0x400000>,
> + <0x00 0x485e0000 0x00 0x20000>,
> + <0x00 0x484a0000 0x00 0x4000>,
> + <0x00 0x484c0000 0x00 0x2000>,
> + <0x00 0x48430000 0x00 0x4000>;

Same issue as AM62, the TRM mentions a different size for these regions.

> + reg-names = "gcfg", "rchanrt", "tchanrt", "ringrt",
> + "ring", "tchan", "rchan", "rflow";
> msi-parent = <&inta_main_dmss>;
> #dma-cells = <2>;
> ti,sci = <&dmsc>;
> diff --git a/arch/arm64/boot/dts/ti/k3-am62p-main.dtsi b/arch/arm64/boot/dts/ti/k3-am62p-main.dtsi
> index 963758c7d377..21981489b4db 100644
> --- a/arch/arm64/boot/dts/ti/k3-am62p-main.dtsi
> +++ b/arch/arm64/boot/dts/ti/k3-am62p-main.dtsi
> @@ -101,8 +101,13 @@ main_bcdma: dma-controller@485c0100 {
> <0x00 0x4c000000 0x00 0x20000>,
> <0x00 0x4a820000 0x00 0x20000>,
> <0x00 0x4aa40000 0x00 0x20000>,
> - <0x00 0x4bc00000 0x00 0x100000>;
> - reg-names = "gcfg", "bchanrt", "rchanrt", "tchanrt", "ringrt";
> + <0x00 0x4bc00000 0x00 0x100000>,
> + <0x00 0x48600000 0x00 0x8000>,
> + <0x00 0x484a4000 0x00 0x2000>,
> + <0x00 0x484c2000 0x00 0x2000>,
> + <0x00 0x48420000 0x00 0x2000>;
> + reg-names = "gcfg", "bchanrt", "rchanrt", "tchanrt", "ringrt",
> + "ring", "tchan", "rchan", "bchan";
> msi-parent = <&inta_main_dmss>;
> #dma-cells = <3>;
>
> @@ -119,8 +124,13 @@ main_pktdma: dma-controller@485c0000 {
> reg = <0x00 0x485c0000 0x00 0x100>,
> <0x00 0x4a800000 0x00 0x20000>,
> <0x00 0x4aa00000 0x00 0x40000>,
> - <0x00 0x4b800000 0x00 0x400000>;
> - reg-names = "gcfg", "rchanrt", "tchanrt", "ringrt";
> + <0x00 0x4b800000 0x00 0x400000>,
> + <0x00 0x485e0000 0x00 0x20000>,
> + <0x00 0x484a0000 0x00 0x4000>,
> + <0x00 0x484c0000 0x00 0x2000>,
> + <0x00 0x48430000 0x00 0x4000>;

Same here as well.

> + reg-names = "gcfg", "rchanrt", "tchanrt", "ringrt",
> + "ring", "tchan", "rchan", "rflow";
> msi-parent = <&inta_main_dmss>;
> #dma-cells = <2>;
> bootph-all;
> diff --git a/arch/arm64/boot/dts/ti/k3-am64-main.dtsi b/arch/arm64/boot/dts/ti/k3-am64-main.dtsi
> index 0be642bc1b86..bcdfd61c7d98 100644
> --- a/arch/arm64/boot/dts/ti/k3-am64-main.dtsi
> +++ b/arch/arm64/boot/dts/ti/k3-am64-main.dtsi
> @@ -138,8 +138,13 @@ main_bcdma: dma-controller@485c0100 {
> <0x00 0x4c000000 0x00 0x20000>,
> <0x00 0x4a820000 0x00 0x20000>,
> <0x00 0x4aa40000 0x00 0x20000>,
> - <0x00 0x4bc00000 0x00 0x100000>;
> - reg-names = "gcfg", "bchanrt", "rchanrt", "tchanrt", "ringrt";
> + <0x00 0x4bc00000 0x00 0x100000>,
> + <0x00 0x48600000 0x00 0x8000>,
> + <0x00 0x484a4000 0x00 0x2000>,
> + <0x00 0x484c2000 0x00 0x2000>,
> + <0x00 0x48420000 0x00 0x2000>;
> + reg-names = "gcfg", "bchanrt", "rchanrt", "tchanrt", "ringrt",
> + "ring", "tchan", "rchan", "bchan";
> msi-parent = <&inta_main_dmss>;
> #dma-cells = <3>;
>
> @@ -155,8 +160,13 @@ main_pktdma: dma-controller@485c0000 {
> reg = <0x00 0x485c0000 0x00 0x100>,
> <0x00 0x4a800000 0x00 0x20000>,
> <0x00 0x4aa00000 0x00 0x40000>,
> - <0x00 0x4b800000 0x00 0x400000>;
> - reg-names = "gcfg", "rchanrt", "tchanrt", "ringrt";
> + <0x00 0x4b800000 0x00 0x400000>,
> + <0x00 0x485e0000 0x00 0x20000>,
> + <0x00 0x484a0000 0x00 0x4000>,
> + <0x00 0x484c0000 0x00 0x2000>,
> + <0x00 0x48430000 0x00 0x4000>;

Did not check TRM for AM64, might need a fix here as well.

> + reg-names = "gcfg", "rchanrt", "tchanrt", "ringrt",
> + "ring", "tchan", "rchan", "rflow";
> msi-parent = <&inta_main_dmss>;
> #dma-cells = <2>;
>
> --
> 2.43.0
>
>

--
Thanks,
Jai

GPG Fingerprint: 4DE0 D818 E5D5 75E8 D45A AFC5 43DE 91F9 249A 7145


Attachments:
(No filename) (7.88 kB)
signature.asc (849.00 B)
Download all attachments

2023-12-13 09:57:48

by Jai Luthra

[permalink] [raw]
Subject: Re: [PATCH 2/3] arm64: dts: ti: k3-j7*: Add additional regs for DMA components

Hi Manorit/Vignesh,

Please recheck the addresses match each SoCs TRM.

On Dec 12, 2023 at 16:46:33 +0530, Vignesh Raghavendra wrote:
> From: Manorit Chawdhry <[email protected]>
>
> Add additional reg properties for UDMA and RingAcc nodes which are
> mostly used by bootloader components before Device Manager firmware
> services are available, in order to setup DMA transfers.
>
> Signed-off-by: Manorit Chawdhry <[email protected]>
> Signed-off-by: Vignesh Raghavendra <[email protected]>
> ---
> arch/arm64/boot/dts/ti/k3-j7200-main.dtsi | 8 ++++++--
> arch/arm64/boot/dts/ti/k3-j7200-mcu-wakeup.dtsi | 8 ++++++--
> arch/arm64/boot/dts/ti/k3-j721e-main.dtsi | 8 ++++++--
> arch/arm64/boot/dts/ti/k3-j721e-mcu-wakeup.dtsi | 8 ++++++--
> arch/arm64/boot/dts/ti/k3-j721s2-main.dtsi | 8 ++++++--
> arch/arm64/boot/dts/ti/k3-j721s2-mcu-wakeup.dtsi | 8 ++++++--
> arch/arm64/boot/dts/ti/k3-j784s4-main.dtsi | 8 ++++++--
> arch/arm64/boot/dts/ti/k3-j784s4-mcu-wakeup.dtsi | 8 ++++++--
> 8 files changed, 48 insertions(+), 16 deletions(-)
>
> diff --git a/arch/arm64/boot/dts/ti/k3-j7200-main.dtsi b/arch/arm64/boot/dts/ti/k3-j7200-main.dtsi
> index 264913f83287..97b90f4d09dd 100644
> --- a/arch/arm64/boot/dts/ti/k3-j7200-main.dtsi
> +++ b/arch/arm64/boot/dts/ti/k3-j7200-main.dtsi
> @@ -281,8 +281,12 @@ main_udmap: dma-controller@31150000 {
> compatible = "ti,j721e-navss-main-udmap";
> reg = <0x00 0x31150000 0x00 0x100>,
> <0x00 0x34000000 0x00 0x100000>,
> - <0x00 0x35000000 0x00 0x100000>;
> - reg-names = "gcfg", "rchanrt", "tchanrt";
> + <0x00 0x35000000 0x00 0x100000>,
> + <0x00 0x30b00000 0x00 0x20000>,
> + <0x00 0x30c00000 0x00 0x8000>,
> + <0x00 0x30d00000 0x00 0x4000>;
> + reg-names = "gcfg", "rchanrt", "tchanrt",
> + "tchan", "rchan", "rflow";
> msi-parent = <&main_udmass_inta>;
> #dma-cells = <1>;
>
> diff --git a/arch/arm64/boot/dts/ti/k3-j7200-mcu-wakeup.dtsi b/arch/arm64/boot/dts/ti/k3-j7200-mcu-wakeup.dtsi
> index 3fc588b848c6..576ed7494521 100644
> --- a/arch/arm64/boot/dts/ti/k3-j7200-mcu-wakeup.dtsi
> +++ b/arch/arm64/boot/dts/ti/k3-j7200-mcu-wakeup.dtsi
> @@ -346,8 +346,12 @@ mcu_udmap: dma-controller@285c0000 {
> compatible = "ti,j721e-navss-mcu-udmap";
> reg = <0x00 0x285c0000 0x00 0x100>,
> <0x00 0x2a800000 0x00 0x40000>,
> - <0x00 0x2aa00000 0x00 0x40000>;
> - reg-names = "gcfg", "rchanrt", "tchanrt";
> + <0x00 0x2aa00000 0x00 0x40000>,
> + <0x00 0x284a0000 0x00 0x4000>,
> + <0x00 0x284c0000 0x00 0x4000>,
> + <0x00 0x28400000 0x00 0x2000>;
> + reg-names = "gcfg", "rchanrt", "tchanrt",
> + "tchan", "rchan", "rflow";
> msi-parent = <&main_udmass_inta>;
> #dma-cells = <1>;
>
> diff --git a/arch/arm64/boot/dts/ti/k3-j721e-main.dtsi b/arch/arm64/boot/dts/ti/k3-j721e-main.dtsi
> index 746b9f8b1c64..f1e995d12d74 100644
> --- a/arch/arm64/boot/dts/ti/k3-j721e-main.dtsi
> +++ b/arch/arm64/boot/dts/ti/k3-j721e-main.dtsi
> @@ -382,8 +382,12 @@ main_udmap: dma-controller@31150000 {
> compatible = "ti,j721e-navss-main-udmap";
> reg = <0x0 0x31150000 0x0 0x100>,
> <0x0 0x34000000 0x0 0x100000>,
> - <0x0 0x35000000 0x0 0x100000>;
> - reg-names = "gcfg", "rchanrt", "tchanrt";
> + <0x0 0x35000000 0x0 0x100000>,
> + <0x0 0x30b00000 0x0 0x20000>,
> + <0x0 0x30c00000 0x0 0x8000>,

Above don't match J721E TRM, which says TCHAN has size 0x10000.

> + <0x00 0x30d00000 0x00 0x4000>;

Same here, TRM says 0x8000.
I did not check J7200/J721S2 TRMs, please do.

> + reg-names = "gcfg", "rchanrt", "tchanrt",
> + "tchan", "rchan", "rflow";
> msi-parent = <&main_udmass_inta>;
> #dma-cells = <1>;
>
> diff --git a/arch/arm64/boot/dts/ti/k3-j721e-mcu-wakeup.dtsi b/arch/arm64/boot/dts/ti/k3-j721e-mcu-wakeup.dtsi
> index f7ab7719fc07..011d93e32238 100644
> --- a/arch/arm64/boot/dts/ti/k3-j721e-mcu-wakeup.dtsi
> +++ b/arch/arm64/boot/dts/ti/k3-j721e-mcu-wakeup.dtsi
> @@ -468,8 +468,12 @@ mcu_udmap: dma-controller@285c0000 {
> compatible = "ti,j721e-navss-mcu-udmap";
> reg = <0x0 0x285c0000 0x0 0x100>,
> <0x0 0x2a800000 0x0 0x40000>,
> - <0x0 0x2aa00000 0x0 0x40000>;
> - reg-names = "gcfg", "rchanrt", "tchanrt";
> + <0x0 0x2aa00000 0x0 0x40000>,
> + <0x0 0x284a0000 0x0 0x4000>,
> + <0x0 0x284c0000 0x0 0x4000>,
> + <0x0 0x28400000 0x0 0x2000>;
> + reg-names = "gcfg", "rchanrt", "tchanrt",
> + "tchan", "rchan", "rflow";
> msi-parent = <&main_udmass_inta>;
> #dma-cells = <1>;
>
> diff --git a/arch/arm64/boot/dts/ti/k3-j721s2-main.dtsi b/arch/arm64/boot/dts/ti/k3-j721s2-main.dtsi
> index b03731b53a26..2ed469d36f1d 100644
> --- a/arch/arm64/boot/dts/ti/k3-j721s2-main.dtsi
> +++ b/arch/arm64/boot/dts/ti/k3-j721s2-main.dtsi
> @@ -1086,8 +1086,12 @@ main_udmap: dma-controller@31150000 {
> compatible = "ti,j721e-navss-main-udmap";
> reg = <0x0 0x31150000 0x0 0x100>,
> <0x0 0x34000000 0x0 0x80000>,
> - <0x0 0x35000000 0x0 0x200000>;
> - reg-names = "gcfg", "rchanrt", "tchanrt";
> + <0x0 0x35000000 0x0 0x200000>,
> + <0x0 0x30b00000 0x0 0x8000>,
> + <0x0 0x30c00000 0x0 0x20000>,
> + <0x0 0x30d00000 0x0 0x4000>;
> + reg-names = "gcfg", "rchanrt", "tchanrt",
> + "tchan", "rchan", "rflow";
> msi-parent = <&main_udmass_inta>;
> #dma-cells = <1>;
>
> diff --git a/arch/arm64/boot/dts/ti/k3-j721s2-mcu-wakeup.dtsi b/arch/arm64/boot/dts/ti/k3-j721s2-mcu-wakeup.dtsi
> index 7254f3bd3634..75c6931480dd 100644
> --- a/arch/arm64/boot/dts/ti/k3-j721s2-mcu-wakeup.dtsi
> +++ b/arch/arm64/boot/dts/ti/k3-j721s2-mcu-wakeup.dtsi
> @@ -471,8 +471,12 @@ mcu_udmap: dma-controller@285c0000 {
> compatible = "ti,j721e-navss-mcu-udmap";
> reg = <0x0 0x285c0000 0x0 0x100>,
> <0x0 0x2a800000 0x0 0x40000>,
> - <0x0 0x2aa00000 0x0 0x40000>;
> - reg-names = "gcfg", "rchanrt", "tchanrt";
> + <0x0 0x2aa00000 0x0 0x40000>,
> + <0x0 0x284a0000 0x0 0x4000>,
> + <0x0 0x284c0000 0x0 0x4000>,
> + <0x0 0x28400000 0x0 0x2000>;
> + reg-names = "gcfg", "rchanrt", "tchanrt",
> + "tchan", "rchan", "rflow";
> msi-parent = <&main_udmass_inta>;
> #dma-cells = <1>;
>
> diff --git a/arch/arm64/boot/dts/ti/k3-j784s4-main.dtsi b/arch/arm64/boot/dts/ti/k3-j784s4-main.dtsi
> index d89bcddcfe3d..827328450f96 100644
> --- a/arch/arm64/boot/dts/ti/k3-j784s4-main.dtsi
> +++ b/arch/arm64/boot/dts/ti/k3-j784s4-main.dtsi
> @@ -1188,8 +1188,12 @@ main_udmap: dma-controller@31150000 {
> compatible = "ti,j721e-navss-main-udmap";
> reg = <0x00 0x31150000 0x00 0x100>,
> <0x00 0x34000000 0x00 0x80000>,
> - <0x00 0x35000000 0x00 0x200000>;
> - reg-names = "gcfg", "rchanrt", "tchanrt";
> + <0x00 0x35000000 0x00 0x200000>,
> + <0x00 0x30b00000 0x00 0x20000>,
> + <0x00 0x30c00000 0x00 0x8000>,
> + <0x00 0x30d00000 0x00 0x4000>;
> + reg-names = "gcfg", "rchanrt", "tchanrt",
> + "tchan", "rchan", "rflow";
> msi-parent = <&main_udmass_inta>;
> #dma-cells = <1>;
>
> diff --git a/arch/arm64/boot/dts/ti/k3-j784s4-mcu-wakeup.dtsi b/arch/arm64/boot/dts/ti/k3-j784s4-mcu-wakeup.dtsi
> index adb5ea6b9732..0eebb92e6a72 100644
> --- a/arch/arm64/boot/dts/ti/k3-j784s4-mcu-wakeup.dtsi
> +++ b/arch/arm64/boot/dts/ti/k3-j784s4-mcu-wakeup.dtsi
> @@ -478,8 +478,12 @@ mcu_udmap: dma-controller@285c0000 {
> compatible = "ti,j721e-navss-mcu-udmap";
> reg = <0x00 0x285c0000 0x00 0x100>,
> <0x00 0x2a800000 0x00 0x40000>,
> - <0x00 0x2aa00000 0x00 0x40000>;
> - reg-names = "gcfg", "rchanrt", "tchanrt";
> + <0x00 0x2aa00000 0x00 0x40000>,
> + <0x00 0x284a0000 0x00 0x4000>,
> + <0x00 0x284c0000 0x00 0x4000>,
> + <0x00 0x28400000 0x00 0x2000>;
> + reg-names = "gcfg", "rchanrt", "tchanrt",
> + "tchan", "rchan", "rflow";
> msi-parent = <&main_udmass_inta>;
> #dma-cells = <1>;
>
> --
> 2.43.0
>
>

--
Thanks,
Jai

GPG Fingerprint: 4DE0 D818 E5D5 75E8 D45A AFC5 43DE 91F9 249A 7145


Attachments:
(No filename) (8.24 kB)
signature.asc (849.00 B)
Download all attachments