[openwrt/openwrt] mvebu: add Methode euroDPU support
LEDE Commits
lede-commits at lists.infradead.org
Wed Jun 29 04:10:10 PDT 2022
ansuel pushed a commit to openwrt/openwrt.git, branch master:
https://git.openwrt.org/57a38c8d3e85dd94d4912febc3906db77a855b43
commit 57a38c8d3e85dd94d4912febc3906db77a855b43
Author: Robert Marko <robert.marko at sartura.hr>
AuthorDate: Wed Mar 30 14:04:10 2022 +0200
mvebu: add Methode euroDPU support
Add support for Methode euroDPU which is based on uDPU but does not
have a second SFP cage, instead of which a Maxlinear G.hn IC is used.
PHY mode is set to 1000Base-X despite Maxlinear IC being capable of
2500Base-X since until 5.15 support for mvebu is available trying to use
2500Base-X will cause buffer overruns for which the fix is not easily
backportable.
Installation instructions:
1. Boot the FIT initramfs image (openwrt-mvebu-cortexa53-methode_edpu-initramfs.itb)
2. sysupgrade using the openwrt-mvebu-cortexa53-methode_edpu-firmware.tgz
Signed-off-by: Robert Marko <robert.marko at sartura.hr>
---
package/boot/uboot-envtools/files/mvebu | 3 ++-
.../mvebu/cortexa53/base-files/etc/board.d/02_network | 3 ++-
.../mvebu/cortexa53/base-files/lib/preinit/82_uDPU | 3 ++-
.../cortexa53/base-files/lib/upgrade/platform.sh | 6 ++++--
.../arch/arm64/boot/dts/marvell/armada-3720-eDPU.dts | 19 +++++++++++++++++++
target/linux/mvebu/image/cortexa53.mk | 8 ++++++++
6 files changed, 37 insertions(+), 5 deletions(-)
diff --git a/package/boot/uboot-envtools/files/mvebu b/package/boot/uboot-envtools/files/mvebu
index a90f74c517..cc1c648f24 100644
--- a/package/boot/uboot-envtools/files/mvebu
+++ b/package/boot/uboot-envtools/files/mvebu
@@ -58,7 +58,8 @@ linksys,wrt3200acm|\
linksys,wrt32x)
ubootenv_add_uci_config "/dev/mtd1" "0x0" "0x20000" "0x20000"
;;
-methode,udpu)
+methode,udpu|\
+methode,edpu)
idx="$(find_mtd_index u-boot-env)"
if [ -n "$idx" ]; then
ubootenv_add_uci_config "/dev/mtd$idx" "0x0" "0x10000" "0x10000" "1"
diff --git a/target/linux/mvebu/cortexa53/base-files/etc/board.d/02_network b/target/linux/mvebu/cortexa53/base-files/etc/board.d/02_network
index 7da9de58c7..489090d77c 100644
--- a/target/linux/mvebu/cortexa53/base-files/etc/board.d/02_network
+++ b/target/linux/mvebu/cortexa53/base-files/etc/board.d/02_network
@@ -21,7 +21,8 @@ globalscale,espressobin-ultra)
ucidef_set_interfaces_lan_wan "lan0 lan1 lan2 lan3" "wan"
;;
marvell,armada-3720-db|\
-methode,udpu)
+methode,udpu|\
+methode,edpu)
ucidef_set_interfaces_lan_wan "eth1" "eth0"
;;
*)
diff --git a/target/linux/mvebu/cortexa53/base-files/lib/preinit/82_uDPU b/target/linux/mvebu/cortexa53/base-files/lib/preinit/82_uDPU
index 12bbfc3725..8d5a482b82 100644
--- a/target/linux/mvebu/cortexa53/base-files/lib/preinit/82_uDPU
+++ b/target/linux/mvebu/cortexa53/base-files/lib/preinit/82_uDPU
@@ -8,7 +8,8 @@ preinit_mount_udpu() {
. /lib/upgrade/common.sh
case $(board_name) in
- methode,udpu)
+ methode,udpu|\
+ methode,edpu)
# Check which device is detected
[ -b "/dev/mmcblk0" ] && mmcdev="/dev/mmcblk0" || mmcdev="/dev/mmcblk1"
diff --git a/target/linux/mvebu/cortexa53/base-files/lib/upgrade/platform.sh b/target/linux/mvebu/cortexa53/base-files/lib/upgrade/platform.sh
index 0ee1d61506..cd41c39d7c 100755
--- a/target/linux/mvebu/cortexa53/base-files/lib/upgrade/platform.sh
+++ b/target/linux/mvebu/cortexa53/base-files/lib/upgrade/platform.sh
@@ -33,7 +33,8 @@ platform_do_upgrade() {
globalscale,espressobin-v7-emmc)
legacy_sdcard_do_upgrade "$1"
;;
- methode,udpu)
+ methode,udpu|\
+ methode,edpu)
platform_do_upgrade_uDPU "$1"
;;
*)
@@ -51,7 +52,8 @@ platform_copy_config() {
globalscale,espressobin-v7-emmc)
legacy_sdcard_copy_config
;;
- methode,udpu)
+ methode,udpu|\
+ methode,edpu)
platform_copy_config_uDPU
;;
esac
diff --git a/target/linux/mvebu/files/arch/arm64/boot/dts/marvell/armada-3720-eDPU.dts b/target/linux/mvebu/files/arch/arm64/boot/dts/marvell/armada-3720-eDPU.dts
new file mode 100644
index 0000000000..4db8b946df
--- /dev/null
+++ b/target/linux/mvebu/files/arch/arm64/boot/dts/marvell/armada-3720-eDPU.dts
@@ -0,0 +1,19 @@
+// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
+
+/dts-v1/;
+
+#include "armada-3720-uDPU.dtsi"
+
+/ {
+ model = "Methode eDPU Board";
+ compatible = "methode,edpu", "marvell,armada3720", "marvell,armada3710";
+};
+
+/* PHY mode is set to 1000Base-X despite Maxlinear IC being capable of
+ * 2500Base-X since until 5.15 support for mvebu is available trying to
+ * use 2500Base-X will cause buffer overruns for which the fix is not
+ * easily backportable.
+ */
+ð0 {
+ phy-mode = "1000base-x";
+};
diff --git a/target/linux/mvebu/image/cortexa53.mk b/target/linux/mvebu/image/cortexa53.mk
index bfaa597d9a..afe8d9ce21 100644
--- a/target/linux/mvebu/image/cortexa53.mk
+++ b/target/linux/mvebu/image/cortexa53.mk
@@ -92,3 +92,11 @@ define Device/methode_udpu
BOOT_SCRIPT := udpu
endef
TARGET_DEVICES += methode_udpu
+
+define Device/methode_edpu
+ $(call Device/methode_udpu)
+ DEVICE_MODEL := eDPU
+ DEVICE_DTS := armada-3720-eDPU
+ KERNEL_INITRAMFS := kernel-bin | gzip | fit gzip $$(KDIR)/image-$$(DEVICE_DTS).dtb
+endef
+TARGET_DEVICES += methode_edpu
More information about the lede-commits
mailing list