aboutsummaryrefslogtreecommitdiffstats
path: root/target/linux/mvebu
diff options
context:
space:
mode:
authorRobert Marko <robert.marko@sartura.hr>2022-03-30 14:04:10 +0200
committerChristian 'Ansuel' Marangi <ansuelsmth@gmail.com>2022-06-29 13:08:59 +0200
commit57a38c8d3e85dd94d4912febc3906db77a855b43 (patch)
treef0a61c317e938981d659beacc3c3fd665f575f95 /target/linux/mvebu
parent7f73acade0cde61341cb77e0dc74de51ac059d4f (diff)
downloadupstream-57a38c8d3e85dd94d4912febc3906db77a855b43.tar.gz
upstream-57a38c8d3e85dd94d4912febc3906db77a855b43.tar.bz2
upstream-57a38c8d3e85dd94d4912febc3906db77a855b43.zip
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@sartura.hr>
Diffstat (limited to 'target/linux/mvebu')
-rw-r--r--target/linux/mvebu/cortexa53/base-files/etc/board.d/02_network3
-rw-r--r--target/linux/mvebu/cortexa53/base-files/lib/preinit/82_uDPU3
-rwxr-xr-xtarget/linux/mvebu/cortexa53/base-files/lib/upgrade/platform.sh6
-rw-r--r--target/linux/mvebu/files/arch/arm64/boot/dts/marvell/armada-3720-eDPU.dts19
-rw-r--r--target/linux/mvebu/image/cortexa53.mk8
5 files changed, 35 insertions, 4 deletions
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.
+ */
+&eth0 {
+ 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