mvebu: add support for Buffalo LinkStation LS220DE
[openwrt/staging/noltari.git] / target / linux / mvebu / cortexa9 / base-files / lib / upgrade / platform.sh
index 8baed969a34642a2447e4c788632a44733649660..9019c1aeff5c1fa6ff14d5d4a70551194dbdc69d 100755 (executable)
@@ -3,16 +3,19 @@
 # Copyright (C) 2016 LEDE-Project.org
 #
 
-RAMFS_COPY_BIN='fw_printenv fw_setenv'
+RAMFS_COPY_BIN='fw_printenv fw_setenv strings'
 RAMFS_COPY_DATA='/etc/fw_env.config /var/lock/fw_printenv.lock'
+
+PART_NAME=firmware
 REQUIRE_IMAGE_METADATA=1
 
 platform_check_image() {
        case "$(board_name)" in
        cznic,turris-omnia|\
+       kobol,helios4|\
        solidrun,clearfog-base-a1|\
        solidrun,clearfog-pro-a1)
-               platform_check_image_sdcard "$1"
+               legacy_sdcard_check_image "$1"
                ;;
        *)
                return 0
@@ -22,17 +25,39 @@ platform_check_image() {
 
 platform_do_upgrade() {
        case "$(board_name)" in
+       buffalo,ls220de)
+               # Kernel UBI volume name must be "boot"
+               CI_KERNPART=boot
+               CI_KERN_UBIPART=ubi_kernel
+               CI_ROOT_UBIPART=ubi
+               nand_do_upgrade "$1"
+               ;;
+       buffalo,ls421de)
+               nand_do_upgrade "$1"
+               ;;
+       ctera,c200-v2)
+       part=$(find_mtd_part "active_bank")
+
+       if [ -n "$part" ]; then
+               CI_KERNPART="$(strings $part | grep bank)"
+               nand_do_upgrade "$1"
+       else
+               echo "active_bank partition missed!"
+               return 1
+       fi
+       ;;
        cznic,turris-omnia|\
+       kobol,helios4|\
        solidrun,clearfog-base-a1|\
        solidrun,clearfog-pro-a1)
-               platform_do_upgrade_sdcard "$1"
-               ;;
-       linksys,caiman|\
-       linksys,cobra|\
-       linksys,mamba|\
-       linksys,rango|\
-       linksys,shelby|\
-       linksys,venom)
+               legacy_sdcard_do_upgrade "$1"
+               ;;
+       linksys,wrt1200ac|\
+       linksys,wrt1900ac-v1|\
+       linksys,wrt1900ac-v2|\
+       linksys,wrt1900acs|\
+       linksys,wrt3200acm|\
+       linksys,wrt32x)
                platform_do_upgrade_linksys "$1"
                ;;
        *)
@@ -43,16 +68,17 @@ platform_do_upgrade() {
 platform_copy_config() {
        case "$(board_name)" in
        cznic,turris-omnia|\
+       kobol,helios4|\
        solidrun,clearfog-base-a1|\
        solidrun,clearfog-pro-a1)
-               platform_copy_config_sdcard
-               ;;
-       linksys,caiman|\
-       linksys,cobra|\
-       linksys,mamba|\
-       linksys,rango|\
-       linksys,shelby|\
-       linksys,venom)
+               legacy_sdcard_copy_config
+               ;;
+       linksys,wrt1200ac|\
+       linksys,wrt1900ac-v1|\
+       linksys,wrt1900ac-v2|\
+       linksys,wrt1900acs|\
+       linksys,wrt3200acm|\
+       linksys,wrt32x)
                platform_copy_config_linksys
                ;;
        esac