octeon: add new target and support for Ubiquiti EdgeRouter 6P
Ubiquiti EdgeRouter 6P is 6 port router with similar
specifications as the EdgeRouter 4, support for which was added
in commit dd651e54cc
There are five 10/100/1000 Mbps RJ/Copper ports and
one 1000 Mbps SFP port.
SoC: Octeon Cavium 7130 (Cavium 3) at 1000MHz
Memory: 1GiB DDR3
Flash: 2x2M chips with uboots (chainloaded) + 512K eeprom
LEDs: 1x for power status (white/blue, controllable)
and 6x for ethernet and SFP ports (no control over them)
Buttons: 1x Reset
Serial: 1x RJ45 port on front panel. 115200 baud, 8N1
USB: 1x USB3.0 on front panel
MII: 1x QSGMII from SoC
PHY: 1x Vitesse VSC8504 of which 4 ports are used (phys 4-7)
1x Vitesse VSC8514 of which 2 ports are used (phys 8-9)
Network port mapping
- eth0 on device maps to lan0 and phy5
- eth1 on device maps to lan1 and phy6
- eth2 on device maps to lan2 and phy7
- eth3 on device maps to lan3 and phy8
- eth4 on device maps to lan4 and phy9
- eth5 (SFP) on device maps to lan5 and phy4
What is not working:
- There is no port status available before it goes up
- SFP have no additional status and presented as no different from eth
- Power-over-ethernet (passive) support has not been tested
How to flash the firmware:
- copy openwrt-octeon-ubnt_edgerouter-6p-initramfs-kernel.bin and
openwrt-octeon-ubnt_edgerouter-6p-squashfs-sysupgrade.tar to
USB flash drive that is formatted to vfat/fat32
- connect USB flash drive to EdgeRouter 6P front USB port
- connect serial cable using front RJ45 port (115200 baud, 8N1)
- connect power to cable to EdgeRouter 6P
- connect terminal to the console to see uboot boot process
- interrupt boot by pressing button(s) on your keyboard to log
in to the uboot
- detect usb connected flash drives by typing to the console:
usb start
- after drive is detected load initramfs+kernel to the memory by typing:
fatload usb 0:1 0x20000000 openwrt-octeon-ubnt_edgerouter-6p-initramfs-kernel.bin
- after initramfs+kernel is loaded to the memory load it by typing:
bootoctlinux 0 numcores=4 endbootargs mem=0
- boot process should finish and you will be greeted with console
after pressing enter
- create directory to mount usb flash drive to by typing:
mkdir /tmp/sda
- mount flash drive to that directory by typing:
mount /dev/sda1 /tmp/sda
- flash firmware to router internal storage by typing:
sysupgrade /tmp/sda/openwrt-octeon-ubnt_edgerouter-6p-squashfs-sysupgrade.tar
- device will reboot and after it gets up you will have
edgerouter 6p running openwrt
Signed-off-by: Dan Brown <danbrown@gmail.com>
[reorder/squash patches, move ethernet@0 to DTS, share image setup]
Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
This commit is contained in:
parent
8e7c9f5393
commit
6ee3680614
5 changed files with 85 additions and 7 deletions
|
@ -13,6 +13,9 @@ itus,shield-router)
|
||||||
ubnt,edgerouter-4)
|
ubnt,edgerouter-4)
|
||||||
ucidef_set_interfaces_lan_wan "lan1 lan2 lan3" "lan0"
|
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"
|
ucidef_set_interfaces_lan_wan "eth0" "eth1"
|
||||||
;;
|
;;
|
||||||
|
|
|
@ -21,7 +21,8 @@ octeon_move_config() {
|
||||||
itus,shield-router)
|
itus,shield-router)
|
||||||
move_config "/dev/mmcblk1p1"
|
move_config "/dev/mmcblk1p1"
|
||||||
;;
|
;;
|
||||||
ubnt,edgerouter-4)
|
ubnt,edgerouter-4 | \
|
||||||
|
ubnt,edgerouter-6p)
|
||||||
move_config "/dev/mmcblk0p1"
|
move_config "/dev/mmcblk0p1"
|
||||||
;;
|
;;
|
||||||
esac
|
esac
|
||||||
|
|
|
@ -29,7 +29,8 @@ platform_copy_config() {
|
||||||
cp -af "$UPGRADE_BACKUP" "/mnt/$BACKUP_FILE"
|
cp -af "$UPGRADE_BACKUP" "/mnt/$BACKUP_FILE"
|
||||||
umount /mnt
|
umount /mnt
|
||||||
;;
|
;;
|
||||||
ubnt,edgerouter-4)
|
ubnt,edgerouter-4 | \
|
||||||
|
ubnt,edgerouter-6p)
|
||||||
mount -t vfat /dev/mmcblk0p1 /mnt
|
mount -t vfat /dev/mmcblk0p1 /mnt
|
||||||
cp -af "$UPGRADE_BACKUP" "/mnt/$BACKUP_FILE"
|
cp -af "$UPGRADE_BACKUP" "/mnt/$BACKUP_FILE"
|
||||||
umount /mnt
|
umount /mnt
|
||||||
|
@ -84,7 +85,8 @@ platform_do_upgrade() {
|
||||||
[ -b "${rootfs}" ] || return 1
|
[ -b "${rootfs}" ] || return 1
|
||||||
case "$board" in
|
case "$board" in
|
||||||
er | \
|
er | \
|
||||||
ubnt,edgerouter-4)
|
ubnt,edgerouter-4 | \
|
||||||
|
ubnt,edgerouter-6p)
|
||||||
kernel=mmcblk0p1
|
kernel=mmcblk0p1
|
||||||
;;
|
;;
|
||||||
erlite)
|
erlite)
|
||||||
|
@ -114,7 +116,8 @@ platform_check_image() {
|
||||||
er | \
|
er | \
|
||||||
erlite | \
|
erlite | \
|
||||||
itus,shield-router | \
|
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 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)
|
local rootfs_length=$(tar xf $tar_file $board_dir/root -O | wc -c 2> /dev/null)
|
||||||
[ "$kernel_length" = 0 -o "$rootfs_length" = 0 ] && {
|
[ "$kernel_length" = 0 -o "$rootfs_length" = 0 ] && {
|
||||||
|
|
|
@ -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)>;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
|
@ -51,17 +51,28 @@ define Device/ubnt_edgerouter
|
||||||
endef
|
endef
|
||||||
TARGET_DEVICES += ubnt_edgerouter
|
TARGET_DEVICES += ubnt_edgerouter
|
||||||
|
|
||||||
define Device/ubnt_edgerouter-4
|
define Device/ubnt_edgerouter-e300
|
||||||
DEVICE_VENDOR := Ubiquiti
|
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
|
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 := kernel-bin | patch-cmdline | append-dtb-to-elf
|
||||||
KERNEL_DEPENDS := $$(wildcard $(DTS_DIR)/$(DEVICE_DTS).dts)
|
KERNEL_DEPENDS := $$(wildcard $(DTS_DIR)/$(DEVICE_DTS).dts)
|
||||||
CMDLINE := root=/dev/mmcblk0p2 rootfstype=squashfs,ext4 rootwait
|
CMDLINE := root=/dev/mmcblk0p2 rootfstype=squashfs,ext4 rootwait
|
||||||
endef
|
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
|
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
|
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
|
define Device/ubnt_edgerouter-lite
|
||||||
DEVICE_VENDOR := Ubiquiti
|
DEVICE_VENDOR := Ubiquiti
|
||||||
|
|
Loading…
Reference in a new issue