summaryrefslogtreecommitdiff
path: root/target/linux/brcm2708/base-files/lib
diff options
context:
space:
mode:
Diffstat (limited to 'target/linux/brcm2708/base-files/lib')
-rw-r--r--target/linux/brcm2708/base-files/lib/brcm2708.sh41
-rw-r--r--target/linux/brcm2708/base-files/lib/preinit/03_preinit_do_brcm2708.sh10
-rw-r--r--target/linux/brcm2708/base-files/lib/preinit/05_set_preinit_iface_brcm270818
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 0000000..13c1aa9
--- /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 0000000..2943648
--- /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 0000000..154b01c
--- /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