imx6: add a script to detect the board name and populate /tmp/sysinfo
authorJohn Crispin <john@openwrt.org>
Wed, 18 Jun 2014 10:08:12 +0000 (10:08 +0000)
committerJohn Crispin <john@openwrt.org>
Wed, 18 Jun 2014 10:08:12 +0000 (10:08 +0000)
Signed-off-by: John Crispin <blogic@openwrt.org>
SVN-Revision: 41256

target/linux/imx6/base-files/lib/imx6.sh [new file with mode: 0755]

diff --git a/target/linux/imx6/base-files/lib/imx6.sh b/target/linux/imx6/base-files/lib/imx6.sh
new file mode 100755 (executable)
index 0000000..914374e
--- /dev/null
@@ -0,0 +1,63 @@
+#!/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"
+               ;;
+
+       "Wandboard i.MX6 Dual Lite Board")
+               name="wandaboard"
+               ;;
+
+       *)
+               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"
+}