aboutsummaryrefslogtreecommitdiffstats
path: root/target/linux/ipq806x/base-files/etc
diff options
context:
space:
mode:
authorZoltan HERPAI <wigyori@uid0.hu>2016-06-23 18:51:35 +0200
committerZoltan HERPAI <wigyori@uid0.hu>2016-06-23 18:51:35 +0200
commit880fddf86bfb0bb2452a33da6622d9d29c71d9bd (patch)
tree2e1945fd7539b4a3c614297d5fcf45ecde4a794a /target/linux/ipq806x/base-files/etc
parent993ba6b10921e6842d3cd09f9ef2f86cfddfc46a (diff)
downloadmaster-187ad058-880fddf86bfb0bb2452a33da6622d9d29c71d9bd.tar.gz
master-187ad058-880fddf86bfb0bb2452a33da6622d9d29c71d9bd.tar.bz2
master-187ad058-880fddf86bfb0bb2452a33da6622d9d29c71d9bd.zip
ipq806x: update bomb
ipq806x: Add support for linux-4.4 ipq806x: Add Archer C2600 to image/Makefile ipq806x/base-files: Add Archer C2600 LEDs and board ipq806x/base-files: Add support for Archer C2600 ipq806x/base-files: extract ath10k caldata ipq806x/dts: Add Archer C2600 DTS ipq806x: enable PM support ipq806x: add a default profile ipq806x: add diag.sh script ipq806x: qcom rpm fix support for smb208 mtd: add linksys_bootcount for ipq806x uboot-envtools: add ipq806x support Signed-off-by: Zoltan HERPAI <wigyori@uid0.hu>
Diffstat (limited to 'target/linux/ipq806x/base-files/etc')
-rwxr-xr-xtarget/linux/ipq806x/base-files/etc/board.d/01_leds7
-rwxr-xr-xtarget/linux/ipq806x/base-files/etc/board.d/02_network1
-rwxr-xr-xtarget/linux/ipq806x/base-files/etc/diag.sh31
-rw-r--r--target/linux/ipq806x/base-files/etc/hotplug.d/firmware/11-ath10k-caldata68
4 files changed, 107 insertions, 0 deletions
diff --git a/target/linux/ipq806x/base-files/etc/board.d/01_leds b/target/linux/ipq806x/base-files/etc/board.d/01_leds
index b32c1cc21d..392dc8b5e7 100755
--- a/target/linux/ipq806x/base-files/etc/board.d/01_leds
+++ b/target/linux/ipq806x/base-files/etc/board.d/01_leds
@@ -11,6 +11,13 @@ board_config_update
board=$(ipq806x_board_name)
case "$board" in
+c2600)
+ ucidef_set_led_usbdev "usb1" "USB 1" "usb_2:blue" "2-1"
+ ucidef_set_led_usbdev "usb2" "USB 2" "usb_4:blue" "4-1"
+ ucidef_set_led_netdev "wan" "WAN" "wan:blue" "eth0"
+ ucidef_set_led_netdev "lan" "LAN" "lan:blue" "br-lan"
+ ucidef_set_led_default "general" "general" "ledgnr:blue" "1"
+ ;;
d7800 |\
r7500)
ucidef_set_led_usbdev "usb1" "USB 1" "r7500:white:usb1" "1-1"
diff --git a/target/linux/ipq806x/base-files/etc/board.d/02_network b/target/linux/ipq806x/base-files/etc/board.d/02_network
index 6e18297e99..e3c9137a5a 100755
--- a/target/linux/ipq806x/base-files/etc/board.d/02_network
+++ b/target/linux/ipq806x/base-files/etc/board.d/02_network
@@ -13,6 +13,7 @@ board=$(ipq806x_board_name)
case "$board" in
ap148 |\
+c2600 |\
d7800 |\
r7500)
ucidef_add_switch "switch0" \
diff --git a/target/linux/ipq806x/base-files/etc/diag.sh b/target/linux/ipq806x/base-files/etc/diag.sh
new file mode 100755
index 0000000000..b19012c4e5
--- /dev/null
+++ b/target/linux/ipq806x/base-files/etc/diag.sh
@@ -0,0 +1,31 @@
+#!/bin/sh
+
+. /lib/functions/leds.sh
+. /lib/ipq806x.sh
+
+get_status_led() {
+ case $(ipq806x_board_name) in
+ c2600)
+ status_led="status:blue"
+ ;;
+ esac
+}
+
+set_state() {
+ get_status_led
+
+ case "$1" in
+ preinit)
+ status_led_blink_preinit
+ ;;
+ failsafe)
+ status_led_blink_failsafe
+ ;;
+ preinit_regular)
+ status_led_blink_preinit_regular
+ ;;
+ done)
+ status_led_on
+ ;;
+ esac
+}
diff --git a/target/linux/ipq806x/base-files/etc/hotplug.d/firmware/11-ath10k-caldata b/target/linux/ipq806x/base-files/etc/hotplug.d/firmware/11-ath10k-caldata
new file mode 100644
index 0000000000..5f604e1a26
--- /dev/null
+++ b/target/linux/ipq806x/base-files/etc/hotplug.d/firmware/11-ath10k-caldata
@@ -0,0 +1,68 @@
+#!/bin/sh
+
+ath10kcal_die() {
+ echo "ath10cal: " "$*"
+ exit 1
+}
+
+ath10kcal_from_file() {
+ local source=$1
+ local offset=$2
+ local count=$3
+
+ dd if=$source of=/lib/firmware/$FIRMWARE bs=1 skip=$offset count=$count 2>/dev/null || \
+ ath10kcal_die "failed to extract calibration data from $source"
+}
+
+ath10kcal_extract() {
+ local part=$1
+ local offset=$2
+ local count=$3
+ local mtd
+
+ mtd=$(find_mtd_chardev $part)
+ [ -n "$mtd" ] || \
+ ath10kcal_die "no mtd device found for partition $part"
+
+ dd if=$mtd of=/lib/firmware/$FIRMWARE bs=1 skip=$offset count=$count 2>/dev/null || \
+ ath10kcal_die "failed to extract calibration data from $mtd"
+}
+
+ath10kcal_patch_mac() {
+ local mac=$1
+
+ [ -z "$mac" ] && return
+
+ macaddr_2bin $mac | dd of=/lib/firmware/$FIRMWARE conv=notrunc bs=1 seek=6 count=6
+}
+
+[ -e /lib/firmware/$FIRMWARE ] && exit 0
+
+. /lib/ipq806x.sh
+. /lib/functions.sh
+. /lib/functions/system.sh
+
+board=$(ipq806x_board_name)
+
+
+case "$FIRMWARE" in
+"ath10k/cal-pci-0000:01:00.0.bin")
+ case $board in
+ c2600)
+ ath10kcal_extract "radio" 4096 12064
+# ath10kcal_patch_mac $(macaddr_add $(mtd_get_mac_binary default-mac 8) -1)
+ ;;
+ esac
+ ;;
+"ath10k/cal-pci-0001:01:00.0.bin")
+ case $board in
+ c2600)
+ ath10kcal_extract "radio" 20480 12064
+# ath10kcal_patch_mac $(macaddr_add $(mtd_get_mac_binary default-mac 8) -2)
+ ;;
+ esac
+ ;;
+*)
+ exit 1
+ ;;
+esac