Skip to content

Commit

Permalink
mvebu: add Methode euroDPU support
Browse files Browse the repository at this point in the history
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>
  • Loading branch information
robimarko authored and Ansuel committed Jun 29, 2022
1 parent 7f73aca commit 57a38c8
Show file tree
Hide file tree
Showing 6 changed files with 37 additions and 5 deletions.
3 changes: 2 additions & 1 deletion package/boot/uboot-envtools/files/mvebu
Expand Up @@ -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"
Expand Down
Expand Up @@ -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"
;;
*)
Expand Down
3 changes: 2 additions & 1 deletion target/linux/mvebu/cortexa53/base-files/lib/preinit/82_uDPU
Expand Up @@ -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"

Expand Down
Expand Up @@ -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"
;;
*)
Expand All @@ -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
Expand Down
@@ -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";
};
8 changes: 8 additions & 0 deletions target/linux/mvebu/image/cortexa53.mk
Expand Up @@ -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

0 comments on commit 57a38c8

Please sign in to comment.