aboutsummaryrefslogtreecommitdiffstats
path: root/target/linux/ipq806x/base-files
diff options
context:
space:
mode:
Diffstat (limited to 'target/linux/ipq806x/base-files')
-rw-r--r--target/linux/ipq806x/base-files/etc/inittab4
-rw-r--r--target/linux/ipq806x/base-files/etc/uci-defaults/leds26
-rwxr-xr-xtarget/linux/ipq806x/base-files/etc/uci-defaults/network39
-rw-r--r--target/linux/ipq806x/base-files/lib/ipq806x.sh46
-rw-r--r--target/linux/ipq806x/base-files/lib/preinit/03_preinit_do_ipq806x.sh12
-rw-r--r--target/linux/ipq806x/base-files/lib/upgrade/platform.sh30
6 files changed, 157 insertions, 0 deletions
diff --git a/target/linux/ipq806x/base-files/etc/inittab b/target/linux/ipq806x/base-files/etc/inittab
new file mode 100644
index 0000000..19a6e11
--- /dev/null
+++ b/target/linux/ipq806x/base-files/etc/inittab
@@ -0,0 +1,4 @@
+# Copyright (c) 2013 The Linux Foundation. All rights reserved.
+::sysinit:/etc/init.d/rcS S boot
+::shutdown:/etc/init.d/rcS K shutdown
+ttyMSM0::askfirst:/bin/ash --login
diff --git a/target/linux/ipq806x/base-files/etc/uci-defaults/leds b/target/linux/ipq806x/base-files/etc/uci-defaults/leds
new file mode 100644
index 0000000..362c5b6
--- /dev/null
+++ b/target/linux/ipq806x/base-files/etc/uci-defaults/leds
@@ -0,0 +1,26 @@
+#!/bin/sh
+#
+# Copyright (C) 2015 OpenWrt.org
+#
+
+. /lib/functions/uci-defaults.sh
+. /lib/ipq806x.sh
+
+board=$(ipq806x_board_name)
+
+case "$board" in
+r7500)
+ ucidef_set_led_usbdev "usb1" "USB 1" "r7500:white:usb1" "1-1"
+ ucidef_set_led_usbdev "usb2" "USB 2" "r7500:white:usb3" "3-1"
+ ucidef_set_led_netdev "wan" "WAN" "r7500:white:wan" "eth0"
+ ucidef_set_led_ide_disk "esata" "eSATA" "r7500:amber:esata"
+ ucidef_set_led_default "wps" "WPS" "r7500:white:wps" "0"
+ ucidef_set_led_default "rfkill" "rfkill" "r7500:white:rfkill" "0"
+ ;;
+*)
+ ;;
+esac
+
+ucidef_commit_leds
+
+exit 0
diff --git a/target/linux/ipq806x/base-files/etc/uci-defaults/network b/target/linux/ipq806x/base-files/etc/uci-defaults/network
new file mode 100755
index 0000000..7742b73
--- /dev/null
+++ b/target/linux/ipq806x/base-files/etc/uci-defaults/network
@@ -0,0 +1,39 @@
+#!/bin/sh
+#
+# Copyright (c) 2015 The Linux Foundation. All rights reserved.
+# Copyright (C) 2011 OpenWrt.org
+#
+
+[ -e /etc/config/network ] && exit 0
+
+touch /etc/config/network
+
+. /lib/functions/uci-defaults.sh
+. /lib/ipq806x.sh
+
+ucidef_set_interface_loopback
+
+board=$(ipq806x_board_name)
+
+case "$board" in
+ap148 |\
+r7500)
+ ucidef_set_interfaces_lan_wan "eth1" "eth0"
+ ucidef_add_switch "switch0" "1" "1"
+ ucidef_add_switch_vlan "switch0" "1" "6 1 2 3 4"
+ ucidef_add_switch_vlan "switch0" "2" "0 5"
+ ;;
+db149)
+ ucidef_set_interfaces_lan_wan "eth1 eth2 eth3" "eth0"
+ ucidef_add_switch "switch0" "1" "1"
+ ucidef_add_switch_vlan "switch0" "1" "6 1 2 3 4"
+ ucidef_add_switch_vlan "switch0" "2" "0 5"
+ ;;
+*)
+ echo "Unsupported hardware. Network interfaces not intialized"
+ ;;
+esac
+
+uci commit network
+
+exit 0
diff --git a/target/linux/ipq806x/base-files/lib/ipq806x.sh b/target/linux/ipq806x/base-files/lib/ipq806x.sh
new file mode 100644
index 0000000..5b27bde
--- /dev/null
+++ b/target/linux/ipq806x/base-files/lib/ipq806x.sh
@@ -0,0 +1,46 @@
+#!/bin/sh
+#
+# Copyright (c) 2014 The Linux Foundation. All rights reserved.
+# Copyright (C) 2011 OpenWrt.org
+#
+
+IPQ806X_BOARD_NAME=
+IPQ806X_MODEL=
+
+ipq806x_board_detect() {
+ local machine
+ local name
+
+ machine=$(cat /proc/device-tree/model)
+
+ case "$machine" in
+ *"AP148")
+ name="ap148"
+ ;;
+ *"DB149")
+ name="db149"
+ ;;
+ *"R7500")
+ name="r7500"
+ ;;
+ esac
+
+ [ -z "$name" ] && name="unknown"
+
+ [ -z "$IPQ806X_BOARD_NAME" ] && IPQ806X_BOARD_NAME="$name"
+ [ -z "$IPQ806X_MODEL" ] && IPQ806X_MODEL="$machine"
+
+ [ -e "/tmp/sysinfo/" ] || mkdir -p "/tmp/sysinfo/"
+
+ echo "$IPQ806X_BOARD_NAME" > /tmp/sysinfo/board_name
+ echo "$IPQ806X_MODEL" > /tmp/sysinfo/model
+}
+
+ipq806x_board_name() {
+ local name
+
+ [ -f /tmp/sysinfo/board_name ] && name=$(cat /tmp/sysinfo/board_name)
+ [ -z "$name" ] && name="unknown"
+
+ echo "$name"
+}
diff --git a/target/linux/ipq806x/base-files/lib/preinit/03_preinit_do_ipq806x.sh b/target/linux/ipq806x/base-files/lib/preinit/03_preinit_do_ipq806x.sh
new file mode 100644
index 0000000..785f1eb
--- /dev/null
+++ b/target/linux/ipq806x/base-files/lib/preinit/03_preinit_do_ipq806x.sh
@@ -0,0 +1,12 @@
+#!/bin/sh
+#
+# Copyright (c) 2014 The Linux Foundation. All rights reserved.
+#
+
+do_ipq806x() {
+ . /lib/ipq806x.sh
+
+ ipq806x_board_detect
+}
+
+boot_hook_add preinit_main do_ipq806x
diff --git a/target/linux/ipq806x/base-files/lib/upgrade/platform.sh b/target/linux/ipq806x/base-files/lib/upgrade/platform.sh
new file mode 100644
index 0000000..c0e19a1
--- /dev/null
+++ b/target/linux/ipq806x/base-files/lib/upgrade/platform.sh
@@ -0,0 +1,30 @@
+. /lib/ipq806x.sh
+
+PART_NAME=firmware
+
+platform_check_image() {
+ local board=$(ipq806x_board_name)
+
+ case "$board" in
+ AP148 |\
+ r7500)
+ nand_do_platform_check $board $1
+ return $?;
+ ;;
+ *)
+ return 1;
+ esac
+}
+
+platform_pre_upgrade() {
+ local board=$(ipq806x_board_name)
+
+ case "$board" in
+ AP148 |\
+ r7500)
+ nand_do_upgrade "$1"
+ ;;
+ esac
+}
+
+# use default for platform_do_upgrade()