aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorZoltan Herpai <wigyori@uid0.hu>2015-01-30 00:11:30 +0000
committerZoltan Herpai <wigyori@uid0.hu>2015-01-30 00:11:30 +0000
commitd4f6f169b86d36dbb6f1df829fac1aecfb27d630 (patch)
treee1f630667646f964e7a2648e6767e02939782b39
parent50364b2d0894e12c6c81242bb7bee5b2c71d2d59 (diff)
downloadupstream-d4f6f169b86d36dbb6f1df829fac1aecfb27d630.tar.gz
upstream-d4f6f169b86d36dbb6f1df829fac1aecfb27d630.tar.bz2
upstream-d4f6f169b86d36dbb6f1df829fac1aecfb27d630.zip
sunxi: implement board_detect for device-tree kernels
Signed-off-by: Daniel Golle <daniel@makrotopia.org> SVN-Revision: 44211
-rw-r--r--target/linux/sunxi/base-files/lib/sunxi.sh168
1 files changed, 130 insertions, 38 deletions
diff --git a/target/linux/sunxi/base-files/lib/sunxi.sh b/target/linux/sunxi/base-files/lib/sunxi.sh
index adf9f8462c..b0a38740a4 100644
--- a/target/linux/sunxi/base-files/lib/sunxi.sh
+++ b/target/linux/sunxi/base-files/lib/sunxi.sh
@@ -1,45 +1,137 @@
#!/bin/sh
# defaults
-SUNXI_BOARD_NAME="generic sunxi"
-SUNXI_BOARD_MODEL="generic sunxi"
-SUNXI_ENV_DEV=/dev/mmcblk0
-
-#Helper functions
-get_cmdline_opt()
-{
-cat /proc/cmdline | awk -F$1= '{print $2}' | awk '{print $1}'
-}
+SUNXI_BOARD_NAME="generic"
+SUNXI_BOARD_MODEL="Generic sunxi board"
-#Since fw_getenv doesn't work with blockdevs let's make a hack
-uboot_getenv()
-{
- dd if=$SUNXI_ENV_DEV bs=1024 skip=544 count=128 2>dev/null |\strings|grep $1|cut -d"=" -f2
-}
+sunxi_board_detect() {
+ local board
+ local model
-#Actual routines go below
-sunxi_env_dev()
-{
- local dev
- dev=`get_cmdline_opt root|cut -d"p" -f1`
- SUNXI_ENV_DEV=$dev
- echo "probing $dev for uboot env data"
-}
+ [ -e "/tmp/sysinfo/" ] || mkdir -p "/tmp/sysinfo/"
-sunxi_board_detect() {
- local board
- local model
- sunxi_env_dev
- [ -e "/tmp/sysinfo/" ] || mkdir -p "/tmp/sysinfo/"
- board="`uboot_getenv wrt_board`"
- model="`uboot_getenv wrt_model`"
- if [ "$board" != "" ]; then
- SUNXI_BOARD_NAME="$board"
- fi
- if [ "$model" != "" ]; then
- SUNXI_BOARD_MODEL="$model"
- fi
- echo "$SUNXI_BOARD_NAME" > /tmp/sysinfo/board_name
- echo "$SUNXI_BOARD_MODEL" > /tmp/sysinfo/model
- echo "Detected $SUNXI_BOARD_NAME // $SUNXI_BOARD_MODEL"
+ model="$( cat /proc/device-tree/model )"
+
+ case "$model" in
+ "Mele A1000")
+ board="a1000"
+ ;;
+
+ "BA10 tvbox")
+ board="ba10-tvbox"
+ ;;
+
+ "Cubietech Cubieboard")
+ board="cubieboard"
+ ;;
+
+ "Miniand Hackberry")
+ board="hackberry"
+ ;;
+
+ "INet-97F Rev 02")
+ board="inet97fv2"
+ ;;
+
+ "PineRiver Mini X-Plus")
+ board="mini-xplus"
+ ;;
+
+ "Olimex A10-OLinuXino-LIME")
+ board="olinuxino-lime"
+ ;;
+
+ "LinkSprite pcDuino")
+ board="pcduino"
+ ;;
+
+ "Olimex A10s-Olinuxino Micro")
+ board="olinuxino-micro"
+ ;;
+
+ "R7 A10s hdmi tv-stick")
+ board="r7-tv-dongle"
+ ;;
+
+ "HSG H702")
+ board="hsg-h702"
+ ;;
+
+ "Olimex A13-Olinuxino")
+ board="olinuxino"
+ ;;
+
+ "Olimex A13-Olinuxino Micro")
+ board="olinuxino-micro"
+ ;;
+
+ "Allwinner A31 APP4 EVB1 Evaluation Board")
+ board="app4-evb1"
+ ;;
+
+ "WITS A31 Colombus Evaluation Board")
+ board="colombus"
+ ;;
+
+ "Merrii A31 Hummingbird")
+ board="hummingbird"
+ ;;
+
+ "Mele M9 / A1000G Quad top set box")
+ board="m9"
+ ;;
+
+ "LeMaker Banana Pi")
+ board="bananapi"
+ ;;
+
+ "LeMaker Banana Pro")
+ board="bananapro"
+ ;;
+
+ "Cubietech Cubieboard2")
+ board="cubieboard2"
+ ;;
+
+ "Cubietech Cubietruck")
+ board="cubietruck"
+ ;;
+
+ "Merrii A20 Hummingbird")
+ board="hummingbird"
+ ;;
+
+ "I12 / Q5 / QT840A A20 tvbox")
+ board="i12-tvbox"
+ ;;
+
+ "Olimex A20-OLinuXino-LIME")
+ board="olinuxino-lime"
+ ;;
+
+ "Olimex A20-Olinuxino Micro")
+ board="olinuxino-micro"
+ ;;
+
+ "LinkSprite pcDuino3")
+ board="pcduino3"
+ ;;
+
+ "Ippo Q8H Dual Core Tablet (v5)")
+ board="ippo-q8h-v5"
+ ;;
+ esac
+
+ if [ "$board" != "" ]; then
+ SUNXI_BOARD_NAME="$board"
+ fi
+
+ if [ "$model" != "" ]; then
+ SUNXI_BOARD_MODEL="$model"
+ fi
+
+
+ echo "$SUNXI_BOARD_NAME" > /tmp/sysinfo/board_name
+ echo "$SUNXI_BOARD_MODEL" > /tmp/sysinfo/model
+ echo "Detected $SUNXI_BOARD_NAME // $SUNXI_BOARD_MODEL"
}