diff options
author | John Crispin <john@openwrt.org> | 2015-11-22 08:04:37 +0000 |
---|---|---|
committer | John Crispin <john@openwrt.org> | 2015-11-22 08:04:37 +0000 |
commit | cd9d0ee0d0b56e5bec8d7bc594bdbd6180632b28 (patch) | |
tree | 91ef3306b6e5a2bdb1413e7d76469d04a1c18f2d /target/linux/brcm2708/base-files/lib | |
parent | deff5fb6c89b58b193bb57ab129cbe441a4404b4 (diff) | |
download | upstream-cd9d0ee0d0b56e5bec8d7bc594bdbd6180632b28.tar.gz upstream-cd9d0ee0d0b56e5bec8d7bc594bdbd6180632b28.tar.bz2 upstream-cd9d0ee0d0b56e5bec8d7bc594bdbd6180632b28.zip |
brcm2708: add device detection and use it for network, leds and preinit
Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
SVN-Revision: 47572
Diffstat (limited to 'target/linux/brcm2708/base-files/lib')
3 files changed, 69 insertions, 0 deletions
diff --git a/target/linux/brcm2708/base-files/lib/brcm2708.sh b/target/linux/brcm2708/base-files/lib/brcm2708.sh new file mode 100644 index 0000000000..13c1aa953b --- /dev/null +++ b/target/linux/brcm2708/base-files/lib/brcm2708.sh @@ -0,0 +1,41 @@ +#!/bin/sh +# Copyright (C) 2015 OpenWrt.org + +ifname="" + +brcm2708_detect() { + local board_name model + + model=$(cat /proc/device-tree/model) + case "$model" in + "Raspberry Pi Model B Rev"*) + board_name="rpi-b" + ;; + "Raspberry Pi Model B+ Rev"*) + board_name="rpi-b-plus" + ;; + "Raspberry Pi Compute Module Rev"*) + board_name="rpi-cm" + ;; + "Raspberry Pi 2 Model B Rev"*) + board_name="rpi-2-b" + ;; + *) + board_name="unknown" + ;; + esac + + [ -e "/tmp/sysinfo" ] || mkdir -p "/tmp/sysinfo" + + echo "$board_name" > /tmp/sysinfo/board_name + echo "$model" > /tmp/sysinfo/model +} + +brcm2708_board_name() { + local name + + [ -f /tmp/sysinfo/board_name ] && name=$(cat /tmp/sysinfo/board_name) + [ -n "$name" ] || name="unknown" + + echo $name +} diff --git a/target/linux/brcm2708/base-files/lib/preinit/03_preinit_do_brcm2708.sh b/target/linux/brcm2708/base-files/lib/preinit/03_preinit_do_brcm2708.sh new file mode 100644 index 0000000000..294364848d --- /dev/null +++ b/target/linux/brcm2708/base-files/lib/preinit/03_preinit_do_brcm2708.sh @@ -0,0 +1,10 @@ +#!/bin/sh +# Copyright (C) 2015 OpenWrt.org + +do_brcm2708() { + . /lib/brcm2708.sh + + brcm2708_detect +} + +boot_hook_add preinit_main do_brcm2708 diff --git a/target/linux/brcm2708/base-files/lib/preinit/05_set_preinit_iface_brcm2708 b/target/linux/brcm2708/base-files/lib/preinit/05_set_preinit_iface_brcm2708 new file mode 100644 index 0000000000..154b01c4fe --- /dev/null +++ b/target/linux/brcm2708/base-files/lib/preinit/05_set_preinit_iface_brcm2708 @@ -0,0 +1,18 @@ +#!/bin/sh +# +# Copyright (C) 2015 OpenWrt.org +# + +. /lib/brcm2708.sh + +set_preinit_iface() { + case "$(brcm2708_board_name)" in + rpi-b |\ + rpi-b-plus |\ + rpi-2-b) + ifname=eth0 + ;; + esac +} + +boot_hook_add preinit_main set_preinit_iface |