board: atmel: sama5d2_icp: standby disable on CAN transceivers in SPL
[oweals/u-boot.git] / cmd / ximg.c
index d033c15b629cf2a88823bde658110dde23da2903..32bfae8b22be6c1c5ee1c1d7d837c10c091280d8 100644 (file)
@@ -1,11 +1,10 @@
+// SPDX-License-Identifier: GPL-2.0+
 /*
  * (C) Copyright 2000-2004
  * Wolfgang Denk, DENX Software Engineering, wd@denx.de.
  *
  * (C) Copyright 2003
  * Kai-Uwe Bloem, Auerswald GmbH & Co KG, <linux-development@auerswald.de>
- *
- * SPDX-License-Identifier:    GPL-2.0+
  */
 
 
@@ -52,7 +51,7 @@ do_imgextract(cmd_tbl_t * cmdtp, int flag, int argc, char * const argv[])
 #endif
        uint8_t         comp;
 
-       verify = getenv_yesno("verify");
+       verify = env_get_yesno("verify");
 
        if (argc > 1) {
                addr = simple_strtoul(argv[1], NULL, 16);
@@ -144,7 +143,7 @@ do_imgextract(cmd_tbl_t * cmdtp, int flag, int argc, char * const argv[])
                        return 1;
                }
 
-               if (fit_image_check_comp(fit_hdr, noffset, IH_COMP_NONE)
+               if (!fit_image_check_comp(fit_hdr, noffset, IH_COMP_NONE)
                    && (argc < 4)) {
                        printf("Must specify load address for %s command "
                                "with compressed image\n",
@@ -160,9 +159,9 @@ do_imgextract(cmd_tbl_t * cmdtp, int flag, int argc, char * const argv[])
                        }
                }
 
-               /* get subimage data address and length */
-               if (fit_image_get_data(fit_hdr, noffset,
-                                       &fit_data, &fit_len)) {
+               /* get subimage/external data address and length */
+               if (fit_image_get_data_and_size(fit_hdr, noffset,
+                                              &fit_data, &fit_len)) {
                        puts("Could not find script subimage data\n");
                        return 1;
                }
@@ -249,10 +248,10 @@ do_imgextract(cmd_tbl_t * cmdtp, int flag, int argc, char * const argv[])
                puts("OK\n");
        }
 
-       flush_cache(dest, len);
+       flush_cache(dest, ALIGN(len, ARCH_DMA_MINALIGN));
 
-       setenv_hex("fileaddr", data);
-       setenv_hex("filesize", len);
+       env_set_hex("fileaddr", data);
+       env_set_hex("filesize", len);
 
        return 0;
 }