ar71xx: add support for TP-LINK Archer C7 v4
[openwrt/staging/hauke.git] / target / linux / ar71xx / base-files / lib / upgrade / platform.sh
index e246f35addc252cc6ad075c52e518b4d50e57065..3d6d9ed57f356e4c6ebdb808c931ea4b05369c2e 100755 (executable)
@@ -7,7 +7,7 @@
 
 PART_NAME=firmware
 RAMFS_COPY_DATA=/lib/ar71xx.sh
-[ -x /usr/sbin/nandwrite ] && RAMFS_COPY_BIN=/usr/sbin/nandwrite
+RAMFS_COPY_BIN='nandwrite'
 
 CI_BLKSZ=65536
 CI_LDADR=0x80060000
@@ -184,7 +184,7 @@ alfa_check_image() {
 }
 
 platform_nand_board_name() {
-       local board=$(ar71xx_board_name)
+       local board=$(board_name)
 
        case "$board" in
        rb*) echo "routerboard";;
@@ -193,7 +193,7 @@ platform_nand_board_name() {
 }
 
 platform_check_image() {
-       local board=$(ar71xx_board_name)
+       local board=$(board_name)
        local magic="$(get_magic_word "$1")"
        local magic_long="$(get_magic_long "$1")"
 
@@ -203,16 +203,21 @@ platform_check_image() {
        airgatewaypro|\
        airgateway|\
        airrouter|\
+       ap121f|\
        ap132|\
        ap531b0|\
        ap90q|\
+       archer-c25-v1|\
+       archer-c58-v1|\
        archer-c59-v1|\
        archer-c60-v1|\
+       archer-c7-v4|\
        bullet-m|\
        c-55|\
        carambola2|\
        cf-e316n-v2|\
        cf-e320n-v2|\
+       cf-e355ac|\
        cf-e380ac-v1|\
        cf-e380ac-v2|\
        cf-e520n|\
@@ -236,6 +241,7 @@ platform_check_image() {
        dr531|\
        dragino2|\
        ebr-2310-c1|\
+       ens202ext|\
        epg5000|\
        esr1750|\
        esr900|\
@@ -246,6 +252,7 @@ platform_check_image() {
        gl-ar300|\
        gl-domino|\
        gl-mifi|\
+       gl-usb150|\
        hiwifi-hc6361|\
        hornet-ub-x2|\
        jwap230|\
@@ -270,6 +277,7 @@ platform_check_image() {
        tew-712br|\
        tew-732br|\
        tew-823dru|\
+       tl-wr942n-v1|\
        unifi-outdoor|\
        unifiac-lite|\
        unifiac-pro|\
@@ -283,6 +291,7 @@ platform_check_image() {
        wpj342|\
        wpj344|\
        wpj531|\
+       wpj558|\
        wpj563|\
        wrt400n|\
        wrtnode2q|\
@@ -319,7 +328,6 @@ platform_check_image() {
        hornet-ub|\
        mr12|\
        mr16|\
-       wpj558|\
        zbt-we1526|\
        zcn-1523h-2|\
        zcn-1523h-5)
@@ -398,6 +406,7 @@ platform_check_image() {
        tl-mr3220|\
        tl-mr3420-v2|\
        tl-mr3420|\
+       tl-mr6400|\
        tl-wa701nd-v2|\
        tl-wa7210n-v2|\
        tl-wa750re|\
@@ -407,6 +416,7 @@ platform_check_image() {
        tl-wa830re-v2|\
        tl-wa850re|\
        tl-wa850re-v2|\
+       tl-wa855re-v1|\
        tl-wa860re|\
        tl-wa901nd-v2|\
        tl-wa901nd-v3|\
@@ -426,6 +436,7 @@ platform_check_image() {
        tl-wr703n|\
        tl-wr710n|\
        tl-wr720n-v3|\
+       tl-wr740n-v6|\
        tl-wr741nd-v4|\
        tl-wr741nd|\
        tl-wr802n-v1|\
@@ -440,6 +451,7 @@ platform_check_image() {
        tl-wr841n-v9|\
        tl-wr842n-v2|\
        tl-wr842n-v3|\
+       tl-wr902ac-v1|\
        tl-wr941nd-v5|\
        tl-wr941nd-v6|\
        tl-wr940n-v4|\
@@ -523,6 +535,7 @@ platform_check_image() {
        nbg6716|\
        r6100|\
        rambutan|\
+       wi2a-ac200i|\
        wndr3700v4|\
        wndr4300)
                nand_do_platform_check $board $1
@@ -642,7 +655,9 @@ platform_check_image() {
                return 0;
                ;;
        # these boards use metadata images
+       fritz300e|\
        rb-750-r2|\
+       rb-750p-pbr2|\
        rb-750up-r2|\
        rb-941-2nd|\
        rb-951ui-2nd|\
@@ -659,7 +674,7 @@ platform_check_image() {
 }
 
 platform_pre_upgrade() {
-       local board=$(ar71xx_board_name)
+       local board=$(board_name)
 
        case "$board" in
        c-60|\
@@ -695,11 +710,13 @@ platform_pre_upgrade() {
        rb-2011uias-2hnd|\
        rb-sxt2n|\
        rb-sxt5n|\
+       wi2a-ac200i|\
        wndr3700v4|\
        wndr4300)
                nand_do_upgrade "$1"
                ;;
        rb-750-r2|\
+       rb-750p-pbr2|\
        rb-750up-r2|\
        rb-941-2nd|\
        rb-951ui-2nd|\
@@ -718,7 +735,7 @@ platform_pre_upgrade() {
 }
 
 platform_nand_pre_upgrade() {
-       local board=$(ar71xx_board_name)
+       local board=$(board_name)
 
        case "$board" in
        rb*)
@@ -729,11 +746,28 @@ platform_nand_pre_upgrade() {
                mtd erase kernel
                tar xf "$1" sysupgrade-routerboard/kernel -O | nandwrite -o "$fw_mtd" -
                ;;
+       wi2a-ac200i)
+               case "$(fw_printenv -n dualPartition)" in
+                       imgA)
+                               fw_setenv dualPartition imgB
+                               fw_setenv ActImg NokiaImageB
+                       ;;
+                       imgB)
+                               fw_setenv dualPartition imgA
+                               fw_setenv ActImg NokiaImageA
+                       ;;
+               esac
+               ubiblock -r /dev/ubiblock0_0 2>/dev/null >/dev/null
+               rm -f /dev/ubiblock0_0
+               ubidetach -d 0 2>/dev/null >/dev/null
+               CI_UBIPART=ubi_alt
+               CI_KERNPART=kernel_alt
+               ;;
        esac
 }
 
 platform_do_upgrade() {
-       local board=$(ar71xx_board_name)
+       local board=$(board_name)
 
        case "$board" in
        all0258n)
@@ -755,7 +789,8 @@ platform_do_upgrade() {
                platform_do_upgrade_allnet "0x9f080000" "$ARGV"
                ;;
        cap4200ag|\
-       eap300v2)
+       eap300v2|\
+       ens202ext)
                platform_do_upgrade_allnet "0xbf0a0000" "$ARGV"
                ;;
        dir-825-b1|\