aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--package/boot/uboot-envtools/files/mvebu3
-rwxr-xr-xtarget/linux/mvebu/base-files/etc/board.d/02_network4
-rwxr-xr-xtarget/linux/mvebu/base-files/lib/mvebu.sh3
-rwxr-xr-xtarget/linux/mvebu/base-files/lib/upgrade/platform.sh4
-rw-r--r--target/linux/mvebu/base-files/lib/upgrade/sdcard.sh12
-rw-r--r--target/linux/mvebu/config-4.1411
-rw-r--r--target/linux/mvebu/image/Makefile28
7 files changed, 62 insertions, 3 deletions
diff --git a/package/boot/uboot-envtools/files/mvebu b/package/boot/uboot-envtools/files/mvebu
index e33830e0a7..24ca6798e8 100644
--- a/package/boot/uboot-envtools/files/mvebu
+++ b/package/boot/uboot-envtools/files/mvebu
@@ -22,6 +22,9 @@ armada-385-linksys-shelby)
armada-385-linksys-rango)
ubootenv_add_uci_config "/dev/mtd1" "0x0" "0x20000" "0x20000"
;;
+armada-385-turris-omnia)
+ ubootenv_add_uci_config "/dev/mtd0" "0xC0000" "0x10000" "0x40000"
+ ;;
armada-xp-linksys-mamba)
ubootenv_add_uci_config "/dev/mtd1" "0x0" "0x40000" "0x20000"
;;
diff --git a/target/linux/mvebu/base-files/etc/board.d/02_network b/target/linux/mvebu/base-files/etc/board.d/02_network
index 4fc95406ca..36c4b23c5d 100755
--- a/target/linux/mvebu/base-files/etc/board.d/02_network
+++ b/target/linux/mvebu/base-files/etc/board.d/02_network
@@ -23,6 +23,10 @@ armada-xp-linksys-mamba)
ucidef_add_switch "switch0" \
"0:lan:4" "1:lan:3" "2:lan:2" "3:lan:1" "5@eth0" "4:wan" "6@eth1"
;;
+armada-385-turris-omnia)
+ ucidef_set_interface_lan "lan0 lan1 lan2 lan3 lan4"
+ ucidef_set_interface_wan "eth2"
+ ;;
armada-388-clearfog-*)
# eth0 is standalone ethernet
# eth1 is switch (-pro) or standalone ethernet (-base)
diff --git a/target/linux/mvebu/base-files/lib/mvebu.sh b/target/linux/mvebu/base-files/lib/mvebu.sh
index fb3ddee4f5..1cd87507a3 100755
--- a/target/linux/mvebu/base-files/lib/mvebu.sh
+++ b/target/linux/mvebu/base-files/lib/mvebu.sh
@@ -59,6 +59,9 @@ mvebu_board_detect() {
*"SolidRun Clearfog Base A1")
name="armada-388-clearfog-base"
;;
+ *"Turris Omnia")
+ name="armada-385-turris-omnia"
+ ;;
esac
[ -z "$name" ] && name="unknown"
diff --git a/target/linux/mvebu/base-files/lib/upgrade/platform.sh b/target/linux/mvebu/base-files/lib/upgrade/platform.sh
index b59c765a38..ef8065a44e 100755
--- a/target/linux/mvebu/base-files/lib/upgrade/platform.sh
+++ b/target/linux/mvebu/base-files/lib/upgrade/platform.sh
@@ -16,7 +16,7 @@ platform_do_upgrade() {
armada-385-linksys-caiman|armada-385-linksys-cobra|armada-385-linksys-rango|armada-385-linksys-shelby|armada-xp-linksys-mamba)
platform_do_upgrade_linksys "$ARGV"
;;
- armada-388-clearfog-base|armada-388-clearfog-pro)
+ armada-385-turris-omnia|armada-388-clearfog-base|armada-388-clearfog-pro)
platform_do_upgrade_sdcard "$ARGV"
;;
*)
@@ -29,7 +29,7 @@ platform_copy_config() {
armada-385-linksys-caiman|armada-385-linksys-cobra|armada-385-linksys-rango|armada-385-linksys-shelby|armada-xp-linksys-mamba)
platform_copy_config_linksys
;;
- armada-388-clearfog-base|armada-388-clearfog-pro)
+ armada-385-turris-omnia|armada-388-clearfog-base|armada-388-clearfog-pro)
platform_copy_config_sdcard "$ARGV"
;;
esac
diff --git a/target/linux/mvebu/base-files/lib/upgrade/sdcard.sh b/target/linux/mvebu/base-files/lib/upgrade/sdcard.sh
index de6e1a920c..fbf121f33d 100644
--- a/target/linux/mvebu/base-files/lib/upgrade/sdcard.sh
+++ b/target/linux/mvebu/base-files/lib/upgrade/sdcard.sh
@@ -18,8 +18,20 @@ platform_check_image_sdcard() {
}
platform_do_upgrade_sdcard() {
+ local board=$(board_name)
+
sync
get_image "$1" | dd of=/dev/mmcblk0 bs=2M conv=fsync
+
+ case "$board" in
+ armada-385-turris-omnia)
+ fw_setenv openwrt_bootargs 'earlyprintk console=ttyS0,115200 root=/dev/mmcblk0p2 rootfstype=auto rootwait'
+ fw_setenv openwrt_mmcload 'setenv bootargs "$openwrt_bootargs cfg80211.freg=$regdomain"; fatload mmc 0 0x01000000 zImage; fatload mmc 0 0x02000000 armada-385-turris-omnia.dtb'
+ fw_setenv factory_mmcload 'setenv bootargs "$bootargs cfg80211.freg=$regdomain"; btrload mmc 0 0x01000000 boot/zImage @; btrload mmc 0 0x02000000 boot/dtb @'
+ fw_setenv mmcboot 'mw 0xf10184a0 0xfd4d4cfa; run openwrt_mmcload || run factory_mmcload; bootz 0x01000000 - 0x02000000'
+ ;;
+ esac
+
sleep 1
}
diff --git a/target/linux/mvebu/config-4.14 b/target/linux/mvebu/config-4.14
index 71123f52bc..738f0378b4 100644
--- a/target/linux/mvebu/config-4.14
+++ b/target/linux/mvebu/config-4.14
@@ -207,9 +207,12 @@ CONFIG_GENERIC_STRNCPY_FROM_USER=y
CONFIG_GENERIC_STRNLEN_USER=y
CONFIG_GLOB=y
CONFIG_GPIOLIB=y
+CONFIG_GPIOLIB_IRQCHIP=y
+CONFIG_GPIO_GENERIC=y
+CONFIG_GPIO_GENERIC_PLATFORM=y
CONFIG_GPIO_MVEBU=y
CONFIG_GPIO_PCA953X=y
-# CONFIG_GPIO_PCA953X_IRQ is not set
+CONFIG_GPIO_PCA953X_IRQ=y
CONFIG_GPIO_SYSFS=y
# CONFIG_GRO_CELLS is not set
CONFIG_HANDLE_DOMAIN_IRQ=y
@@ -346,7 +349,13 @@ CONFIG_MVSW61XX_PHY=y
CONFIG_MV_XOR=y
CONFIG_NEED_DMA_MAP_STATE=y
CONFIG_NEON=y
+CONFIG_NET_DSA=y
+CONFIG_NET_DSA_MV88E6XXX=y
+CONFIG_NET_DSA_MV88E6XXX_GLOBAL2=y
+CONFIG_NET_DSA_TAG_DSA=y
+CONFIG_NET_DSA_TAG_EDSA=y
CONFIG_NET_FLOW_LIMIT=y
+CONFIG_NET_SWITCHDEV=y
CONFIG_NLS=y
CONFIG_NOP_USB_XCEIV=y
CONFIG_NO_BOOTMEM=y
diff --git a/target/linux/mvebu/image/Makefile b/target/linux/mvebu/image/Makefile
index 68adfc3ddd..823552d4f8 100644
--- a/target/linux/mvebu/image/Makefile
+++ b/target/linux/mvebu/image/Makefile
@@ -48,6 +48,17 @@ define Build/sdcard-img
83 $$ROOTFS_SIZE $(IMAGE_ROOTFS)
endef
+define Build/omnia-medkit-initramfs
+ $(TAR) -c -T /dev/null -f $@
+ rm -rf $(dir $(IMAGE_KERNEL))boot
+ mkdir -p $(dir $(IMAGE_KERNEL))boot/boot/
+ cp $(KDIR)/zImage-initramfs $(dir $(IMAGE_KERNEL))boot/boot/zImage
+ cp $(DTS_DIR)/$(DEVICE_DTS).dtb $(dir $(IMAGE_KERNEL))boot/boot/dtb
+ $(TAR) -rp --numeric-owner --owner=0 --group=0 --sort=name \
+ $(if $(SOURCE_DATE_EPOCH),--mtime="@$(SOURCE_DATE_EPOCH)") \
+ --file=$@ -C $(dir $(IMAGE_KERNEL))boot/ .
+endef
+
define Device/Default
PROFILES := Default
DEVICE_DTS := $(1)
@@ -226,4 +237,21 @@ define Device/globalscale-mirabox
endef
TARGET_DEVICES += globalscale-mirabox
+define Device/turris-omnia
+ KERNEL_INSTALL := 1
+ KERNEL := kernel-bin
+ KERNEL_INITRAMFS := kernel-bin
+ DEVICE_TITLE := Turris Omnia
+ DEVICE_PACKAGES := \
+ mkf2fs e2fsprogs kmod-fs-vfat kmod-nls-cp437 kmod-nls-iso8859-1 \
+ wpad-mini kmod-ath9k kmod-ath10k ath10k-firmware-qca988x
+ IMAGES := $$(IMAGE_PREFIX)-sysupgrade.img.gz omnia-medkit-$$(IMAGE_PREFIX)-initramfs.tar.gz
+ IMAGE/$$(IMAGE_PREFIX)-sysupgrade.img.gz := boot-img | sdcard-img | gzip | append-metadata
+ IMAGE/omnia-medkit-$$(IMAGE_PREFIX)-initramfs.tar.gz := omnia-medkit-initramfs | gzip
+ IMAGE_NAME = $$(2)
+ DEVICE_DTS := armada-385-turris-omnia
+ UBOOT :=
+endef
+TARGET_DEVICES += turris-omnia
+
$(eval $(call BuildImage))