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>
This commit is contained in:
Robert Marko 2022-03-30 14:04:10 +02:00 committed by Christian 'Ansuel' Marangi
parent 7f73acade0
commit 57a38c8d3e
6 changed files with 37 additions and 5 deletions

View File

@ -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"

View File

@ -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"
;;
*)

View File

@ -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"

View File

@ -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

View File

@ -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";
};

View File

@ -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