rockchip: add Bananapi-R2 Pro board support
[openwrt/openwrt.git] / target / linux / ipq806x / base-files / lib / upgrade / platform.sh
index fd08db3b08486aeb1e2d0bb651c7371db2f2131a..b3a615a511b6bb0ad1f7bdc4ed34cb66c14f6a3e 100644 (file)
@@ -1,66 +1,98 @@
-. /lib/ipq806x.sh
-
 PART_NAME=firmware
 REQUIRE_IMAGE_METADATA=1
 
+RAMFS_COPY_BIN='fw_printenv fw_setenv'
+RAMFS_COPY_DATA='/etc/fw_env.config /var/lock/fw_printenv.lock'
+
 platform_check_image() {
        return 0;
 }
 
-platform_pre_upgrade() {
-       local board=$(ipq806x_board_name)
-
-       case "$board" in
-       ap148 |\
-       ap-dk04.1-c1 |\
-       d7800 |\
-       nbg6817 |\
-       r7500 |\
-       r7500v2 |\
-       r7800)
+platform_do_upgrade() {
+       case "$(board_name)" in
+       arris,tr4400-v2 |\
+       askey,rt4230w-rev6 |\
+       compex,wpq864|\
+       fortinet,fap-421e|\
+       netgear,d7800 |\
+       netgear,r7500 |\
+       netgear,r7500v2 |\
+       netgear,r7800 |\
+       netgear,xr450 |\
+       netgear,xr500 |\
+       nokia,ac400i |\
+       qcom,ipq8064-ap148 |\
+       qcom,ipq8064-ap161)
                nand_do_upgrade "$1"
                ;;
-       ea8500)
-               linksys_preupgrade "$1"
+       asrock,g10)
+               asrock_upgrade_prepare
+               nand_do_upgrade "$1"
                ;;
-       esac
-}
-
-platform_do_upgrade() {
-       local board=$(ipq806x_board_name)
-
-       case "$board" in
-       c2600)
+       buffalo,wxr-2533dhp)
+               buffalo_upgrade_prepare_ubi
+               CI_ROOTPART="ubi_rootfs"
+               nand_do_upgrade "$1"
+               ;;
+       edgecore,ecw5410)
+               part="$(awk -F 'ubi.mtd=' '{printf $2}' /proc/cmdline | sed -e 's/ .*$//')"
+               if [ "$part" = "rootfs1" ]; then
+                       fw_setenv active 2 || exit 1
+                       CI_UBIPART="rootfs2"
+               else
+                       fw_setenv active 1 || exit 1
+                       CI_UBIPART="rootfs1"
+               fi
+               nand_do_upgrade "$1"
+               ;;
+       extreme,ap3935)
+               CI_ROOTPART="nand_flash"
+               CI_KERNPART="PriImg"
+               nand_do_upgrade "$1"
+               ;;
+       linksys,ea7500-v1 |\
+       linksys,ea8500)
+               platform_do_upgrade_linksys "$1"
+               ;;
+       meraki,mr42 |\
+       meraki,mr52)
+               CI_KERNPART="bootkernel2"
+               nand_do_upgrade "$1"
+               ;;
+       tplink,ad7200 |\
+       tplink,c2600)
                PART_NAME="os-image:rootfs"
                MTD_CONFIG_ARGS="-s 0x200000"
-               default_do_upgrade "$ARGV"
+               default_do_upgrade "$1"
                ;;
-       ea8500)
-               platform_do_upgrade_linksys "$ARGV"
+       asus,onhub |\
+       tplink,onhub)
+               export_bootdevice
+               export_partdevice CI_ROOTDEV 0
+               CI_KERNPART="kernel"
+               CI_ROOTPART="rootfs"
+               CI_DATAPART="rootfs_data"
+               emmc_do_upgrade "$1"
                ;;
-       vr2600v)
-               PART_NAME="kernel:rootfs"
+       tplink,vr2600v)
                MTD_CONFIG_ARGS="-s 0x200000"
-               default_do_upgrade "$ARGV"
+               default_do_upgrade "$1"
+               ;;
+       zyxel,nbg6817)
+               zyxel_do_upgrade "$1"
                ;;
        *)
-               default_do_upgrade "$ARGV"
+               default_do_upgrade "$1"
                ;;
        esac
 }
 
-platform_nand_pre_upgrade() {
-       local board=$(ipq806x_board_name)
-
-       case "$board" in
-       nbg6817)
-               zyxel_do_upgrade "$1"
+platform_copy_config() {
+       case "$(board_name)" in
+       asus,onhub |\
+       tplink,onhub)
+               emmc_copy_config
                ;;
        esac
+       return 0
 }
-
-blink_led() {
-       . /etc/diag.sh; set_state upgrade
-}
-
-append sysupgrade_pre_upgrade blink_led