kirkwood: add initial support for NSA310s
[openwrt.git] / target / linux / kirkwood / base-files / lib / kirkwood.sh
1 #!/bin/sh
2 #
3 # Copyright (C) 2014 OpenWrt.org
4 #
5
6 KIRKWOOD_BOARD_NAME=
7 KIRKWOOD_MODEL=
8
9 kirkwood_board_detect() {
10         local machine
11         local name
12
13         machine=$(cat /proc/device-tree/model)
14
15         case "$machine" in
16         "Seagate FreeAgent Dockstar")
17                 name="dockstar"
18                 ;;
19
20         "Seagate GoFlex Home")
21                 name="goflexhome"
22                 ;;
23
24         "Seagate GoFlex Net")
25                 name="goflexnet"
26                 ;;
27
28         "Iomega Iconnect")
29                 name="iconnect"
30                 ;;
31
32         "RaidSonic ICY BOX IB-NAS62x0 (Rev B)")
33                 name="ib62x0"
34                 ;;
35
36         "Cloud Engines Pogoplug E02")
37                 name="pogo_e02"
38                 ;;
39
40         "Linksys EA3500")
41                 name="ea3500"
42                 ;;
43
44         "Linksys EA4500")
45                 name="ea4500"
46                 ;;
47
48         "Globalscale Technologies Guruplug Server Plus")
49                 name="guruplug-server-plus"
50                 ;;
51
52         "Globalscale Technologies SheevaPlug")
53                 name="sheevaplug"
54                 ;;
55
56         "Globalscale Technologies eSATA SheevaPlug")
57                 name="sheevaplug-esata"
58                 ;;
59
60         "ZyXEL NSA310S")
61                 name="nsa310s"
62                 ;;
63
64         *)
65                 name="generic"
66                 ;;
67         esac
68
69         [ -z "$KIRKWOOD_BOARD_NAME" ] && KIRKWOOD_BOARD_NAME="$name"
70         [ -z "$KIRKWOOD_MODEL" ] && KIRKWOOD_MODEL="$machine"
71
72         [ -e "/tmp/sysinfo/" ] || mkdir -p "/tmp/sysinfo/"
73
74         echo "$KIRKWOOD_BOARD_NAME" > /tmp/sysinfo/board_name
75         echo "$KIRKWOOD_MODEL" > /tmp/sysinfo/model
76 }
77
78 kirkwood_board_name() {
79         local name
80
81         [ -f /tmp/sysinfo/board_name ] || kirkwood_board_detect
82         [ -f /tmp/sysinfo/board_name ] && name=$(cat /tmp/sysinfo/board_name)
83         [ -z "$name" ] && name="unknown"
84
85         echo "$name"
86 }