openwrt/target/linux
Ryan Mounce 9f3f61a0d9 mvebu: add support for Turris Omnia
Adds support for the Turris Omnia and builds an eMMC sysupgrade image in
the same format as the SolidRun ClearFog.

An initramfs image in the simple yet Omnia-specific 'medkit' image format
is also built in order to ease the initial flashing process.

Notable hardware support omissions are support for switching between SFP
cage and copper PHY, and RGB LED control.

Due to a current limitation of DSA, only 1/2 CPU switch uplinks are used.

Specifications:
- Marvell Armada 385 1.6GHz dual-core ARMv7 CPU
- 1GB DDR3 RAM
- 8GB eMMC Flash
- 5x Gigabit LAN via Marvell 88E6176 Switch (2x RGMII CPU ports)
- 1x switchable RJ45 (88E1514 PHY) / SFP SGMII WAN
- 2x USB 3.0
- 12x dimmable RGB LEDs controlled by independent MCU
- 3x Mini PCIe slots
- Optional Compex WLE200N2 Mini PCIe AR9287 2x2 802.11b/g/n (2.4GHz)
- Optional Compex WLE900VX Mini PCIe QCA9880 3x3 802.11ac (2.4 / 5GHz)
- Optional Quectel EC20 Mini PCIe LTE modem

Flash instructions:
If the U-Boot environment has been modified previously (likely manually via
serial console), first use serial to reset the default environment.
=> env default -a
=> saveenv

Method 1 - USB 'medkit' image w/o serial
- Copy openwrt-mvebu-turris-omnia-sysupgrade.img.gz and
omnia-medkit-openwrt-mvebu-turris-omnia-initramfs.tar.gz to the root of a
USB flash drive formatted with FAT32 / ext2/3/4 / btrfs / XFS.
Note that the medkit MUST be named omnia-medkit*.tar.gz
- Disconnect other USB devices from the Omnia and connect the flash drive
to either USB port.
- Power on the Omnia and hold down the rear reset button until 4 LEDs are
illuminated, then release.
- Wait approximately 2 minutes for the Turris Omnia to flash itself with
the temporary image, during which LEDs will change multiple times.
- Connect a computer to a LAN port of the Turris Omnia with a DHCP client
- (if necessary) ssh-keygen -R 192.168.1.1
- ssh root@192.168.1.1
$ mount /dev/sda1 /mnt
$ sysupgrade /mnt/openwrt-mvebu-turris-omnia-sysupgrade.img.gz
- Wait another minute for the final OpenWrt image to be flashed. The Turris
Omnia will reboot itself and you can remove the flash drive.

Method 2 - TFTP w/ serial
- Extract omnia-medkit-openwrt-mvebu-turris-omnia-initramfs.tar.gz and copy
dtb + zImage to your TFTP server (rename if desired)
- Connect Turris Omnia WAN port to DHCP-enabled network with TFTP server
- Connect serial console and interrupt U-Boot
=> dhcp
=> setenv serverip <tftp_server_ip_here>
=> tftpboot 0x01000000 zImage
=> tftpboot 0x02000000 dtb
=> bootz 0x01000000 - 0x02000000
- OpenWrt will now boot from ramdisk
- Download openwrt-mvebu-turris-omnia-sysupgrade.img.gz to /tmp/
$ sysupgrade /tmp/openwrt-mvebu-turris-omnia-sysupgrade.img.gz
- Wait another minute for the final OpenWrt image to be flashed. The Turris
Omnia will reboot itself.

Signed-off-by: Ryan Mounce <ryan@mounce.com.au>
2018-03-10 01:15:21 +01:00
..
adm5120 treewide: remove obsolete sysupgrade watchdog kill 2018-02-16 14:44:02 +01:00
adm8668 build: fix subtarget descriptions 2016-09-04 13:35:11 +02:00
apm821xx apm821xx: nand remove obsolete kernel config symbol 2018-02-23 07:54:29 +01:00
ar7 kernel: bump 4.9 to 4.9.82 2018-02-18 02:59:57 +01:00
ar71xx ar71xx: fix double registration of usb host mode devices, add usb client support for qca955x 2018-03-09 18:25:57 +01:00
arc770 arc770: mark as source-only 2017-10-28 13:59:03 +02:00
archs38 kernel: bump 4.14 to 4.14.20 2018-02-18 02:59:48 +01:00
armvirt armvirt: Resync kernel configuration 2018-01-12 15:14:27 -08:00
at91 at91: fix image building with CONFIG_TARGET_MULTI_PROFILE 2018-02-14 15:47:16 +01:00
ath25 build: replace uses of OpenWrt with $(VERSION_DIST) 2018-02-05 10:15:53 +01:00
au1000 treewide: remove obsolete sysupgrade watchdog kill 2018-02-16 14:44:02 +01:00
bcm53xx bcm53xx: include patch adding WZR-900DHP LEDs support 2018-03-07 17:01:07 +01:00
brcm47xx brcm47xx: image: build firmware for Asus WL-500g Deluxe 2017-12-29 23:18:19 +01:00
brcm63xx kernel: bump 4.4 to 4.4.119 2018-03-03 12:58:56 +01:00
brcm2708 kernel: bump 4.9 to 4.9.86 2018-03-09 22:13:19 +01:00
cns3xxx treewide: remove obsolete sysupgrade watchdog kill 2018-02-16 14:44:02 +01:00
gemini kernel: Update kernel 4.4 to 4.4.100 2017-11-25 19:48:39 +01:00
generic kernel: bump 4.9 to 4.9.86 2018-03-09 22:13:19 +01:00
imx6 kernel: generic: Move config option to generic 2018-03-02 21:32:19 +01:00
ipq806x kernel: bump 4.9 to 4.9.85 2018-03-03 12:58:55 +01:00
ixp4xx kernel: bump 4.9 to 4.9.82 2018-02-18 02:59:57 +01:00
kirkwood kernel: bump 4.9 to 4.9.77 2018-01-20 20:22:01 +01:00
lantiq lantiq/xrx200: add usif support to dts files 2018-03-06 19:49:06 +01:00
layerscape kernel: bump 4.9 to 4.9.85 2018-03-03 12:58:55 +01:00
malta malta: bump tp v4.14 2018-01-09 10:26:16 +01:00
mcs814x build: replace uses of OpenWrt with $(VERSION_DIST) 2018-02-05 10:15:53 +01:00
mediatek kernel: bump to version 4.14.25 2018-03-09 22:12:48 +01:00
mpc85xx kernel: bump 4.9 to 4.9.82 2018-02-18 02:59:57 +01:00
mvebu mvebu: add support for Turris Omnia 2018-03-10 01:15:21 +01:00
mxs mxs: drop support for 4.9 2018-02-20 13:25:00 +01:00
octeon octeon: switch to kernel 4.14 2018-02-08 19:04:38 +01:00
octeontx octeontx: use the generic board detection 2018-02-23 08:21:50 +01:00
omap omap: clean up configuration 2017-10-18 21:46:05 +02:00
omap24xx omap24xx: remove referece to not existing kmod-usb-musb-tusb6010 2018-01-15 13:13:34 +01:00
orion orion: Switch to 4.9 kernel 2017-10-24 18:39:17 -07:00
oxnas kernel: bump 4.4 to 4.4.119 2018-03-03 12:58:56 +01:00
pistachio kernel: bump 4.9 to 4.9.82 2018-02-18 02:59:57 +01:00
ppc40x treewide: drop target board_name functions 2017-07-15 23:13:34 +02:00
ppc44x ppc44x: mark as broken 2017-01-10 12:49:34 +01:00
ramips ramips: mt7620n: enable port 4 as EPHY by default 2018-03-06 19:49:06 +01:00
rb532 treewide: move nand_do_upgrade call to platform_do_upgrade 2018-02-16 14:44:02 +01:00
sunxi kernel: bump 4.9 to 4.9.85 2018-03-03 12:58:55 +01:00
uml uml: Remove 4.4 patches 2018-03-08 11:44:26 -08:00
x86 x86: Use kernel 4.14 by default 2018-02-18 19:51:58 +01:00
xburst target: disable CONFIG_PROC_PAGE_MONITOR on most targets 2018-01-13 15:04:15 +01:00
zynq target: disable CONFIG_PROC_PAGE_MONITOR on most targets 2018-01-13 15:04:15 +01:00
Makefile