From: Robert Marko Date: Wed, 30 Mar 2022 12:04:10 +0000 (+0200) Subject: mvebu: add Methode euroDPU support X-Git-Tag: v23.05.0-rc1~3105 X-Git-Url: http://git.openwrt.org/?p=openwrt%2Fopenwrt.git;a=commitdiff_plain;h=57a38c8d3e85dd94d4912febc3906db77a855b43 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 --- 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