1#!/bin/sh
2#
3# Copyright (C) 2014 OpenWrt.org
4#
5
6KIRKWOOD_BOARD_NAME=
7KIRKWOOD_MODEL=
8
9kirkwood_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="linksys-audi"
42		;;
43
44	"Linksys E4200v2 / EA4500")
45		name="linksys-viper"
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
78kirkwood_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}
87