treewide: do board detection during preinit
[openwrt/openwrt.git] / target / linux / cns3xxx / base-files / lib / cns3xxx.sh
1 #!/bin/sh
2
3 CNS3XXX_BOARD_NAME=
4 CNS3XXX_MODEL=
5
6 cns3xxx_board_detect() {
7 local machine
8 local name
9
10 machine=$(awk 'BEGIN{FS="[ \t]+:[ \t]"} /Hardware/ {print $2}' /proc/cpuinfo)
11
12 case "$machine" in
13 "Gateworks Corporation Laguna"*)
14 name="laguna"
15 ;;
16 *)
17 name="generic";
18 ;;
19 esac
20
21 [ -z "$CNS3XXX_BOARD_NAME" ] && CNS3XXX_BOARD_NAME="$name"
22 [ -z "$CNS3XXX_MODEL" ] && CNS3XXX_MODEL="$machine"
23
24 [ -e "/tmp/sysinfo/" ] || mkdir -p "/tmp/sysinfo/"
25
26 echo "$CNS3XXX_BOARD_NAME" > /tmp/sysinfo/board_name
27 echo "$CNS3XXX_MODEL" > /tmp/sysinfo/model
28 }
29
30 cns3xxx_board_name() {
31 local name
32
33 [ -f /tmp/sysinfo/board_name ] && name=$(cat /tmp/sysinfo/board_name)
34 [ -z "$name" ] && name="unknown"
35
36 echo "$name"
37 }