lantiq: split base-files into subtargets
authorAdrian Schmutzler <freifunk@adrianschmutzler.de>
Tue, 17 Dec 2019 00:15:35 +0000 (01:15 +0100)
committerAdrian Schmutzler <freifunk@adrianschmutzler.de>
Tue, 14 Jan 2020 21:04:29 +0000 (22:04 +0100)
This splits the device-dependent base-files into subtarget directories,
like done recently for ath79 and ramips. While this increases the
overall lines of codes, it will make the code per subtarget smaller
and easier to keep track of features and devices.

While at it, several variables at the top of 02_network are removed,
as they were never changed. The values are put directly into the
function calls where they are used.

Remove unneeded LED setup from 01_leds, and remove 01_leds entirely
for falcon subtarget (as it is not used there).

Applies alphabetic reordering to device cases in base-files.

Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
22 files changed:
target/linux/lantiq/ase/base-files/etc/board.d/01_leds [new file with mode: 0755]
target/linux/lantiq/ase/base-files/etc/board.d/02_network [new file with mode: 0755]
target/linux/lantiq/ase/base-files/lib/upgrade/platform.sh [new file with mode: 0755]
target/linux/lantiq/base-files/etc/board.d/01_leds [deleted file]
target/linux/lantiq/base-files/etc/board.d/02_network [deleted file]
target/linux/lantiq/base-files/etc/hotplug.d/firmware/11-ath10k-caldata [deleted file]
target/linux/lantiq/base-files/etc/hotplug.d/firmware/12-ath9k-eeprom [deleted file]
target/linux/lantiq/base-files/lib/upgrade/platform.sh [deleted file]
target/linux/lantiq/falcon/base-files/etc/board.d/02_network [new file with mode: 0755]
target/linux/lantiq/falcon/base-files/lib/upgrade/platform.sh [new file with mode: 0755]
target/linux/lantiq/xrx200/base-files/etc/board.d/01_leds [new file with mode: 0755]
target/linux/lantiq/xrx200/base-files/etc/board.d/02_network [new file with mode: 0755]
target/linux/lantiq/xrx200/base-files/etc/hotplug.d/firmware/11-ath10k-caldata [new file with mode: 0644]
target/linux/lantiq/xrx200/base-files/etc/hotplug.d/firmware/12-ath9k-eeprom [new file with mode: 0644]
target/linux/lantiq/xrx200/base-files/lib/upgrade/platform.sh [new file with mode: 0755]
target/linux/lantiq/xway/base-files/etc/board.d/01_leds [new file with mode: 0755]
target/linux/lantiq/xway/base-files/etc/board.d/02_network [new file with mode: 0755]
target/linux/lantiq/xway/base-files/etc/hotplug.d/firmware/12-ath9k-eeprom [new file with mode: 0644]
target/linux/lantiq/xway/base-files/lib/upgrade/platform.sh [new file with mode: 0755]
target/linux/lantiq/xway_legacy/base-files/etc/board.d/01_leds [new file with mode: 0755]
target/linux/lantiq/xway_legacy/base-files/etc/board.d/02_network [new file with mode: 0755]
target/linux/lantiq/xway_legacy/base-files/lib/upgrade/platform.sh [new file with mode: 0755]

diff --git a/target/linux/lantiq/ase/base-files/etc/board.d/01_leds b/target/linux/lantiq/ase/base-files/etc/board.d/01_leds
new file mode 100755 (executable)
index 0000000..6a8de7d
--- /dev/null
@@ -0,0 +1,32 @@
+#!/bin/sh
+#
+# Copyright (C) 2011-2015 OpenWrt.org
+#
+
+. /lib/functions/leds.sh
+. /lib/functions/uci-defaults.sh
+
+board_config_update
+
+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
+allnet,all0333cj)
+       ucidef_set_led_netdev "lan" "lan" "all0333cj:green:lan" "eth0.1"
+       ;;
+esac
+
+board_config_flush
+
+exit 0
diff --git a/target/linux/lantiq/ase/base-files/etc/board.d/02_network b/target/linux/lantiq/ase/base-files/etc/board.d/02_network
new file mode 100755 (executable)
index 0000000..d37e999
--- /dev/null
@@ -0,0 +1,52 @@
+#!/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
+allnet,all0333cj)
+       annex="b"
+       lan_mac=$(mtd_get_mac_ascii uboot_env ethaddr)
+       wan_mac=$(macaddr_add "$lan_mac" 1)
+       ucidef_set_interface_lan 'eth0'
+       ;;
+netgear,dgn1000b)
+       annex="b"
+       ucidef_set_interface_lan '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/ase/base-files/lib/upgrade/platform.sh b/target/linux/lantiq/ase/base-files/lib/upgrade/platform.sh
new file mode 100755 (executable)
index 0000000..d088601
--- /dev/null
@@ -0,0 +1,10 @@
+PART_NAME=firmware
+REQUIRE_IMAGE_METADATA=1
+
+platform_check_image() {
+       return 0
+}
+
+platform_do_upgrade() {
+       default_do_upgrade "$1"
+}
diff --git a/target/linux/lantiq/base-files/etc/board.d/01_leds b/target/linux/lantiq/base-files/etc/board.d/01_leds
deleted file mode 100755 (executable)
index e89de97..0000000
+++ /dev/null
@@ -1,85 +0,0 @@
-#!/bin/sh
-#
-# Copyright (C) 2011-2015 OpenWrt.org
-# based on ar71xx
-#
-
-. /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
-allnet,all0333cj)
-       ucidef_set_led_netdev "lan" "lan" "all0333cj:green:lan" "eth0.1"
-       ;;
-arcadyan,arv4525pw)
-       ucidef_set_led_netdev "wifi" "wifi" "arv4525pw:green:wlan" "wlan0"
-       ;;
-arcadyan,arv7506pw11)
-       ucidef_set_led_wlan "wifi" "wifi" "arv7506pw11:green:wlan" "phy0radio"
-       ;;
-arcadyan,arv7519rw22)
-       ucidef_set_led_netdev "lan" "lan" "arv7519rw22:green:lan" "eth0.1"
-       ;;
-arcadyan,arv752dpw22)
-       ucidef_set_led_wlan "wifi" "wifi" "arv752dpw22:red:wifi" "phy0radio"
-       ;;
-bt,homehub-v5a)
-       ucidef_set_led_default "dimmed" "dimmed" "dimmed" "0"
-       ;;
-netgear,dm200)
-       ucidef_set_led_netdev "lan" "lan" "dm200:green:lan" "eth0"
-       ;;
-avm,fritz3370-rev2-hynix|\
-avm,fritz3370-rev2-micron)
-       ucidef_set_led_switch "lan" "LAN" "fritz3370:green:lan" "switch0" "0x17"
-       ;;
-zyxel,p-2812hnu-f1|\
-zyxel,p-2812hnu-f3)
-       ucidef_set_led_wlan "wifi" "wifi" "p2812hnufx:green:wlan" "phy0radio"
-       ;;
-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"
-       ;;
-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"
-       ;;
-*)
-       ;;
-esac
-
-board_config_flush
-
-exit 0
diff --git a/target/linux/lantiq/base-files/etc/board.d/02_network b/target/linux/lantiq/base-files/etc/board.d/02_network
deleted file mode 100755 (executable)
index d79a30d..0000000
+++ /dev/null
@@ -1,268 +0,0 @@
-#!/bin/sh
-#
-# Copyright (C) 2011-2015 OpenWrt.org
-#
-
-. /lib/functions/uci-defaults.sh
-. /lib/functions/system.sh
-. /lib/functions/lantiq.sh
-
-board_config_update
-
-vpi=1
-vci=32
-annex="a"
-tone="av"
-xfer_mode=""
-encaps="llc"
-payload="bridged"
-lan_mac=""
-wan_mac=""
-interface_wan="dsl0"
-
-board=$(board_name)
-
-case "$board" in
-audiocodes,mp-252)
-       ucidef_add_switch "switch0" \
-               "1:lan:4" "2:lan:3" "3:lan:2" "4:lan:1" "5t@eth0"
-       ;;
-
-allnet,all0333cj)
-       annex="b"
-       lan_mac=$(mtd_get_mac_ascii uboot_env ethaddr)
-       wan_mac=$(macaddr_add "$lan_mac" 1)
-       ucidef_set_interface_lan 'eth0'
-       ;;
-
-arcadyan,arv4510pw)
-       lan_mac=$(mtd_get_mac_ascii uboot_env ethaddr)
-       wan_mac=$(macaddr_add "$lan_mac" 1)
-       ucidef_add_switch "switch0" \
-               "0:lan:4" "2:lan:2" "1:lan:3" "3:lan:1" "5t@eth0"
-       ;;
-
-arcadyan,arv4519pw|arcadyan,arv7510pw22|arcadyan,arv7518pw)
-       ucidef_add_switch "switch0" \
-               "0t@eth0" "2:lan" "3:lan" "4:lan" "5:lan"
-       ;;
-
-arcadyan,arv4520pw)
-       annex="b"
-       ucidef_add_switch "switch0" \
-               "0:lan:4" "1:lan:3" "2:lan:2" "3:lan:1" "5t@eth0"
-       ;;
-
-arcadyan,arv4525pw|arcadyan,arv452cqw|arcadyan,arv7525pw|arcadyan,arv752dpw)
-       annex="b"
-       ucidef_set_interface_lan 'eth0'
-       ;;
-
-arcadyan,arv7506pw11)
-       annex="b"
-       wan_mac=$(macaddr_add "$(mtd_get_mac_binary board_config 0x16)" 2)
-       ucidef_add_switch "switch0" \
-               "1:lan:4" "2:lan:3" "3:lan:2" "4:lan:1" "5t@eth0"
-       ;;
-
-arcadyan,arv7519pw)
-       wan_mac=$(macaddr_add "$(mtd_get_mac_binary board_config 0x16)" 1)
-       ucidef_add_switch "switch0" \
-               "0:lan" "1:lan" "2:lan" "3:lan" "4t@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,arv752dpw22|arcadyan,arv8539pw22)
-       annex="b"
-       ucidef_add_switch "switch0" \
-               "0t@eth0" "2:lan" "3:lan" "4:lan" "5:lan"
-       ;;
-
-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"
-       ;;
-
-bt,homehub-v2b)
-       lan_mac=$(mtd_get_mac_ascii uboot_env ethaddr)
-       wan_mac=$(macaddr_add "$lan_mac" 1)
-       ucidef_add_switch "switch0" \
-               "1:lan" "2:lan" "3:lan" "4:lan" "5t@eth0"
-       ;;
-
-bt,homehub-v3a)
-       lan_mac=$(mtd_get_mac_ascii uboot_env ethaddr)
-       wan_mac=$(macaddr_add "$lan_mac" 1)
-       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"
-       ;;
-
-netgear,dgn1000b)
-       annex="b"
-       ucidef_set_interface_lan 'eth0'
-       ;;
-
-netgear,dgn3500|netgear,dgn3500b)
-       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" "3:lan:1" "5t@eth0"
-       ;;
-
-netgear,dm200)
-       lan_mac=$(mtd_get_mac_binary ART 0x0)
-       wan_mac=$(macaddr_add "$lan_mac" 1)
-       ucidef_set_interface_lan '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"
-       ;;
-
-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,fritz7312|\
-avm,fritz7320)
-       annex="b"
-       wan_mac=$(macaddr_add "$(mtd_get_mac_binary urlader 0xa91)" 1)
-       ucidef_set_interface_lan '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'
-       ;;
-
-siemens,gigaset-sx76x)
-       annex="b"
-       ucidef_add_switch "switch0" \
-               "1:lan:4" "2:lan:3" "3:lan:2" "4:lan:1" "5t@eth0"
-       ;;
-
-zte,h201l)
-       annex="b"
-       ucidef_add_switch "switch0" \
-               "0:lan" "1:lan" "2:lan" "3:lan" "4t@eth0"
-       ;;
-
-zyxel,p-2601hn)
-       ucidef_add_switch "switch0" \
-               "0:lan" "1:lan" "2:lan" "3:lan" "5t@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"
-       ;;
-
-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"
-       ;;
-
-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"
-       ;;
-
-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"
-       ;;
-
-arcadyan,vgv7510kw22-nor|arcadyan,vgv7510kw22-brn)
-       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-nor|arcadyan,vgv7519-brn)
-       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"
-       ;;
-
-buffalo,wbmr-hp-g300h)
-       ucidef_add_switch "switch0" \
-               "0t@eth0" "2:lan" "3:lan" "4:lan" "5:lan"
-       ;;
-
-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"
-       ;;
-
-*)
-       ucidef_set_interface_lan 'eth0'
-       ;;
-
-esac
-
-ls /lib/modules/$(uname -r)/ltq_atm* 1> /dev/null 2>&1 && \
-       ucidef_add_atm_bridge "$vpi" "$vci" "$encaps" "$payload" "dsl"
-
-if lantiq_is_vdsl_system; then
-       ucidef_add_vdsl_modem "$annex" "$tone" "$xfer_mode"
-else
-       ucidef_add_adsl_modem "$annex" "/lib/firmware/adsl.bin"
-fi
-
-ucidef_set_interface_wan "$interface_wan" "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/base-files/etc/hotplug.d/firmware/11-ath10k-caldata b/target/linux/lantiq/base-files/etc/hotplug.d/firmware/11-ath10k-caldata
deleted file mode 100644 (file)
index 0b48b77..0000000
+++ /dev/null
@@ -1,21 +0,0 @@
-#!/bin/sh
-# Based on ar71xx 11-ath10k-caldata and 10-rt2x00-eeprom
-
-[ -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/base-files/etc/hotplug.d/firmware/12-ath9k-eeprom b/target/linux/lantiq/base-files/etc/hotplug.d/firmware/12-ath9k-eeprom
deleted file mode 100644 (file)
index 5a6e8d3..0000000
+++ /dev/null
@@ -1,71 +0,0 @@
-#!/bin/sh
-
-[ -e /lib/firmware/$FIRMWARE ] && exit 0
-
-. /lib/functions/caldata.sh
-
-caldata_extract_swap() {
-       local part=$1
-       local offset=$2
-       local count=$3
-       local mtd
-
-       mtd=$(find_mtd_chardev $part)
-       [ -n "$mtd" ] || caldata_die "no mtd device found for partition $part"
-
-       offset=$(($offset / 2))
-       count=$(($count / 2))
-
-       dd if=$mtd of=/lib/firmware/$FIRMWARE bs=2 skip=$offset count=$count conv=swab 2>/dev/null || \
-               caldata_die "failed to extract calibration data from $mtd"
-}
-
-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
-                       arcadyan,arv7518pw)
-                               caldata_extract_swap "boardconfig" 0x400 0x1000
-                               ;;
-                       arcadyan,arv8539pw22)
-                               caldata_extract_swap "art" 0x400 0x1000
-                               ;;
-                       bt,homehub-v2b)
-                               caldata_extract_swap "art" 0x0 0x1000
-                               ath9k_patch_mac_crc "00:00:00:00:00:00" 0x20c
-                               ;;
-                       bt,homehub-v3a)
-                               caldata_extract_swap "art-copy" 0x0 0x1000
-                               ath9k_patch_mac_crc $(macaddr_add $(mtd_get_mac_ascii uboot_env ethaddr) +2) 0x10c
-                               ;;
-                       bt,homehub-v5a)
-                               caldata_extract_ubi "caldata" 0x1000 0x1000
-                               ath9k_patch_mac_crc $(macaddr_add $(mtd_get_mac_binary_ubi caldata 0x110c) +2) 0x10c
-                               ;;
-                       netgear,dgn3500|netgear,dgn3500b)
-                               caldata_extract "calibration" 0xf000 0x1000
-                               ath9k_patch_mac_crc $(macaddr_add $(mtd_get_mac_ascii uboot-env ethaddr) +2) 0x20c
-                               ;;
-                       avm,fritz3370-rev2-hynix|\
-                       avm,fritz3370-rev2-micron|\
-                       avm,fritz7362sl)
-                               caldata_extract_reverse "urlader" 0x1541 0x440
-                               ;;
-                       avm,fritz7312|avm,fritz7320|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")
-                               ;;
-                       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/base-files/lib/upgrade/platform.sh b/target/linux/lantiq/base-files/lib/upgrade/platform.sh
deleted file mode 100755 (executable)
index c47ff78..0000000
+++ /dev/null
@@ -1,27 +0,0 @@
-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-v2b|\
-       bt,homehub-v3a|\
-       bt,homehub-v5a|\
-       zyxel,p-2812hnu-f1|\
-       zyxel,p-2812hnu-f3)
-               nand_do_upgrade $1
-               ;;
-       *)
-               default_do_upgrade "$1"
-               ;;
-       esac
-}
diff --git a/target/linux/lantiq/falcon/base-files/etc/board.d/02_network b/target/linux/lantiq/falcon/base-files/etc/board.d/02_network
new file mode 100755 (executable)
index 0000000..76f134d
--- /dev/null
@@ -0,0 +1,36 @@
+#!/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=""
+
+ucidef_set_interface_lan 'eth0'
+
+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/falcon/base-files/lib/upgrade/platform.sh b/target/linux/lantiq/falcon/base-files/lib/upgrade/platform.sh
new file mode 100755 (executable)
index 0000000..d088601
--- /dev/null
@@ -0,0 +1,10 @@
+PART_NAME=firmware
+REQUIRE_IMAGE_METADATA=1
+
+platform_check_image() {
+       return 0
+}
+
+platform_do_upgrade() {
+       default_do_upgrade "$1"
+}
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 (executable)
index 0000000..b4d26d3
--- /dev/null
@@ -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 (executable)
index 0000000..f56de32
--- /dev/null
@@ -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 (file)
index 0000000..4202187
--- /dev/null
@@ -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 (file)
index 0000000..6fee72e
--- /dev/null
@@ -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 (executable)
index 0000000..dcd797c
--- /dev/null
@@ -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
+}
diff --git a/target/linux/lantiq/xway/base-files/etc/board.d/01_leds b/target/linux/lantiq/xway/base-files/etc/board.d/01_leds
new file mode 100755 (executable)
index 0000000..82a39f4
--- /dev/null
@@ -0,0 +1,44 @@
+#!/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,arv7506pw11)
+       ucidef_set_led_wlan "wifi" "wifi" "arv7506pw11:green:wlan" "phy0radio"
+       ;;
+arcadyan,arv752dpw22)
+       ucidef_set_led_wlan "wifi" "wifi" "arv752dpw22:red:wifi" "phy0radio"
+       ;;
+esac
+
+board_config_flush
+
+exit 0
diff --git a/target/linux/lantiq/xway/base-files/etc/board.d/02_network b/target/linux/lantiq/xway/base-files/etc/board.d/02_network
new file mode 100755 (executable)
index 0000000..b1b742b
--- /dev/null
@@ -0,0 +1,122 @@
+#!/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
+arcadyan,arv4510pw)
+       lan_mac=$(mtd_get_mac_ascii uboot_env ethaddr)
+       wan_mac=$(macaddr_add "$lan_mac" 1)
+       ucidef_add_switch "switch0" \
+               "0:lan:4" "2:lan:2" "1:lan:3" "3:lan:1" "5t@eth0"
+       ;;
+arcadyan,arv4519pw|\
+arcadyan,arv7510pw22|\
+arcadyan,arv7518pw)
+       ucidef_add_switch "switch0" \
+               "0t@eth0" "2:lan" "3:lan" "4:lan" "5:lan"
+       ;;
+arcadyan,arv7506pw11)
+       annex="b"
+       wan_mac=$(macaddr_add "$(mtd_get_mac_binary board_config 0x16)" 2)
+       ucidef_add_switch "switch0" \
+               "1:lan:4" "2:lan:3" "3:lan:2" "4:lan:1" "5t@eth0"
+       ;;
+arcadyan,arv7519pw)
+       wan_mac=$(macaddr_add "$(mtd_get_mac_binary board_config 0x16)" 1)
+       ucidef_add_switch "switch0" \
+               "0:lan" "1:lan" "2:lan" "3:lan" "4t@eth0"
+       ;;
+arcadyan,arv7525pw|\
+arcadyan,arv752dpw)
+       annex="b"
+       ucidef_set_interface_lan 'eth0'
+       ;;
+arcadyan,arv752dpw22|\
+arcadyan,arv8539pw22)
+       annex="b"
+       ucidef_add_switch "switch0" \
+               "0t@eth0" "2:lan" "3:lan" "4:lan" "5:lan"
+       ;;
+audiocodes,mp-252)
+       ucidef_add_switch "switch0" \
+               "1:lan:4" "2:lan:3" "3:lan:2" "4:lan:1" "5t@eth0"
+       ;;
+avm,fritz7312|\
+avm,fritz7320)
+       annex="b"
+       wan_mac=$(macaddr_add "$(mtd_get_mac_binary urlader 0xa91)" 1)
+       ucidef_set_interface_lan 'eth0'
+       ;;
+bt,homehub-v2b)
+       lan_mac=$(mtd_get_mac_ascii uboot_env ethaddr)
+       wan_mac=$(macaddr_add "$lan_mac" 1)
+       ucidef_add_switch "switch0" \
+               "1:lan" "2:lan" "3:lan" "4:lan" "5t@eth0"
+       ;;
+bt,homehub-v3a)
+       lan_mac=$(mtd_get_mac_ascii uboot_env ethaddr)
+       wan_mac=$(macaddr_add "$lan_mac" 1)
+       ucidef_set_interface_lan 'eth0'
+       ;;
+buffalo,wbmr-hp-g300h)
+       ucidef_add_switch "switch0" \
+               "0t@eth0" "2:lan" "3:lan" "4:lan" "5:lan"
+       ;;
+netgear,dgn3500|\
+netgear,dgn3500b)
+       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" "3:lan:1" "5t@eth0"
+       ;;
+siemens,gigaset-sx76x)
+       annex="b"
+       ucidef_add_switch "switch0" \
+               "1:lan:4" "2:lan:3" "3:lan:2" "4:lan:1" "5t@eth0"
+       ;;
+zte,h201l)
+       annex="b"
+       ucidef_add_switch "switch0" \
+               "0:lan" "1:lan" "2:lan" "3:lan" "4t@eth0"
+       ;;
+zyxel,p-2601hn)
+       ucidef_add_switch "switch0" \
+               "0:lan" "1:lan" "2:lan" "3:lan" "5t@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/xway/base-files/etc/hotplug.d/firmware/12-ath9k-eeprom b/target/linux/lantiq/xway/base-files/etc/hotplug.d/firmware/12-ath9k-eeprom
new file mode 100644 (file)
index 0000000..1f12da8
--- /dev/null
@@ -0,0 +1,56 @@
+#!/bin/sh
+
+[ -e /lib/firmware/$FIRMWARE ] && exit 0
+
+. /lib/functions/caldata.sh
+
+caldata_extract_swap() {
+       local part=$1
+       local offset=$2
+       local count=$3
+       local mtd
+
+       mtd=$(find_mtd_chardev $part)
+       [ -n "$mtd" ] || caldata_die "no mtd device found for partition $part"
+
+       offset=$(($offset / 2))
+       count=$(($count / 2))
+
+       dd if=$mtd of=/lib/firmware/$FIRMWARE bs=2 skip=$offset count=$count conv=swab 2>/dev/null || \
+               caldata_die "failed to extract calibration data from $mtd"
+}
+
+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
+                       arcadyan,arv7518pw)
+                               caldata_extract_swap "boardconfig" 0x400 0x1000
+                               ;;
+                       arcadyan,arv8539pw22)
+                               caldata_extract_swap "art" 0x400 0x1000
+                               ;;
+                       bt,homehub-v2b)
+                               caldata_extract_swap "art" 0x0 0x1000
+                               ath9k_patch_mac_crc "00:00:00:00:00:00" 0x20c
+                               ;;
+                       bt,homehub-v3a)
+                               caldata_extract_swap "art-copy" 0x0 0x1000
+                               ath9k_patch_mac_crc $(macaddr_add $(mtd_get_mac_ascii uboot_env ethaddr) +2) 0x10c
+                               ;;
+                       netgear,dgn3500|netgear,dgn3500b)
+                               caldata_extract "calibration" 0xf000 0x1000
+                               ath9k_patch_mac_crc $(macaddr_add $(mtd_get_mac_ascii uboot-env ethaddr) +2) 0x20c
+                               ;;
+                       avm,fritz7312|avm,fritz7320)
+                               caldata_extract "urlader" 0x985 0x1000
+                               ;;
+                       *)
+                               caldata_die "board $board is not supported yet"
+                               ;;
+               esac
+               ;;
+esac
diff --git a/target/linux/lantiq/xway/base-files/lib/upgrade/platform.sh b/target/linux/lantiq/xway/base-files/lib/upgrade/platform.sh
new file mode 100755 (executable)
index 0000000..5ef0a0d
--- /dev/null
@@ -0,0 +1,20 @@
+PART_NAME=firmware
+REQUIRE_IMAGE_METADATA=1
+
+platform_check_image() {
+       return 0
+}
+
+platform_do_upgrade() {
+       local board=$(board_name)
+
+       case "$board" in
+       bt,homehub-v2b|\
+       bt,homehub-v3a)
+               nand_do_upgrade $1
+               ;;
+       *)
+               default_do_upgrade "$1"
+               ;;
+       esac
+}
diff --git a/target/linux/lantiq/xway_legacy/base-files/etc/board.d/01_leds b/target/linux/lantiq/xway_legacy/base-files/etc/board.d/01_leds
new file mode 100755 (executable)
index 0000000..4200dcb
--- /dev/null
@@ -0,0 +1,41 @@
+#!/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,arv4525pw)
+       ucidef_set_led_netdev "wifi" "wifi" "arv4525pw:green:wlan" "wlan0"
+       ;;
+esac
+
+board_config_flush
+
+exit 0
diff --git a/target/linux/lantiq/xway_legacy/base-files/etc/board.d/02_network b/target/linux/lantiq/xway_legacy/base-files/etc/board.d/02_network
new file mode 100755 (executable)
index 0000000..120857d
--- /dev/null
@@ -0,0 +1,52 @@
+#!/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
+arcadyan,arv4520pw)
+       annex="b"
+       ucidef_add_switch "switch0" \
+               "0:lan:4" "1:lan:3" "2:lan:2" "3:lan:1" "5t@eth0"
+       ;;
+arcadyan,arv4525pw|\
+arcadyan,arv452cqw)
+       annex="b"
+       ucidef_set_interface_lan '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/xway_legacy/base-files/lib/upgrade/platform.sh b/target/linux/lantiq/xway_legacy/base-files/lib/upgrade/platform.sh
new file mode 100755 (executable)
index 0000000..d088601
--- /dev/null
@@ -0,0 +1,10 @@
+PART_NAME=firmware
+REQUIRE_IMAGE_METADATA=1
+
+platform_check_image() {
+       return 0
+}
+
+platform_do_upgrade() {
+       default_do_upgrade "$1"
+}