octeon: add detection for edgerouter and edgerouter-pro
[oweals/openwrt.git] / target / linux / octeon / base-files / lib / functions / octeon.sh
1 #!/bin/sh
2 #
3 # Copyright (C) 2010-2013 OpenWrt.org
4 #
5
6 OCTEON_BOARD_NAME=
7 OCTEON_MODEL=
8
9 octeon_board_detect() {
10         local machine
11         local name
12
13         machine=$(grep "^system type" /proc/cpuinfo | sed "s/system type.*: \(.*\)/\1/g")
14
15         case "$machine" in
16         "UBNT_E100"*)
17                 name="erlite"
18                 ;;
19
20         "UBNT_E200"*)
21                 name="er"
22                 ;;
23
24         "UBNT_E220"*)
25                 name="erpro"
26                 ;;
27
28         *)
29                 name="generic"
30                 ;;
31         esac
32
33         [ -z "$OCTEON_BOARD_NAME" ] && OCTEON_BOARD_NAME="$name"
34         [ -z "$OCTEON_MODEL" ] && OCTEON_MODEL="$machine"
35
36         [ -e "/tmp/sysinfo/" ] || mkdir -p "/tmp/sysinfo/"
37
38         echo "$OCTEON_BOARD_NAME" > /tmp/sysinfo/board_name
39         echo "$OCTEON_MODEL" > /tmp/sysinfo/model
40 }
41
42 octeon_board_name() {
43         local name
44
45         [ -f /tmp/sysinfo/board_name ] || octeon_board_detect
46         [ -f /tmp/sysinfo/board_name ] && name=$(cat /tmp/sysinfo/board_name)
47         [ -z "$name" ] && name="unknown"
48
49         echo "$name"
50 }