aboutsummaryrefslogtreecommitdiffstats
path: root/target/linux/lantiq/xrx200
diff options
context:
space:
mode:
Diffstat (limited to 'target/linux/lantiq/xrx200')
-rwxr-xr-xtarget/linux/lantiq/xrx200/base-files/etc/board.d/01_leds70
-rwxr-xr-xtarget/linux/lantiq/xrx200/base-files/etc/board.d/02_network143
-rw-r--r--target/linux/lantiq/xrx200/base-files/etc/hotplug.d/firmware/11-ath10k-caldata20
-rw-r--r--target/linux/lantiq/xrx200/base-files/etc/hotplug.d/firmware/12-ath9k-eeprom38
-rwxr-xr-xtarget/linux/lantiq/xrx200/base-files/lib/upgrade/platform.sh25
5 files changed, 296 insertions, 0 deletions
diff --git a/target/linux/lantiq/xrx200/base-files/etc/board.d/01_leds b/target/linux/lantiq/xrx200/base-files/etc/board.d/01_leds
new file mode 100755
index 0000000000..b4d26d37ff
--- /dev/null
+++ b/target/linux/lantiq/xrx200/base-files/etc/board.d/01_leds
@@ -0,0 +1,70 @@
+#!/bin/sh
+#
+# Copyright (C) 2011-2015 OpenWrt.org
+#
+
+. /lib/functions/leds.sh
+. /lib/functions/uci-defaults.sh
+
+board_config_update
+
+led_wifi="$(get_dt_led wifi)"
+[ -n "$led_wifi" ] && ucidef_set_led_wlan "wifi" "wifi" "$led_wifi" "phy0tpt"
+
+led_usb="$(get_dt_led usb)"
+[ -n "$led_usb" ] && ucidef_set_led_usbdev "usb" "usb" "$led_usb" "1-1"
+
+led_usb2="$(get_dt_led usb2)"
+[ -n "$led_usb2" ] && ucidef_set_led_usbdev "usb2" "usb2" "$led_usb2" "2-1"
+
+led_dsl="$(get_dt_led dsl)"
+[ -n "$led_dsl" ] && {
+ led_internet="$(get_dt_led internet)"
+ if [ -n "$led_internet" ]; then
+ ucidef_set_led_default "dsl" "dsl" "$led_dsl" "0"
+ ucidef_set_led_netdev "internet" "internet" "$led_internet" "pppoe-wan"
+ else
+ ucidef_set_led_netdev "dsl" "dsl" "$led_dsl" "dsl0"
+ fi
+}
+
+board=$(board_name)
+
+case "$board" in
+arcadyan,arv7519rw22)
+ ucidef_set_led_netdev "lan" "lan" "arv7519rw22:green:lan" "eth0.1"
+ ;;
+arcadyan,vgv7510kw22-nor|\
+arcadyan,vgv7510kw22-brn)
+ ucidef_set_led_wlan "wifi" "wifi" "vgv7510kw22:green:wlan" "phy0radio"
+ ;;
+arcadyan,vgv7519-nor|\
+arcadyan,vgv7519-brn)
+ ucidef_set_led_wlan "wifi" "wifi" "vgv7519:green:wireless" "phy0radio"
+ ;;
+avm,fritz3370-rev2-hynix|\
+avm,fritz3370-rev2-micron)
+ ucidef_set_led_switch "lan" "LAN" "fritz3370:green:lan" "switch0" "0x17"
+ ;;
+bt,homehub-v5a)
+ ucidef_set_led_default "dimmed" "dimmed" "dimmed" "0"
+ ;;
+buffalo,wbmr-300hpd)
+ ucidef_set_led_switch "lan1" "LAN1" "wbmr300:green:lan1" "switch0" "0x08"
+ ucidef_set_led_switch "lan2" "LAN2" "wbmr300:green:lan2" "switch0" "0x04"
+ ucidef_set_led_switch "wan" "WAN" "wbmr300:green:wan" "switch0" "0x10"
+ ucidef_set_led_switch "lan3" "LAN3" "wbmr300:green:lan3" "switch0" "0x20"
+ ucidef_set_led_default "router" "router" "wbmr300:green:router" "1"
+ ;;
+netgear,dm200)
+ ucidef_set_led_netdev "lan" "lan" "dm200:green:lan" "eth0"
+ ;;
+zyxel,p-2812hnu-f1|\
+zyxel,p-2812hnu-f3)
+ ucidef_set_led_wlan "wifi" "wifi" "p2812hnufx:green:wlan" "phy0radio"
+ ;;
+esac
+
+board_config_flush
+
+exit 0
diff --git a/target/linux/lantiq/xrx200/base-files/etc/board.d/02_network b/target/linux/lantiq/xrx200/base-files/etc/board.d/02_network
new file mode 100755
index 0000000000..f56de32614
--- /dev/null
+++ b/target/linux/lantiq/xrx200/base-files/etc/board.d/02_network
@@ -0,0 +1,143 @@
+#!/bin/sh
+#
+# Copyright (C) 2011-2015 OpenWrt.org
+#
+
+. /lib/functions/uci-defaults.sh
+. /lib/functions/system.sh
+. /lib/functions/lantiq.sh
+
+board_config_update
+
+annex="a"
+
+lan_mac=""
+wan_mac=""
+
+board=$(board_name)
+
+case "$board" in
+alphanetworks,asl56026)
+ lan_mac=$(mtd_get_mac_ascii uboot_env ethaddr)
+ wan_mac=$(mtd_get_mac_ascii uboot_env wanmac)
+ ucidef_add_switch "switch0"\
+ "2:lan" "3:lan" "6t@eth0"
+ ;;
+arcadyan,arv7519rw22)
+ wan_mac=$(macaddr_add "$(mtd_get_mac_binary boardconfig 0x16)" 1)
+ ucidef_add_switch "switch0" \
+ "0:lan:5" "2:lan:3" "3:lan:4" "4:lan:1" "5:lan:2" "6t@eth0"
+ ;;
+arcadyan,vg3503j)
+ lan_mac=$(mtd_get_mac_ascii uboot-env ethaddr)
+ wan_mac=$(macaddr_add "$lan_mac" 1)
+ ucidef_add_switch "switch0" \
+ "2:lan:2" "4:lan:1" "6t@eth0"
+ ;;
+arcadyan,vgv7510kw22-brn|\
+arcadyan,vgv7510kw22-nor)
+ annex="b"
+ wan_mac=$(macaddr_add "$(mtd_get_mac_binary board_config 0x16)" 2)
+ ucidef_add_switch "switch0" \
+ "2:lan:2" "3:lan:1" "4:lan:4" "5:lan:3" "0:wan:5" "6t@eth0"
+ ;;
+arcadyan,vgv7519-brn|\
+arcadyan,vgv7519-nor)
+ wan_mac=$(mtd_get_mac_binary board_config 0x16)
+ ucidef_add_switch "switch0" \
+ "0:lan:4" "1:lan:3" "2:lan:2" "4:lan:1" "5:wan:5" "6t@eth0"
+ ;;
+avm,fritz3370-rev2-hynix|\
+avm,fritz3370-rev2-micron)
+ annex="b"
+ lan_mac=$(fritz_tffs -n maca -i $(find_mtd_part "tffs (1)"))
+ wan_mac=$(macaddr_add "$lan_mac" 3)
+ ucidef_add_switch "switch0" \
+ "0:lan:3" "1:lan:4" "2:lan:2" "4:lan:1" "6t@eth0"
+ ;;
+avm,fritz7360sl)
+ annex="b"
+ wan_mac=$(macaddr_add "$(mtd_get_mac_binary urlader 0xa91)" 1)
+ ucidef_add_switch "switch0" \
+ "0:lan:3" "1:lan:4" "2:lan:2" "4:lan:1" "6t@eth0"
+ ;;
+avm,fritz7362sl)
+ annex="b"
+ lan_mac=$(fritz_tffs -n maca -i $(find_mtd_part "tffs (1)"))
+ wan_mac=$(fritz_tffs -n macdsl -i $(find_mtd_part "tffs (1)"))
+ ucidef_add_switch "switch0" \
+ "0:lan:3" "1:lan:4" "2:lan:2" "4:lan:1" "6t@eth0"
+ ;;
+avm,fritz7412)
+ tffsdev=$(find_mtd_chardev "nand-tffs")
+ annex="b"
+ lan_mac=$(/usr/bin/fritz_tffs_nand -d $tffsdev -n maca -o)
+ wan_mac=$(/usr/bin/fritz_tffs_nand -d $tffsdev -n macdsl -o)
+ ucidef_set_interface_lan 'eth0'
+ ;;
+bt,homehub-v5a)
+ lan_mac=$(mtd_get_mac_binary_ubi caldata 0x110c)
+ wan_mac=$(macaddr_add "$lan_mac" 1)
+ ucidef_add_switch "switch0" \
+ "0:lan:3" "1:lan:4" "2:lan:2" "4:lan:1" "5:wan:5" "6t@eth0"
+ ;;
+buffalo,wbmr-300hpd)
+ lan_mac=$(mtd_get_mac_ascii ubootconfig ethaddr)
+ wan_mac="$lan_mac"
+ ucidef_add_switch "switch0" \
+ "5:lan:2" "2:lan:3" "3:lan:4" "4:wan:1" "6t@eth0"
+ ;;
+lantiq,easy80920-nand|\
+lantiq,easy80920-nor)
+ lan_mac=$(mtd_get_mac_ascii uboot_env ethaddr)
+ wan_mac=$(macaddr_add "$lan_mac" 1)
+ ucidef_add_switch "switch0" \
+ "0:lan:4" "1:lan:3" "2:lan:2" "4:lan:1" "5:wan:5" "6t@eth0"
+ ;;
+netgear,dm200)
+ lan_mac=$(mtd_get_mac_binary ART 0x0)
+ wan_mac=$(macaddr_add "$lan_mac" 1)
+ ucidef_set_interface_lan 'eth0'
+ ;;
+tplink,tdw8970|\
+tplink,tdw8980)
+ wan_mac=$(macaddr_add "$(mtd_get_mac_binary boardconfig 0xf100)" 1)
+ ucidef_add_switch "switch0" \
+ "0:lan:2" "2:lan:3" "4:lan:4" "5:lan:1" "6t@eth0"
+ ;;
+tplink,vr200|\
+tplink,vr200v)
+ wan_mac=$(macaddr_add "$(mtd_get_mac_binary romfile 0xf100)" 1)
+ ucidef_add_switch "switch0" \
+ "0:lan" "2:lan" "4:lan" "5:lan" "6t@eth0"
+ ;;
+zyxel,p-2812hnu-f1|\
+zyxel,p-2812hnu-f3)
+ lan_mac=$(mtd_get_mac_ascii uboot-env ethaddr)
+ wan_mac=$(macaddr_add "$lan_mac" 1)
+ ucidef_add_switch "switch0" \
+ "0:lan" "1:lan" "2:lan" "4:lan" "5:wan" "6t@eth0"
+ ;;
+*)
+ ucidef_set_interface_lan 'eth0'
+ ;;
+esac
+
+ls /lib/modules/$(uname -r)/ltq_atm* 1> /dev/null 2>&1 && \
+ ucidef_add_atm_bridge 1 32 "llc" "bridged" "dsl"
+
+if lantiq_is_vdsl_system; then
+ ucidef_add_vdsl_modem "$annex" "av"
+else
+ ucidef_add_adsl_modem "$annex" "/lib/firmware/adsl.bin"
+fi
+
+ucidef_set_interface_wan "dsl0" "pppoe"
+
+[ -n "$lan_mac" ] && ucidef_set_interface_macaddr "lan" "$lan_mac"
+[ -n "$wan_mac" ] && ucidef_set_interface_macaddr "wan" "$wan_mac"
+
+board_config_flush
+
+exit 0
+
diff --git a/target/linux/lantiq/xrx200/base-files/etc/hotplug.d/firmware/11-ath10k-caldata b/target/linux/lantiq/xrx200/base-files/etc/hotplug.d/firmware/11-ath10k-caldata
new file mode 100644
index 0000000000..4202187d4f
--- /dev/null
+++ b/target/linux/lantiq/xrx200/base-files/etc/hotplug.d/firmware/11-ath10k-caldata
@@ -0,0 +1,20 @@
+#!/bin/sh
+
+[ -e /lib/firmware/$FIRMWARE ] && exit 0
+
+. /lib/functions/caldata.sh
+
+case "$FIRMWARE" in
+"ath10k/cal-pci-0000:02:00.0.bin")
+ board=$(board_name)
+ case $board in
+ bt,homehub-v5a)
+ caldata_extract_ubi "caldata" 0x5000 0x844
+ ath10k_patch_mac $(macaddr_add $(mtd_get_mac_binary_ubi caldata 0x110c) +3)
+ ;;
+ *)
+ caldata_die "board $board is not supported yet"
+ ;;
+ esac
+ ;;
+esac
diff --git a/target/linux/lantiq/xrx200/base-files/etc/hotplug.d/firmware/12-ath9k-eeprom b/target/linux/lantiq/xrx200/base-files/etc/hotplug.d/firmware/12-ath9k-eeprom
new file mode 100644
index 0000000000..6fee72ea8d
--- /dev/null
+++ b/target/linux/lantiq/xrx200/base-files/etc/hotplug.d/firmware/12-ath9k-eeprom
@@ -0,0 +1,38 @@
+#!/bin/sh
+
+[ -e /lib/firmware/$FIRMWARE ] && exit 0
+
+. /lib/functions/caldata.sh
+
+case "$FIRMWARE" in
+ "ath9k-eeprom-pci-0000:00:0e.0.bin" | \
+ "ath9k-eeprom-pci-0000:01:00.0.bin" | \
+ "ath9k-eeprom-pci-0000:02:00.0.bin")
+ board=$(board_name)
+
+ case "$board" in
+ avm,fritz3370-rev2-hynix|\
+ avm,fritz3370-rev2-micron|\
+ avm,fritz7362sl)
+ caldata_extract_reverse "urlader" 0x1541 0x440
+ ;;
+ avm,fritz7360sl)
+ caldata_extract "urlader" 0x985 0x1000
+ ;;
+ avm,fritz7412)
+ /usr/bin/fritz_cal_extract -i 1 -s 0x1e000 -e 0x207 -l 4096 -o /lib/firmware/$FIRMWARE $(find_mtd_chardev "urlader")
+ ;;
+ bt,homehub-v5a)
+ caldata_extract_ubi "caldata" 0x1000 0x1000
+ ath9k_patch_mac_crc $(macaddr_add $(mtd_get_mac_binary_ubi caldata 0x110c) +2) 0x10c
+ ;;
+ tplink,tdw8970|\
+ tplink,tdw8980)
+ caldata_extract "boardconfig" 0x21000 0x1000
+ ;;
+ *)
+ caldata_die "board $board is not supported yet"
+ ;;
+ esac
+ ;;
+esac
diff --git a/target/linux/lantiq/xrx200/base-files/lib/upgrade/platform.sh b/target/linux/lantiq/xrx200/base-files/lib/upgrade/platform.sh
new file mode 100755
index 0000000000..dcd797c30d
--- /dev/null
+++ b/target/linux/lantiq/xrx200/base-files/lib/upgrade/platform.sh
@@ -0,0 +1,25 @@
+PART_NAME=firmware
+REQUIRE_IMAGE_METADATA=1
+
+platform_check_image() {
+ return 0
+}
+
+platform_do_upgrade() {
+ local board=$(board_name)
+
+ case "$board" in
+ avm,fritz3370-rev2-hynix|\
+ avm,fritz3370-rev2-micron|\
+ avm,fritz7362sl|\
+ avm,fritz7412|\
+ bt,homehub-v5a|\
+ zyxel,p-2812hnu-f1|\
+ zyxel,p-2812hnu-f3)
+ nand_do_upgrade $1
+ ;;
+ *)
+ default_do_upgrade "$1"
+ ;;
+ esac
+}