]> git.sur5r.net Git - u-boot/commitdiff
Peach-Pi: Use the enhanced usb_copy() prototype
authorVadim Bendebury <vbendeb@chromium.org>
Thu, 13 Nov 2014 17:08:21 +0000 (22:38 +0530)
committerMinkyu Kang <mk7.kang@samsung.com>
Mon, 17 Nov 2014 10:03:38 +0000 (19:03 +0900)
Exynos5800 IROM has a different, from 5250 and 5420, prototype of the
usb_copy() function. Luckily the earlier version did not expect any
arguments, which means the same code could be used with old and new
SoCs, the old ones just ignoring the arguments.

Signed-off-by: Vadim Bendebury <vbendeb@chromium.org>
Signed-off-by: Akshay Saraswat <akshay.s@samsung.com>
Acked-by: Simon Glass <sjg@chromium.org>
Tested-by: Simon Glass <sjg@chromium.org>
Signed-off-by: Minkyu Kang <mk7.kang@samsung.com>
arch/arm/cpu/armv7/exynos/spl_boot.c

index 658e4cb715f92647d108780c4c81a70b10295bf0..dbd312cfc1fb617c15f1fd38ff38bc6da910e463 100644 (file)
@@ -195,10 +195,16 @@ void copy_uboot_to_ram(void)
        void (*end_bootop_from_emmc)(void);
 #endif
 #ifdef CONFIG_USB_BOOTING
-       u32 (*usb_copy)(void);
        int is_cr_z_set;
        unsigned int sec_boot_check;
 
+       /*
+        * Note that older hardware (before Exynos5800) does not expect any
+        * arguments, but it does not hurt to pass them, so a common function
+        * prototype is used.
+        */
+       u32 (*usb_copy)(u32 num_of_block, u32 *dst);
+
        /* Read iRAM location to check for secondary USB boot mode */
        sec_boot_check = readl(EXYNOS_IRAM_SECONDARY_BASE);
        if (sec_boot_check == EXYNOS_USB_SECONDARY_BOOT)
@@ -240,7 +246,7 @@ void copy_uboot_to_ram(void)
                 */
                is_cr_z_set = config_branch_prediction(0);
                usb_copy = get_irom_func(USB_INDEX);
-               usb_copy();
+               usb_copy(0, (u32 *)CONFIG_SYS_TEXT_BASE);
                config_branch_prediction(is_cr_z_set);
                break;
 #endif