brcm2708: add device detection and use it for network, leds and preinit
[openwrt/openwrt.git] / target / linux / brcm2708 / base-files / lib / brcm2708.sh
1 #!/bin/sh
2 # Copyright (C) 2015 OpenWrt.org
3
4 ifname=""
5
6 brcm2708_detect() {
7 local board_name model
8
9 model=$(cat /proc/device-tree/model)
10 case "$model" in
11 "Raspberry Pi Model B Rev"*)
12 board_name="rpi-b"
13 ;;
14 "Raspberry Pi Model B+ Rev"*)
15 board_name="rpi-b-plus"
16 ;;
17 "Raspberry Pi Compute Module Rev"*)
18 board_name="rpi-cm"
19 ;;
20 "Raspberry Pi 2 Model B Rev"*)
21 board_name="rpi-2-b"
22 ;;
23 *)
24 board_name="unknown"
25 ;;
26 esac
27
28 [ -e "/tmp/sysinfo" ] || mkdir -p "/tmp/sysinfo"
29
30 echo "$board_name" > /tmp/sysinfo/board_name
31 echo "$model" > /tmp/sysinfo/model
32 }
33
34 brcm2708_board_name() {
35 local name
36
37 [ -f /tmp/sysinfo/board_name ] && name=$(cat /tmp/sysinfo/board_name)
38 [ -n "$name" ] || name="unknown"
39
40 echo $name
41 }