mxs: add basic board runtime detection support
[openwrt.git] / target / linux / mxs / base-files / lib / mxs.sh
1 #!/bin/sh
2 #
3 # Copyright (C) 2013 OpenWrt.org
4 #
5
6 MXS_BOARD_NAME=
7 MXS_MODEL=
8
9 mxs_board_detect() {
10         local machine
11         local name
12
13         machine=$(cat /proc/device-tree/model)
14
15         case "$machine" in
16         *"I2SE Duckbill"*)
17                 name="duckbill"
18                 ;;
19         *"i.MX23 Olinuxino Low Cost Board")
20                 name="olinuxino"
21                 ;;
22         esac
23
24         [ -z "$name" ] && name="unknown"
25
26         [ -z "$MXS_BOARD_NAME" ] && MXS_BOARD_NAME="$name"
27         [ -z "$MXS_MODEL" ] && MXS_MODEL="$machine"
28
29         [ -e "/tmp/sysinfo/" ] || mkdir -p "/tmp/sysinfo/"
30
31         echo "$MXS_BOARD_NAME" > /tmp/sysinfo/board_name
32         echo "$MXS_MODEL" > /tmp/sysinfo/model
33 }
34
35 mxs_board_name() {
36         local name
37
38         [ -f /tmp/sysinfo/board_name ] && name=$(cat /tmp/sysinfo/board_name)
39         [ -z "$name" ] && name="unknown"
40
41         echo "$name"
42 }