diff options
5 files changed, 85 insertions, 7 deletions
diff --git a/target/linux/octeon/base-files/etc/board.d/01_network b/target/linux/octeon/base-files/etc/board.d/01_network index e62d3c28bf..194faeaad9 100644 --- a/target/linux/octeon/base-files/etc/board.d/01_network +++ b/target/linux/octeon/base-files/etc/board.d/01_network @@ -13,6 +13,9 @@ itus,shield-router) ubnt,edgerouter-4) ucidef_set_interfaces_lan_wan "lan1 lan2 lan3" "lan0" ;; +ubnt,edgerouter-6p) + ucidef_set_interfaces_lan_wan "lan1 lan2 lan3 lan4 lan5" "lan0" + ;; *) ucidef_set_interfaces_lan_wan "eth0" "eth1" ;; diff --git a/target/linux/octeon/base-files/lib/preinit/79_move_config b/target/linux/octeon/base-files/lib/preinit/79_move_config index 5a84e6f18a..ae155a3c5c 100644 --- a/target/linux/octeon/base-files/lib/preinit/79_move_config +++ b/target/linux/octeon/base-files/lib/preinit/79_move_config @@ -21,7 +21,8 @@ octeon_move_config() { itus,shield-router) move_config "/dev/mmcblk1p1" ;; - ubnt,edgerouter-4) + ubnt,edgerouter-4 | \ + ubnt,edgerouter-6p) move_config "/dev/mmcblk0p1" ;; esac diff --git a/target/linux/octeon/base-files/lib/upgrade/platform.sh b/target/linux/octeon/base-files/lib/upgrade/platform.sh index ad5baef4a1..255699bb31 100755 --- a/target/linux/octeon/base-files/lib/upgrade/platform.sh +++ b/target/linux/octeon/base-files/lib/upgrade/platform.sh @@ -29,7 +29,8 @@ platform_copy_config() { cp -af "$UPGRADE_BACKUP" "/mnt/$BACKUP_FILE" umount /mnt ;; - ubnt,edgerouter-4) + ubnt,edgerouter-4 | \ + ubnt,edgerouter-6p) mount -t vfat /dev/mmcblk0p1 /mnt cp -af "$UPGRADE_BACKUP" "/mnt/$BACKUP_FILE" umount /mnt @@ -84,7 +85,8 @@ platform_do_upgrade() { [ -b "${rootfs}" ] || return 1 case "$board" in er | \ - ubnt,edgerouter-4) + ubnt,edgerouter-4 | \ + ubnt,edgerouter-6p) kernel=mmcblk0p1 ;; erlite) @@ -114,7 +116,8 @@ platform_check_image() { er | \ erlite | \ itus,shield-router | \ - ubnt,edgerouter-4) + ubnt,edgerouter-4 | \ + ubnt,edgerouter-6p) local kernel_length=$(tar xf $tar_file $board_dir/kernel -O | wc -c 2> /dev/null) local rootfs_length=$(tar xf $tar_file $board_dir/root -O | wc -c 2> /dev/null) [ "$kernel_length" = 0 -o "$rootfs_length" = 0 ] && { diff --git a/target/linux/octeon/files/arch/mips/boot/dts/cavium-octeon/cn7130_ubnt_edgerouter-6p.dts b/target/linux/octeon/files/arch/mips/boot/dts/cavium-octeon/cn7130_ubnt_edgerouter-6p.dts new file mode 100644 index 0000000000..7d31885928 --- /dev/null +++ b/target/linux/octeon/files/arch/mips/boot/dts/cavium-octeon/cn7130_ubnt_edgerouter-6p.dts @@ -0,0 +1,60 @@ +// SPDX-License-Identifier: GPL-2.0-or-later OR MIT + +#include "cn7130_ubnt_edgerouter-e300.dtsi" + +/ { + compatible = "ubnt,edgerouter-6p", "cavium,cn7130"; + model = "Ubiquiti EdgeRouter 6P"; +}; + +&smi0 { + phy8: ethernet-phy@8 { + device_type = "ethernet-phy"; + interrupts = <17 8>; + interrupt-parent = <&gpio>; + compatible = "vitesse,vsc8514", "ethernet-phy-ieee802.3-c22"; + reg = <8>; + }; + + phy9: ethernet-phy@9 { + device_type = "ethernet-phy"; + interrupts = <17 8>; + interrupt-parent = <&gpio>; + compatible = "vitesse,vsc8514", "ethernet-phy-ieee802.3-c22"; + reg = <9>; + }; +}; + +&pip { + interface@0 { + ethernet@0 { + label = "lan5"; + status = "okay"; + phy-mode = "sgmii"; + phy-handle = <&phy4>; + mtd-mac-address = <&eeprom 0>; + }; + }; + + interface@1 { + status = "okay"; + + ethernet@0 { + label = "lan3"; + status = "okay"; + phy-mode = "sgmii"; + phy-handle = <&phy8>; + mtd-mac-address = <&eeprom 0>; + mtd-mac-address-increment = <(4)>; + }; + + ethernet@1 { + label = "lan4"; + status = "okay"; + phy-mode = "sgmii"; + phy-handle = <&phy9>; + mtd-mac-address = <&eeprom 0>; + mtd-mac-address-increment = <(5)>; + }; + }; +}; diff --git a/target/linux/octeon/image/Makefile b/target/linux/octeon/image/Makefile index 11da22df3b..f77159e1f9 100644 --- a/target/linux/octeon/image/Makefile +++ b/target/linux/octeon/image/Makefile @@ -51,17 +51,28 @@ define Device/ubnt_edgerouter endef TARGET_DEVICES += ubnt_edgerouter -define Device/ubnt_edgerouter-4 +define Device/ubnt_edgerouter-e300 DEVICE_VENDOR := Ubiquiti - DEVICE_MODEL := EdgeRouter 4 - DEVICE_DTS := cn7130_ubnt_edgerouter-4 DEVICE_PACKAGES += kmod-gpio-button-hotplug kmod-leds-gpio kmod-of-mdio kmod-sfp kmod-usb3 kmod-usb-dwc3 kmod-usb-storage-uas KERNEL := kernel-bin | patch-cmdline | append-dtb-to-elf KERNEL_DEPENDS := $$(wildcard $(DTS_DIR)/$(DEVICE_DTS).dts) CMDLINE := root=/dev/mmcblk0p2 rootfstype=squashfs,ext4 rootwait endef + +define Device/ubnt_edgerouter-4 + $(Device/ubnt_edgerouter-e300) + DEVICE_MODEL := EdgeRouter 4 + DEVICE_DTS := cn7130_ubnt_edgerouter-4 +endef TARGET_DEVICES += ubnt_edgerouter-4 +define Device/ubnt_edgerouter-6p + $(Device/ubnt_edgerouter-e300) + DEVICE_MODEL := EdgeRouter 6P + DEVICE_DTS := cn7130_ubnt_edgerouter-6p +endef +TARGET_DEVICES += ubnt_edgerouter-6p + ERLITE_CMDLINE:=-mtdparts=phys_mapped_flash:512k(boot0)ro,512k(boot1)ro,64k(eeprom)ro root=/dev/sda2 rootfstype=squashfs,ext4 rootwait define Device/ubnt_edgerouter-lite DEVICE_VENDOR := Ubiquiti |