diff options
Diffstat (limited to 'target/linux/lantiq/xrx200')
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 +} |