imx6: Add support for Toradex Apalis family of CoMs
[openwrt/staging/chunkeey.git] / target / linux / imx6 / base-files / lib / upgrade / platform.sh
index ab5229110912d8d55ce605739eb70dd5d65c40f5..2d76b6b4af337ea77b2b748d5b603cab33cddc92 100755 (executable)
@@ -2,10 +2,44 @@
 # Copyright (C) 2010-2015 OpenWrt.org
 #
 
+. /lib/imx6.sh
+
+RAMFS_COPY_BIN='blkid'
+
+enable_image_metadata_check() {
+       case "$(board_name)" in
+               apalis*)
+                       REQUIRE_IMAGE_METADATA=1
+                       ;;
+       esac
+}
+enable_image_metadata_check
+
+apalis_copy_config() {
+       apalis_mount_boot
+       cp -af "$CONF_TAR" /boot/
+       sync
+       umount /boot
+}
+
+apalis_do_upgrade() {
+       local board_name=$(board_name)
+       board_name=${board_name/,/_}
+
+       apalis_mount_boot
+       get_image "$1" | tar Oxf - sysupgrade-${board_name}/kernel > /boot/uImage
+       get_image "$1" | tar Oxf - sysupgrade-${board_name}/root > $(rootpart_from_uuid)
+       sync
+       umount /boot
+}
+
 platform_check_image() {
        local board=$(board_name)
 
        case "$board" in
+       apalis*)
+               return 0
+               ;;
        *gw5*)
                nand_do_platform_check $board $1
                return $?;
@@ -20,8 +54,21 @@ platform_do_upgrade() {
        local board=$(board_name)
 
        case "$board" in
+       apalis*)
+               apalis_do_upgrade "$1"
+               ;;
        *gw5*)
                nand_do_upgrade "$1"
                ;;
        esac
 }
+
+platform_copy_config() {
+       local board=$(board_name)
+
+       case "$board" in
+       apalis*)
+               apalis_copy_config
+               ;;
+       esac
+}