ramips: Add support for Phicomm PSG1208
[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 ramips_board_detect() {
10 local machine
11 local name
12
13 machine=$(awk 'BEGIN{FS="[ \t]+:[ \t]"} /machine/ {print $2}' /proc/cpuinfo)
14
15 case "$machine" in
16 *"3G150B")
17 name="3g150b"
18 ;;
19 *"3G300M")
20 name="3g300m"
21 ;;
22 *"3g-6200n")
23 name="3g-6200n"
24 ;;
25 *"3g-6200nl")
26 name="3g-6200nl"
27 ;;
28 *"A5-V11")
29 name="a5-v11"
30 ;;
31 *"Ai-BR100")
32 name="ai-br100"
33 ;;
34 *"Air3GII")
35 name="air3gii"
36 ;;
37 *"ALL0239-3G")
38 name="all0239-3g"
39 ;;
40 *"ALL0256N")
41 name="all0256n"
42 ;;
43 *"ALL5002")
44 name="all5002"
45 ;;
46 *"ALL5003")
47 name="all5003"
48 ;;
49 *"AR670W")
50 name="ar670w"
51 ;;
52 *"AR725W")
53 name="ar725w"
54 ;;
55 *"ASL26555")
56 name="asl26555"
57 ;;
58 *"ATP-52B")
59 name="atp-52b"
60 ;;
61 *"AWAPN2403")
62 name="awapn2403"
63 ;;
64 *"AWM002 EVB")
65 name="awm002-evb"
66 ;;
67 *"AWM003 EVB")
68 name="awm003-evb"
69 ;;
70 *"BC2")
71 name="bc2"
72 ;;
73 *"BR-6425")
74 name="br-6425"
75 ;;
76 *"BR-6475nD")
77 name="br-6475nd"
78 ;;
79 *"Broadway")
80 name="broadway"
81 ;;
82 *"C20i")
83 name="c20i"
84 ;;
85 *"Carambola")
86 name="carambola"
87 ;;
88 *"CF-WR800N")
89 name="cf-wr800n"
90 ;;
91 *"CY-SWR1100")
92 name="cy-swr1100"
93 ;;
94 *"D105")
95 name="d105"
96 ;;
97 *"DAP-1350")
98 name="dap-1350"
99 ;;
100 *"DB-WRT01")
101 name="db-wrt01"
102 ;;
103 *"DCS-930")
104 name="dcs-930"
105 ;;
106 *"DCS-930L B1")
107 name="dcs-930l-b1"
108 ;;
109 *"DIR-300 B1")
110 name="dir-300-b1"
111 ;;
112 *"DIR-300 B7")
113 name="dir-300-b7"
114 ;;
115 *"DIR-320 B1")
116 name="dir-320-b1"
117 ;;
118 *"DIR-600 B1")
119 name="dir-600-b1"
120 ;;
121 *"DIR-600 B2")
122 name="dir-600-b2"
123 ;;
124 *"DIR-610 A1")
125 name="dir-610-a1"
126 ;;
127 *"DIR-615 D")
128 name="dir-615-d"
129 ;;
130 *"DIR-615 H1")
131 name="dir-615-h1"
132 ;;
133 *"DIR-620 A1")
134 name="dir-620-a1"
135 ;;
136 *"DIR-620 D1")
137 name="dir-620-d1"
138 ;;
139 *"DIR-645")
140 name="dir-645"
141 ;;
142 *"DIR-810L")
143 name="dir-810l"
144 ;;
145 *"DIR-860L B1")
146 name="dir-860l-b1"
147 ;;
148 *"Dovado Tiny AC")
149 name="tiny-ac"
150 ;;
151 *"E1700")
152 name="e1700"
153 ;;
154 *"ESR-9753")
155 name="esr-9753"
156 ;;
157 *"EX2700")
158 name="ex2700";
159 ;;
160 *"F5D8235 v1")
161 name="f5d8235-v1"
162 ;;
163 *"F5D8235 v2")
164 name="f5d8235-v2"
165 ;;
166 *"F7C027")
167 name="f7c027"
168 ;;
169 *"FireWRT")
170 name="firewrt"
171 ;;
172 *"Fonera 2.0N")
173 name="fonera20n"
174 ;;
175 *"FreeStation5")
176 name="freestation5"
177 ;;
178 *"HC5661")
179 name="hc5661"
180 ;;
181 *"HC5761")
182 name="hc5761"
183 ;;
184 *"HC5861")
185 name="hc5861"
186 ;;
187 *"HG255D")
188 name="hg255d"
189 ;;
190 *"HLK-RM04")
191 name="hlk-rm04"
192 ;;
193 *"HPM")
194 name="hpm"
195 ;;
196 *"HT-TM02")
197 name="ht-tm02"
198 ;;
199 *"HW550-3G")
200 name="hw550-3g"
201 ;;
202 *"IP2202")
203 name="ip2202"
204 ;;
205 *"M3")
206 name="m3"
207 ;;
208 *"M4")
209 name="m4"
210 ;;
211 *"MediaTek LinkIt Smart 7688")
212 linkit="$(dd bs=1 skip=1024 count=12 if=/dev/mtd2 2> /dev/null)"
213 if [ "${linkit}" = "LINKITS7688D" ]; then
214 name="linkits7688d"
215 RAMIPS_MODEL="${machine} DUO"
216 else
217 name="linkits7688"
218 fi
219 ;;
220 *"Memory 2 Move")
221 name="m2m"
222 ;;
223 *"MicroWRT")
224 name="microwrt"
225 ;;
226 *"MiniEMBPlug")
227 name="miniembplug"
228 ;;
229 *"MiniEMBWiFi")
230 name="miniembwifi"
231 ;;
232 *"MiWiFi Mini")
233 name="miwifi-mini"
234 ;;
235 *"MLW221")
236 name="mlw221"
237 ;;
238 *"MLWG2")
239 name="mlwg2"
240 ;;
241 *"MOFI3500-3GN")
242 name="mofi3500-3gn"
243 ;;
244 *"MPR-A1")
245 name="mpr-a1"
246 ;;
247 *"MPR-A2")
248 name="mpr-a2"
249 ;;
250 *"MR-102N")
251 name="mr-102n"
252 ;;
253 *"MT7620a + MT7530 evaluation"*)
254 name="mt7620a_mt7530"
255 ;;
256 *"MT7620a V22SG"*)
257 name="mt7620a_v22sg"
258 ;;
259 *"MT7621 evaluation"*)
260 name="mt7621"
261 ;;
262 *"MT7628AN evaluation"*)
263 name="mt7628"
264 ;;
265 *"MT7688 evaluation"*)
266 name="mt7688"
267 ;;
268 *"MZK-750DHP")
269 name="mzk-750dhp"
270 ;;
271 *"MZK-DP150N")
272 name="mzk-dp150n"
273 ;;
274 *"MZK-W300NH2"*)
275 name="mzk-w300nh2"
276 ;;
277 *"NA930")
278 name="na930"
279 ;;
280 *"NBG-419N")
281 name="nbg-419n"
282 ;;
283 *"NCS601W")
284 name="ncs601w"
285 ;;
286 *"NW718")
287 name="nw718"
288 ;;
289 *"OY-0001")
290 name="oy-0001"
291 ;;
292 *"PBR-M1")
293 name="pbr-m1"
294 ;;
295 *"PSG1208")
296 name="psg1208"
297 ;;
298 *"PSR-680W"*)
299 name="psr-680w"
300 ;;
301 *"PWH2004")
302 name="pwh2004"
303 ;;
304 *"PX-4885")
305 name="px-4885"
306 ;;
307 *"Q7")
308 name="zte-q7"
309 ;;
310 *"RE6500")
311 name="re6500"
312 ;;
313 *"RN502J")
314 name="xdxrn502j"
315 ;;
316 *"RP-N53")
317 name="rp-n53"
318 ;;
319 *"RT5350F-OLinuXino")
320 name="rt5350f-olinuxino"
321 ;;
322 *"RT5350F-OLinuXino-EVB")
323 name="rt5350f-olinuxino-evb"
324 ;;
325 *"RT-G32 B1")
326 name="rt-g32-b1"
327 ;;
328 *"RT-N10+")
329 name="rt-n10-plus"
330 ;;
331 *"RT-N13U")
332 name="rt-n13u"
333 ;;
334 *"RT-N14U")
335 name="rt-n14u"
336 ;;
337 *"RT-N15")
338 name="rt-n15"
339 ;;
340 *"RT-N56U")
341 name="rt-n56u"
342 ;;
343 *"RUT5XX")
344 name="rut5xx"
345 ;;
346 *"SAP-G3200U3")
347 name="sap-g3200u3"
348 ;;
349 *"SL-R7205"*)
350 name="sl-r7205"
351 ;;
352 *"TEW-691GR")
353 name="tew-691gr"
354 ;;
355 *"TEW-692GR")
356 name="tew-692gr"
357 ;;
358 *"UBNT-ERX")
359 name="ubnt-erx"
360 ;;
361 *"UR-326N4G")
362 name="ur-326n4g"
363 ;;
364 *"UR-336UN")
365 name="ur-336un"
366 ;;
367 *"V11ST-FE")
368 name="v11st-fe"
369 ;;
370 *"V22RW-2X2")
371 name="v22rw-2x2"
372 ;;
373 *"VoCore")
374 name="vocore"
375 ;;
376 *"W150M")
377 name="w150m"
378 ;;
379 *"W306R V2.0")
380 name="w306r-v20"
381 ;;
382 *"W502U")
383 name="w502u"
384 ;;
385 *"WCR-150GN")
386 name="wcr-150gn"
387 ;;
388 *"WF-2881")
389 name="wf-2881"
390 ;;
391 *"WHR-1166D")
392 name="whr-1166d"
393 ;;
394 *"WHR-300HP2")
395 name="whr-300hp2"
396 ;;
397 *"WHR-600D")
398 name="whr-600d"
399 ;;
400 *"WHR-G300N")
401 name="whr-g300n"
402 ;;
403 *"WiTi")
404 name="witi"
405 ;;
406 *"WIZARD 8800")
407 name="wizard8800"
408 ;;
409 *"WizFi630A")
410 name="wizfi630a"
411 ;;
412 *"WL-330N")
413 name="wl-330n"
414 ;;
415 *"WL-330N3G")
416 name="wl-330n3g"
417 ;;
418 *"WL-341 v3")
419 name="wl-341v3"
420 ;;
421 *"WL-351 v1 002")
422 name="wl-351"
423 ;;
424 *"WLI-TX4-AG300N")
425 name="wli-tx4-ag300n"
426 ;;
427 *"WMR-300")
428 name="wmr-300"
429 ;;
430 *"WNCE2001")
431 name="wnce2001"
432 ;;
433 *"WR512-3GN-like"*)
434 name="wr512-3gn"
435 ;;
436 *"WR6202")
437 name="wr6202"
438 ;;
439 *"WRTNODE")
440 name="wrtnode"
441 ;;
442 *"WRTnode2R")
443 name="wrtnode2r"
444 ;;
445 *"WRTnode2P")
446 name="wrtnode2p"
447 ;;
448 *"WSR-1166DHP")
449 name="wsr-1166"
450 ;;
451 *"WSR-600DHP")
452 name="wsr-600"
453 ;;
454 *"WT1520")
455 name="wt1520"
456 ;;
457 *"WT3020")
458 name="wt3020"
459 ;;
460 *"WZR-AGL300NH")
461 name="wzr-agl300nh"
462 ;;
463 *"X5")
464 name="x5"
465 ;;
466 *"X8")
467 name="x8"
468 ;;
469 *"Y1")
470 name="y1"
471 ;;
472 *"Y1S")
473 name="y1s"
474 ;;
475 *"ZBT-WA05")
476 name="zbt-wa05"
477 ;;
478 *"ZBT-WG2626")
479 name="zbt-wg2626"
480 ;;
481 *"ZBT-WR8305RT")
482 name="zbt-wr8305rt"
483 ;;
484 *"YK1")
485 name="youku-yk1"
486 ;;
487 *)
488 name="generic"
489 ;;
490 esac
491
492 [ -z "$RAMIPS_BOARD_NAME" ] && RAMIPS_BOARD_NAME="$name"
493 [ -z "$RAMIPS_MODEL" ] && RAMIPS_MODEL="$machine"
494
495 [ -e "/tmp/sysinfo/" ] || mkdir -p "/tmp/sysinfo/"
496
497 echo "$RAMIPS_BOARD_NAME" > /tmp/sysinfo/board_name
498 echo "$RAMIPS_MODEL" > /tmp/sysinfo/model
499 }
500
501 ramips_board_name() {
502 local name
503
504 [ -f /tmp/sysinfo/board_name ] && name=$(cat /tmp/sysinfo/board_name)
505 [ -z "$name" ] && name="unknown"
506
507 echo "$name"
508 }