aboutsummaryrefslogtreecommitdiffstats
path: root/target/linux/imx6/base-files
diff options
context:
space:
mode:
Diffstat (limited to 'target/linux/imx6/base-files')
-rw-r--r--target/linux/imx6/base-files/etc/uci-defaults/02_network34
-rwxr-xr-xtarget/linux/imx6/base-files/lib/imx6.sh68
-rwxr-xr-xtarget/linux/imx6/base-files/lib/upgrade/platform.sh29
3 files changed, 131 insertions, 0 deletions
diff --git a/target/linux/imx6/base-files/etc/uci-defaults/02_network b/target/linux/imx6/base-files/etc/uci-defaults/02_network
new file mode 100644
index 0000000..bf83063
--- /dev/null
+++ b/target/linux/imx6/base-files/etc/uci-defaults/02_network
@@ -0,0 +1,34 @@
+#!/bin/sh
+#
+# Copyright (C) 2013 OpenWrt.org
+#
+
+[ -e /etc/config/network ] && exit 0
+
+touch /etc/config/network
+
+. /lib/functions/uci-defaults.sh
+. /lib/imx6.sh
+
+board=$(imx6_board_name)
+
+ucidef_set_interface_loopback
+
+case "$board" in
+*gw51xx |\
+*gw52xx)
+ ucidef_set_interface_lan 'eth0'
+ ;;
+*gw53xx |\
+*gw54xx |\
+*gw552x)
+ ucidef_set_interfaces_lan_wan 'eth0' 'eth1'
+ ;;
+*wandboard)
+ ucidef_set_interface_wan 'eth0'
+ ;;
+esac
+
+uci commit network
+
+exit 0
diff --git a/target/linux/imx6/base-files/lib/imx6.sh b/target/linux/imx6/base-files/lib/imx6.sh
new file mode 100755
index 0000000..360ec58
--- /dev/null
+++ b/target/linux/imx6/base-files/lib/imx6.sh
@@ -0,0 +1,68 @@
+#!/bin/sh
+#
+# Copyright (C) 2010-2013 OpenWrt.org
+#
+
+IMX6_BOARD_NAME=
+IMX6_MODEL=
+
+imx6_board_detect() {
+ local machine
+ local name
+
+ machine=$(cat /proc/device-tree/model)
+
+ case "$machine" in
+ "Gateworks Ventana i.MX6 DualLite/Solo GW51XX" |\
+ "Gateworks Ventana i.MX6 Dual/Quad GW51XX")
+ name="gw51xx"
+ ;;
+
+ "Gateworks Ventana i.MX6 DualLite/Solo GW52XX" |\
+ "Gateworks Ventana i.MX6 Dual/Quad GW52XX")
+ name="gw52xx"
+ ;;
+
+ "Gateworks Ventana i.MX6 DualLite/Solo GW53XX" |\
+ "Gateworks Ventana i.MX6 Dual/Quad GW53XX")
+ name="gw53xx"
+ ;;
+
+ "Gateworks Ventana i.MX6 DualLite/Solo GW54XX" |\
+ "Gateworks Ventana i.MX6 Dual/Quad GW54XX" |\
+ "Gateworks Ventana GW5400-A")
+ name="gw54xx"
+ ;;
+
+ "Gateworks Ventana i.MX6 DualLite/Solo GW552X" |\
+ "Gateworks Ventana i.MX6 Dual/Quad GW552X")
+ name="gw552x"
+ ;;
+
+ "Wandboard i.MX6 Dual Lite Board")
+ name="wandboard"
+ ;;
+
+ *)
+ name="generic"
+ ;;
+ esac
+
+ [ -z "$IMX6_BOARD_NAME" ] && IMX6_BOARD_NAME="$name"
+ [ -z "$IMX6_MODEL" ] && IMX6_MODEL="$machine"
+
+ [ -e "/tmp/sysinfo/" ] || mkdir -p "/tmp/sysinfo/"
+
+ echo "$IMX6_BOARD_NAME" > /tmp/sysinfo/board_name
+ echo "$IMX6_MODEL" > /tmp/sysinfo/model
+}
+
+imx6_board_name() {
+ local name
+
+ [ -f /tmp/sysinfo/board_name ] || imx6_board_detect
+ [ -f /tmp/sysinfo/board_name ] && name=$(cat /tmp/sysinfo/board_name)
+ [ -z "$name" ] && name="unknown"
+
+ echo "$name"
+}
diff --git a/target/linux/imx6/base-files/lib/upgrade/platform.sh b/target/linux/imx6/base-files/lib/upgrade/platform.sh
new file mode 100755
index 0000000..0bbf110
--- /dev/null
+++ b/target/linux/imx6/base-files/lib/upgrade/platform.sh
@@ -0,0 +1,29 @@
+#
+# Copyright (C) 2010-2015 OpenWrt.org
+#
+
+. /lib/imx6.sh
+
+platform_check_image() {
+ local board=$(imx6_board_name)
+
+ case "$board" in
+ *gw5*)
+ nand_do_platform_check $board $1
+ return $?;
+ ;;
+ esac
+
+ echo "Sysupgrade is not yet supported on $board."
+ return 1
+}
+
+platform_pre_upgrade() {
+ local board=$(imx6_board_name)
+
+ case "$board" in
+ *gw5*)
+ nand_do_upgrade "$1"
+ ;;
+ esac
+}