octeon: add basic board detection
[openwrt/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 *)
21 name="generic"
22 ;;
23 esac
24
25 [ -z "$OCTEON_BOARD_NAME" ] && OCTEON_BOARD_NAME="$name"
26 [ -z "$OCTEON_MODEL" ] && OCTEON_MODEL="$machine"
27
28 [ -e "/tmp/sysinfo/" ] || mkdir -p "/tmp/sysinfo/"
29
30 echo "$OCTEON_BOARD_NAME" > /tmp/sysinfo/board_name
31 echo "$OCTEON_MODEL" > /tmp/sysinfo/model
32 }
33
34 octeon_board_name() {
35 local name
36
37 [ -f /tmp/sysinfo/board_name ] || octeon_board_detect
38 [ -f /tmp/sysinfo/board_name ] && name=$(cat /tmp/sysinfo/board_name)
39 [ -z "$name" ] && name="unknown"
40
41 echo "$name"
42 }