[PATCH v2 0/3] arm: dts: k3-am6: Fix Ethernet/DMA

Hi,
Since commit [1], Ethernet is broken on TI AM62 and AM64 platforms.
The commit [1] is not the culprit. It just unearths the problem by fixing the error check in k3-udma.c. This issue was silently being ignored earlier due to wrong error check. [NULL instead of FDT_ADDR_T_NONE].
Fix the issue by adding the necessary register spaces for the u-boot K3-UDMA driver for AM62 and AM64 platforms.
These properties will eventually make it into the SoC DTSi files [2] after which these can be dropped from k3-*-u-boot.dtsi files.
[1] - 5fecea171de3dd ("treewide: use dev_read_addr_*_ptr() where appropriate") [2] - https://lore.kernel.org/linux-arm-kernel/20230810174356.3322583-1-vigneshr@t...
cheers, -roger
Changelog: v2: - move 'bootph-all' to the end of the nodes - add changes to existing main_bcdma and main_pktdma nodes - drop duplicate main_pktdma node in k3-am642-sk-u-boot.dtsi - Add Tested-by and Reviewed-by tags
Roger Quadros (1): arm: dts: k3-am625-verdin-wifi-dev-u-boot.dtsi: Fix DMA/Ethernet
Siddharth Vadapalli (2): arm: dts: k3-am625-sk-u-boot.dtsi: Update main_bcdma and main_pktdma nodes arm: dts: k3-am642: Update main_bcdma and main_pktdma nodes
arch/arm/dts/k3-am625-sk-u-boot.dtsi | 23 ++++++++++++++++ .../dts/k3-am625-verdin-wifi-dev-u-boot.dtsi | 27 +++++++++++++++++++ arch/arm/dts/k3-am642-evm-u-boot.dtsi | 23 ++++++++++++++++ arch/arm/dts/k3-am642-sk-u-boot.dtsi | 24 ++++++++++++++--- 4 files changed, 93 insertions(+), 4 deletions(-)
base-commit: 4bb6f61220f7f4c79ccf98f4281733e6ea6c50f0 prerequisite-patch-id: 3125319138da332af1e7650e3ae0d78dab0ff312

From: Siddharth Vadapalli s-vadapalli@ti.com
Update main_bcdma and main_pktdma nodes for native configuration in the absence of DM services.
Reported-by: Nishanth Menon nm@ti.com Signed-off-by: Siddharth Vadapalli s-vadapalli@ti.com Signed-off-by: Roger Quadros rogerq@kernel.org Reviewed-by: Nishanth Menon nm@ti.com --- arch/arm/dts/k3-am625-sk-u-boot.dtsi | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+)
diff --git a/arch/arm/dts/k3-am625-sk-u-boot.dtsi b/arch/arm/dts/k3-am625-sk-u-boot.dtsi index b78d34b459..7ae5e01f7c 100644 --- a/arch/arm/dts/k3-am625-sk-u-boot.dtsi +++ b/arch/arm/dts/k3-am625-sk-u-boot.dtsi @@ -126,7 +126,30 @@ bootph-all; };
+&main_bcdma { + reg = <0x00 0x485c0100 0x00 0x100>, + <0x00 0x4c000000 0x00 0x20000>, + <0x00 0x4a820000 0x00 0x20000>, + <0x00 0x4aa40000 0x00 0x20000>, + <0x00 0x4bc00000 0x00 0x100000>, + <0x00 0x48600000 0x00 0x8000>, + <0x00 0x484a4000 0x00 0x2000>, + <0x00 0x484c2000 0x00 0x2000>; + reg-names = "gcfg", "bchanrt", "rchanrt", "tchanrt", + "ringrt" , "cfg", "tchan", "rchan"; +}; + &main_pktdma { + reg = <0x00 0x485c0000 0x00 0x100>, + <0x00 0x4a800000 0x00 0x20000>, + <0x00 0x4aa00000 0x00 0x20000>, + <0x00 0x4b800000 0x00 0x200000>, + <0x00 0x485e0000 0x00 0x10000>, + <0x00 0x484a0000 0x00 0x2000>, + <0x00 0x484c0000 0x00 0x2000>, + <0x00 0x48430000 0x00 0x1000>; + reg-names = "gcfg", "rchanrt", "tchanrt", "ringrt", + "cfg", "tchan", "rchan", "rflow"; bootph-all; };

Update main_bcdma and main_pktdma nodes for native configuration in the absence of DM services. u-boot k3-udma driver expects these additional register fields else probe will fail.
Reported-by: Nishanth Menon nm@ti.com Signed-off-by: Roger Quadros rogerq@kernel.org Reviewed-by: Nishanth Menon nm@ti.com Tested-by: Marcel Ziswiler marcel.ziswiler@toradex.com --- .../dts/k3-am625-verdin-wifi-dev-u-boot.dtsi | 27 +++++++++++++++++++ 1 file changed, 27 insertions(+)
diff --git a/arch/arm/dts/k3-am625-verdin-wifi-dev-u-boot.dtsi b/arch/arm/dts/k3-am625-verdin-wifi-dev-u-boot.dtsi index afa24d07a4..75cb60b57d 100644 --- a/arch/arm/dts/k3-am625-verdin-wifi-dev-u-boot.dtsi +++ b/arch/arm/dts/k3-am625-verdin-wifi-dev-u-boot.dtsi @@ -42,6 +42,33 @@ bootph-all; };
+&main_bcdma { + reg = <0x00 0x485c0100 0x00 0x100>, + <0x00 0x4c000000 0x00 0x20000>, + <0x00 0x4a820000 0x00 0x20000>, + <0x00 0x4aa40000 0x00 0x20000>, + <0x00 0x4bc00000 0x00 0x100000>, + <0x00 0x48600000 0x00 0x8000>, + <0x00 0x484a4000 0x00 0x2000>, + <0x00 0x484c2000 0x00 0x2000>; + reg-names = "gcfg", "bchanrt", "rchanrt", "tchanrt", + "ringrt" , "cfg", "tchan", "rchan"; +}; + +&main_pktdma { + reg = <0x00 0x485c0000 0x00 0x100>, + <0x00 0x4a800000 0x00 0x20000>, + <0x00 0x4aa00000 0x00 0x20000>, + <0x00 0x4b800000 0x00 0x200000>, + <0x00 0x485e0000 0x00 0x10000>, + <0x00 0x484a0000 0x00 0x2000>, + <0x00 0x484c0000 0x00 0x2000>, + <0x00 0x48430000 0x00 0x1000>; + reg-names = "gcfg", "rchanrt", "tchanrt", "ringrt", + "cfg", "tchan", "rchan", "rflow"; + bootph-all; +}; + &cpsw3g { bootph-all; };

From: Siddharth Vadapalli s-vadapalli@ti.com
Update main_bcdma and main_pktdma nodes for native configuration in the absence of DM services.
Drop duplicate main_pktdma node in k3-am642-sk-u-boot.dtsi.
Reported-by: Nishanth Menon nm@ti.com Signed-off-by: Siddharth Vadapalli s-vadapalli@ti.com Signed-off-by: Roger Quadros rogerq@kernel.org Reviewed-by: Nishanth Menon nm@ti.com --- arch/arm/dts/k3-am642-evm-u-boot.dtsi | 23 +++++++++++++++++++++++ arch/arm/dts/k3-am642-sk-u-boot.dtsi | 24 ++++++++++++++++++++---- 2 files changed, 43 insertions(+), 4 deletions(-)
diff --git a/arch/arm/dts/k3-am642-evm-u-boot.dtsi b/arch/arm/dts/k3-am642-evm-u-boot.dtsi index 953bbe9aaf..b843078243 100644 --- a/arch/arm/dts/k3-am642-evm-u-boot.dtsi +++ b/arch/arm/dts/k3-am642-evm-u-boot.dtsi @@ -116,7 +116,30 @@ bootph-all; };
+&main_bcdma { + reg = <0x00 0x485c0100 0x00 0x100>, + <0x00 0x4c000000 0x00 0x20000>, + <0x00 0x4a820000 0x00 0x20000>, + <0x00 0x4aa40000 0x00 0x20000>, + <0x00 0x4bc00000 0x00 0x100000>, + <0x00 0x48600000 0x00 0x8000>, + <0x00 0x484a4000 0x00 0x2000>, + <0x00 0x484c2000 0x00 0x2000>; + reg-names = "gcfg", "bchanrt", "rchanrt", "tchanrt", "ringrt", + "cfg", "tchan", "rchan"; +}; + &main_pktdma { + reg = <0x00 0x485c0000 0x00 0x100>, + <0x00 0x4a800000 0x00 0x20000>, + <0x00 0x4aa00000 0x00 0x40000>, + <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", "cfg", + "tchan", "rchan", "rflow"; bootph-all; };
diff --git a/arch/arm/dts/k3-am642-sk-u-boot.dtsi b/arch/arm/dts/k3-am642-sk-u-boot.dtsi index 40a53df0b0..2eb227c1d0 100644 --- a/arch/arm/dts/k3-am642-sk-u-boot.dtsi +++ b/arch/arm/dts/k3-am642-sk-u-boot.dtsi @@ -96,10 +96,6 @@ bootph-all; };
-&main_pktdma { - bootph-all; -}; - &mdio1_pins_default { bootph-all; }; @@ -141,10 +137,30 @@ };
&main_bcdma { + reg = <0x00 0x485c0100 0x00 0x100>, + <0x00 0x4c000000 0x00 0x20000>, + <0x00 0x4a820000 0x00 0x20000>, + <0x00 0x4aa40000 0x00 0x20000>, + <0x00 0x4bc00000 0x00 0x100000>, + <0x00 0x48600000 0x00 0x8000>, + <0x00 0x484a4000 0x00 0x2000>, + <0x00 0x484c2000 0x00 0x2000>; + reg-names = "gcfg", "bchanrt", "rchanrt", "tchanrt", "ringrt", + "cfg", "tchan", "rchan"; bootph-all; };
&main_pktdma { + reg = <0x00 0x485c0000 0x00 0x100>, + <0x00 0x4a800000 0x00 0x20000>, + <0x00 0x4aa00000 0x00 0x40000>, + <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", "cfg", + "tchan", "rchan", "rflow"; bootph-all; };

On Sat, 28 Oct 2023 20:36:00 +0300, Roger Quadros wrote:
Since commit [1], Ethernet is broken on TI AM62 and AM64 platforms.
The commit [1] is not the culprit. It just unearths the problem by fixing the error check in k3-udma.c. This issue was silently being ignored earlier due to wrong error check. [NULL instead of FDT_ADDR_T_NONE].
Fix the issue by adding the necessary register spaces for the u-boot K3-UDMA driver for AM62 and AM64 platforms.
[...]
Applied to u-boot/master, thanks!
participants (2)
-
Roger Quadros
-
Tom Rini