ramips: introduce DTS for ALL5003
[openwrt/openwrt.git] / target / linux / ramips / base-files / lib / ramips.sh
1 #!/bin/sh
2 #
3 # Copyright (C) 2010-2013 OpenWrt.org
4 #
5
6 RAMIPS_BOARD_NAME=
7 RAMIPS_MODEL=
8
9 all500x_board_detect() {
10 local systype
11
12 systype=$(awk 'BEGIN{FS="[ \t]+:[ \t]"} /system type/ {print $2}' /proc/cpuinfo)
13 case "$systype" in
14 *"RT5350"*)
15 RAMIPS_MODEL="Allnet ALL5003"
16 ;;
17 *"RT3352"*)
18 RAMIPS_MODEL="Allnet ALL5002"
19 ;;
20 esac
21 }
22
23 ramips_board_detect() {
24 local machine
25 local name
26
27 machine=$(awk 'BEGIN{FS="[ \t]+:[ \t]"} /machine/ {print $2}' /proc/cpuinfo)
28
29 case "$machine" in
30 *"8devices Carambola")
31 name="carambola"
32 ;;
33 *"Edimax 3g-6200n")
34 name="3g-6200n"
35 ;;
36 *"Edimax 3g-6200nl")
37 name="3g-6200nl"
38 ;;
39 *"AirLive Air3GII")
40 name="air3gii"
41 ;;
42 *"Edimax BR-6425")
43 name="br6425"
44 ;;
45 *"Allnet ALL0239-3G")
46 name="all0239-3g"
47 ;;
48 *"Allnet ALL0256N")
49 name="all0256n"
50 ;;
51 *"Allnet ALL5002")
52 name="all5002"
53 ;;
54 *"Allnet ALL5003")
55 name="all5003"
56 ;;
57 *"ARC FreeStation5")
58 name="freestation5"
59 ;;
60 *"Argus ATP-52B")
61 name="argus-atp52b"
62 ;;
63 *"BR6524N")
64 name="br6524n"
65 ;;
66 *"Asus WL-330N")
67 name="wl-330n"
68 ;;
69 *"Asus WL-330N3G")
70 name="wl-330n3g"
71 ;;
72 *"Alpha ASL26555")
73 name="asl26555"
74 ;;
75 *"Aztech HW550-3G")
76 name="hw550-3g"
77 ;;
78 *"DIR-300 B1")
79 name="dir-300-b1"
80 ;;
81 *"DIR-600 B1")
82 name="dir-600-b1"
83 ;;
84 *"DIR-600 B2")
85 name="dir-600-b2"
86 ;;
87 *"DIR-620 A1")
88 name="dir-620-a1"
89 ;;
90 *"DIR-620 D1")
91 name="dir-620-d1"
92 ;;
93 *"DIR-615 H1")
94 name="dir-615-h1"
95 ;;
96 *"DIR-615 D")
97 name="dir-615-d"
98 ;;
99 *"DIR-645")
100 name="dir-645"
101 ;;
102 *"DAP-1350")
103 name="dap-1350"
104 ;;
105 *"ESR-9753")
106 name="esr-9753"
107 ;;
108 *"F5D8235 v1")
109 name="f5d8235-v1"
110 ;;
111 *"F5D8235 v2")
112 name="f5d8235-v2"
113 ;;
114 *"Hauppauge Broadway")
115 name="broadway"
116 ;;
117 *"Huawei D105")
118 name="d105"
119 ;;
120 *"La Fonera 2.0N")
121 name="fonera20n"
122 ;;
123 *"Asus RT-N13U")
124 name="rt-n13u"
125 ;;
126 *"MoFi Network MOFI3500-3GN")
127 name="mofi3500-3gn"
128 ;;
129 *"NBG-419N")
130 name="nbg-419n"
131 ;;
132 *"Netgear WNCE2001")
133 name="wnce2001"
134 ;;
135 *"NexAira BC2")
136 name="bc2"
137 ;;
138 *"NW718")
139 name="nw718"
140 ;;
141 *"Omnima EMB HPM")
142 name="omni-emb-hpm"
143 ;;
144 *"Omnima MiniEMBWiFi")
145 name="omni-emb"
146 ;;
147 *"Petatel PSR-680W"*)
148 name="psr-680w"
149 ;;
150 *"Planex MZK-W300NH2"*)
151 name="mzk-w300nh2"
152 ;;
153 *"PWH2004")
154 name="pwh2004"
155 ;;
156 *"RT-G32 B1")
157 name="rt-g32-b1"
158 ;;
159 *"RT-N10+")
160 name="rt-n10-plus"
161 ;;
162 *"RT-N15")
163 name="rt-n15"
164 ;;
165 *"RT-N56U")
166 name="rt-n56u"
167 ;;
168 *"Skyline SL-R7205"*)
169 name="sl-r7205"
170 ;;
171 *"Sparklan WCR-150GN")
172 name="wcr-150gn"
173 ;;
174 *"V22RW-2X2")
175 name="v22rw-2x2"
176 ;;
177 *"W502U")
178 name="w502u"
179 ;;
180 *"WHR-G300N")
181 name="whr-g300n"
182 ;;
183 *"Sitecom WL-341 v3")
184 name="wl341v3"
185 ;;
186 *"Sitecom WL-351 v1 002")
187 name="wl-351"
188 ;;
189 *"Tenda 3G300M")
190 name="3g300m"
191 ;;
192 *"Tenda W306R V2.0")
193 name="w306r-v20"
194 ;;
195 *"Tenda W150M")
196 name="w150m"
197 ;;
198 *"TEW-691GR")
199 name="tew-691gr"
200 ;;
201 *"TEW-692GR")
202 name="tew-692gr"
203 ;;
204 *"Ralink V11ST-FE")
205 name="v11st-fe"
206 ;;
207 *"WLI-TX4-AG300N")
208 name="wli-tx4-ag300n"
209 ;;
210 *"WZR-AGL300NH")
211 name="wzr-agl300nh"
212 ;;
213 *"WR512-3GN-like router")
214 name="wr512-3gn"
215 ;;
216 *"UR-326N4G Wireless N router")
217 name="ur-326n4g"
218 ;;
219 *"UR-336UN Wireless N router")
220 name="ur-336un"
221 ;;
222 *"AWB WR6202")
223 name="wr6202"
224 ;;
225 *"XDX RN502J")
226 name="xdxrn502j"
227 ;;
228 *)
229 name="generic"
230 ;;
231 esac
232
233 case "$machine" in
234 *"Allnet ALL500"[23]*)
235 all500x_board_detect
236 ;;
237 esac
238
239 [ -z "$RAMIPS_BOARD_NAME" ] && RAMIPS_BOARD_NAME="$name"
240 [ -z "$RAMIPS_MODEL" ] && RAMIPS_MODEL="$machine"
241
242 [ -e "/tmp/sysinfo/" ] || mkdir -p "/tmp/sysinfo/"
243
244 echo "$RAMIPS_BOARD_NAME" > /tmp/sysinfo/board_name
245 echo "$RAMIPS_MODEL" > /tmp/sysinfo/model
246 }
247
248 ramips_board_name() {
249 local name
250
251 [ -f /tmp/sysinfo/board_name ] && name=$(cat /tmp/sysinfo/board_name)
252 [ -z "$name" ] && name="unknown"
253
254 echo "$name"
255 }