diff options
-rw-r--r-- | arch/arm/cpu/armv7/mx6/soc.c | 19 | ||||
-rw-r--r-- | board/warp/README | 56 | ||||
-rw-r--r-- | common/board_f.c | 3 | ||||
-rw-r--r-- | include/configs/hummingboard.h | 3 | ||||
-rw-r--r-- | include/configs/mx25pdk.h | 2 | ||||
-rw-r--r-- | include/configs/mx31pdk.h | 3 | ||||
-rw-r--r-- | include/configs/mx35pdk.h | 2 | ||||
-rw-r--r-- | include/configs/mx51evk.h | 2 | ||||
-rw-r--r-- | include/configs/mx53ard.h | 1 | ||||
-rw-r--r-- | include/configs/mx53loco.h | 2 | ||||
-rw-r--r-- | include/configs/mx6_common.h | 2 | ||||
-rw-r--r-- | include/configs/mx6qarm2.h | 2 | ||||
-rw-r--r-- | include/configs/mx6sabre_common.h | 6 | ||||
-rw-r--r-- | include/configs/mx6slevk.h | 2 | ||||
-rw-r--r-- | include/configs/mx6sxsabresd.h | 2 | ||||
-rw-r--r-- | include/configs/mxs.h | 3 | ||||
-rw-r--r-- | include/configs/nitrogen6x.h | 3 | ||||
-rw-r--r-- | include/configs/novena.h | 3 | ||||
-rw-r--r-- | include/configs/wandboard.h | 3 | ||||
-rw-r--r-- | include/configs/warp.h | 13 |
20 files changed, 88 insertions, 44 deletions
diff --git a/arch/arm/cpu/armv7/mx6/soc.c b/arch/arm/cpu/armv7/mx6/soc.c index ef02972..dd34138 100644 --- a/arch/arm/cpu/armv7/mx6/soc.c +++ b/arch/arm/cpu/armv7/mx6/soc.c @@ -21,7 +21,6 @@ #include <stdbool.h> #include <asm/arch/mxc_hdmi.h> #include <asm/arch/crm_regs.h> -#include <asm/bootm.h> #include <dm.h> #include <imx_thermal.h> @@ -289,6 +288,22 @@ static void set_preclk_from_osc(void) } #endif +#define SRC_SCR_WARM_RESET_ENABLE 0 + +static void init_src(void) +{ + struct src *src_regs = (struct src *)SRC_BASE_ADDR; + u32 val; + + /* + * force warm reset sources to generate cold reset + * for a more reliable restart + */ + val = readl(&src_regs->scr); + val &= ~(1 << SRC_SCR_WARM_RESET_ENABLE); + writel(val, &src_regs->scr); +} + int arch_cpu_init(void) { init_aips(); @@ -323,6 +338,8 @@ int arch_cpu_init(void) mxs_dma_init(); #endif + init_src(); + return 0; } diff --git a/board/warp/README b/board/warp/README new file mode 100644 index 0000000..0e1f076 --- /dev/null +++ b/board/warp/README @@ -0,0 +1,56 @@ +How to Update U-boot on Warp board +---------------------------------- + +Required software on the host PC: + +- imx_usb_loader: https://github.com/boundarydevices/imx_usb_loader + +- dfu-util: http://dfu-util.sourceforge.net/releases/ + +Build U-boot for Warp: + +$ make mrproper +$ make warp_config +$ make + +This will generate the U-boot binary called u-boot.imx. + +Put warp board in USB download mode + +Connect a USB to serial adapter between the host PC and warp + +Connect a USB cable between the OTG warp port and the host PC + +Open a terminal program such as minicom + +Copy u-boot.imx to the imx_usb_loader folder. + +Load u-boot.imx via USB: + +$ sudo ./imx_usb u-boot.imx + +Then U-boot should start and its messages will appear in the console program. + +Use the default environment variables: + +=> env default -f -a +=> save + +Run the DFU command: +=> dfu 0 mmc 0 + +Transfer u-boot.imx that will be flashed into the eMMC: + +$ sudo dfu-util -D u-boot.imx -a boot + +Then on the U-boot prompt the following message should be seen after a succesful +upgrade: + +#DOWNLOAD ... OK +Ctrl+C to exit ... + +Remove power from the warp board. + +Put warp board into normal boot mode + +Power up the board and the new updated U-boot should boot from eMMC diff --git a/common/board_f.c b/common/board_f.c index 731b539..55ede07 100644 --- a/common/board_f.c +++ b/common/board_f.c @@ -111,7 +111,8 @@ static int init_func_watchdog_init(void) { # if defined(CONFIG_HW_WATCHDOG) && (defined(CONFIG_BLACKFIN) || \ defined(CONFIG_M68K) || defined(CONFIG_MICROBLAZE) || \ - defined(CONFIG_SH) || defined(CONFIG_AT91SAM9_WATCHDOG)) + defined(CONFIG_SH) || defined(CONFIG_AT91SAM9_WATCHDOG) || \ + defined(CONFIG_IMX_WATCHDOG)) hw_watchdog_init(); # endif puts(" Watchdog enabled\n"); diff --git a/include/configs/hummingboard.h b/include/configs/hummingboard.h index 34dbdce..973f2c5 100644 --- a/include/configs/hummingboard.h +++ b/include/configs/hummingboard.h @@ -185,9 +185,6 @@ #define CONFIG_SYS_HUSH_PARSER #define CONFIG_AUTO_COMPLETE #define CONFIG_SYS_CBSIZE 1024 - -/* Print Buffer Size */ -#define CONFIG_SYS_PBSIZE (CONFIG_SYS_CBSIZE + sizeof(CONFIG_SYS_PROMPT) + 16) #define CONFIG_SYS_MAXARGS 16 #define CONFIG_SYS_BARGSIZE CONFIG_SYS_CBSIZE diff --git a/include/configs/mx25pdk.h b/include/configs/mx25pdk.h index c02e29b..bfbfc68 100644 --- a/include/configs/mx25pdk.h +++ b/include/configs/mx25pdk.h @@ -229,8 +229,6 @@ #define CONFIG_SYS_HUSH_PARSER #define CONFIG_AUTO_COMPLETE -/* Print Buffer Size */ -#define CONFIG_SYS_PBSIZE (CONFIG_SYS_CBSIZE + sizeof(CONFIG_SYS_PROMPT) + 16) #define CONFIG_SYS_MAXARGS 16 #define CONFIG_SYS_BARGSIZE CONFIG_SYS_CBSIZE diff --git a/include/configs/mx31pdk.h b/include/configs/mx31pdk.h index 2a3e53c..1282a6e 100644 --- a/include/configs/mx31pdk.h +++ b/include/configs/mx31pdk.h @@ -121,9 +121,6 @@ */ #define CONFIG_SYS_LONGHELP /* undef to save memory */ #define CONFIG_SYS_CBSIZE 256 /* Console I/O Buffer Size */ -/* Print Buffer Size */ -#define CONFIG_SYS_PBSIZE (CONFIG_SYS_CBSIZE + \ - sizeof(CONFIG_SYS_PROMPT)+16) /* max number of command args */ #define CONFIG_SYS_MAXARGS 16 /* Boot Argument Buffer Size */ diff --git a/include/configs/mx35pdk.h b/include/configs/mx35pdk.h index 857dd07..f8cd39d 100644 --- a/include/configs/mx35pdk.h +++ b/include/configs/mx35pdk.h @@ -139,8 +139,6 @@ #define CONFIG_AUTO_COMPLETE #define CONFIG_SYS_CBSIZE 256 /* Console I/O Buffer Size */ -/* Print Buffer Size */ -#define CONFIG_SYS_PBSIZE (CONFIG_SYS_CBSIZE + sizeof(CONFIG_SYS_PROMPT) + 16) #define CONFIG_SYS_MAXARGS 16 /* max number of command args */ #define CONFIG_SYS_BARGSIZE CONFIG_SYS_CBSIZE /* Boot Argument Buffer Size */ diff --git a/include/configs/mx51evk.h b/include/configs/mx51evk.h index d6e8ec4..b0c9717 100644 --- a/include/configs/mx51evk.h +++ b/include/configs/mx51evk.h @@ -222,8 +222,6 @@ #define CONFIG_SYS_HUSH_PARSER /* use "hush" command parser */ #define CONFIG_AUTO_COMPLETE #define CONFIG_SYS_CBSIZE 256 /* Console I/O Buffer Size */ -/* Print Buffer Size */ -#define CONFIG_SYS_PBSIZE (CONFIG_SYS_CBSIZE + sizeof(CONFIG_SYS_PROMPT) + 16) #define CONFIG_SYS_MAXARGS 16 /* max number of command args */ #define CONFIG_SYS_BARGSIZE CONFIG_SYS_CBSIZE /* Boot Argument Buffer Size */ diff --git a/include/configs/mx53ard.h b/include/configs/mx53ard.h index 134d680..9b003fc 100644 --- a/include/configs/mx53ard.h +++ b/include/configs/mx53ard.h @@ -186,7 +186,6 @@ /* Miscellaneous configurable options */ #define CONFIG_SYS_LONGHELP /* undef to save memory */ #define CONFIG_SYS_HUSH_PARSER /* use "hush" command parser */ -#define CONFIG_SYS_PROMPT "MX53ARD U-Boot > " #define CONFIG_AUTO_COMPLETE #define CONFIG_SYS_CBSIZE 256 /* Console I/O Buffer Size */ diff --git a/include/configs/mx53loco.h b/include/configs/mx53loco.h index 8d8b93c..8f92234 100644 --- a/include/configs/mx53loco.h +++ b/include/configs/mx53loco.h @@ -184,8 +184,6 @@ #define CONFIG_AUTO_COMPLETE #define CONFIG_SYS_CBSIZE 512 /* Console I/O Buffer Size */ -/* Print Buffer Size */ -#define CONFIG_SYS_PBSIZE (CONFIG_SYS_CBSIZE + sizeof(CONFIG_SYS_PROMPT) + 16) #define CONFIG_SYS_MAXARGS 16 /* max number of command args */ #define CONFIG_SYS_BARGSIZE CONFIG_SYS_CBSIZE /* Boot Argument Buffer Size */ diff --git a/include/configs/mx6_common.h b/include/configs/mx6_common.h index 29b72b2..e0528ce 100644 --- a/include/configs/mx6_common.h +++ b/include/configs/mx6_common.h @@ -28,8 +28,6 @@ #define CONFIG_SYS_PL310_BASE L2_PL310_BASE #endif -#define CONFIG_SYS_FSL_ESDHC_HAS_DDR_MODE - #define CONFIG_MP #define CONFIG_MXC_GPT_HCLK diff --git a/include/configs/mx6qarm2.h b/include/configs/mx6qarm2.h index 76cfef1..5412dd3 100644 --- a/include/configs/mx6qarm2.h +++ b/include/configs/mx6qarm2.h @@ -153,8 +153,6 @@ #define CONFIG_AUTO_COMPLETE #define CONFIG_SYS_CBSIZE 256 -/* Print Buffer Size */ -#define CONFIG_SYS_PBSIZE (CONFIG_SYS_CBSIZE + sizeof(CONFIG_SYS_PROMPT) + 16) #define CONFIG_SYS_MAXARGS 16 #define CONFIG_SYS_BARGSIZE CONFIG_SYS_CBSIZE diff --git a/include/configs/mx6sabre_common.h b/include/configs/mx6sabre_common.h index f0e37f0..b72522b 100644 --- a/include/configs/mx6sabre_common.h +++ b/include/configs/mx6sabre_common.h @@ -111,12 +111,10 @@ "setenv get_cmd tftp; " \ "fi; " \ "if ${get_cmd} ${update_sd_firmware_filename}; then " \ - "if mmc dev ${emmcdev} && " \ - "mmc open ${emmcdev} 1; then " \ + "if mmc dev ${emmcdev} 1; then " \ "setexpr fw_sz ${filesize} / 0x200; " \ "setexpr fw_sz ${fw_sz} + 1; " \ "mmc write ${loadaddr} 0x2 ${fw_sz}; " \ - "mmc close ${emmcdev} 1; " \ "fi; " \ "fi\0" #else @@ -278,6 +276,7 @@ #define CONFIG_IMX_HDMI #define CONFIG_IMX_VIDEO_SKIP +#ifndef CONFIG_SPL #define CONFIG_CI_UDC #define CONFIG_USBD_HS #define CONFIG_USB_GADGET_DUALSPEED @@ -291,5 +290,6 @@ #define CONFIG_G_DNL_VENDOR_NUM 0x0525 #define CONFIG_G_DNL_PRODUCT_NUM 0xa4a5 #define CONFIG_G_DNL_MANUFACTURER "FSL" +#endif #endif /* __MX6QSABRE_COMMON_CONFIG_H */ diff --git a/include/configs/mx6slevk.h b/include/configs/mx6slevk.h index 1221418..21c654b 100644 --- a/include/configs/mx6slevk.h +++ b/include/configs/mx6slevk.h @@ -169,8 +169,6 @@ #define CONFIG_AUTO_COMPLETE #define CONFIG_SYS_CBSIZE 256 -/* Print Buffer Size */ -#define CONFIG_SYS_PBSIZE (CONFIG_SYS_CBSIZE + sizeof(CONFIG_SYS_PROMPT) + 16) #define CONFIG_SYS_MAXARGS 16 #define CONFIG_SYS_BARGSIZE CONFIG_SYS_CBSIZE diff --git a/include/configs/mx6sxsabresd.h b/include/configs/mx6sxsabresd.h index a290129..a29d62f 100644 --- a/include/configs/mx6sxsabresd.h +++ b/include/configs/mx6sxsabresd.h @@ -134,8 +134,6 @@ #define CONFIG_AUTO_COMPLETE #define CONFIG_SYS_CBSIZE 1024 -/* Print Buffer Size */ -#define CONFIG_SYS_PBSIZE (CONFIG_SYS_CBSIZE + sizeof(CONFIG_SYS_PROMPT) + 16) #define CONFIG_SYS_MAXARGS 256 #define CONFIG_SYS_BARGSIZE CONFIG_SYS_CBSIZE diff --git a/include/configs/mxs.h b/include/configs/mxs.h index dea8227..38b1e93 100644 --- a/include/configs/mxs.h +++ b/include/configs/mxs.h @@ -94,9 +94,6 @@ /* U-Boot general configuration */ #define CONFIG_SYS_LONGHELP #define CONFIG_SYS_CBSIZE 1024 /* Console I/O buffer size */ -#define CONFIG_SYS_PBSIZE \ - (CONFIG_SYS_CBSIZE + sizeof(CONFIG_SYS_PROMPT) + 16) - /* Print buffer size */ #define CONFIG_SYS_MAXARGS 32 /* Max number of command args */ #define CONFIG_SYS_BARGSIZE CONFIG_SYS_CBSIZE /* Boot argument buffer size */ diff --git a/include/configs/nitrogen6x.h b/include/configs/nitrogen6x.h index 6d379ed..8ef4b73 100644 --- a/include/configs/nitrogen6x.h +++ b/include/configs/nitrogen6x.h @@ -325,9 +325,6 @@ #define CONFIG_SYS_PROMPT "U-Boot > " #define CONFIG_AUTO_COMPLETE #define CONFIG_SYS_CBSIZE 1024 - -/* Print Buffer Size */ -#define CONFIG_SYS_PBSIZE (CONFIG_SYS_CBSIZE + sizeof(CONFIG_SYS_PROMPT) + 16) #define CONFIG_SYS_MAXARGS 48 #define CONFIG_SYS_BARGSIZE CONFIG_SYS_CBSIZE diff --git a/include/configs/novena.h b/include/configs/novena.h index 074110c..3809c6c 100644 --- a/include/configs/novena.h +++ b/include/configs/novena.h @@ -58,9 +58,6 @@ /* U-Boot general configurations */ #define CONFIG_SYS_LONGHELP #define CONFIG_SYS_CBSIZE 1024 /* Console I/O buffer size */ -#define CONFIG_SYS_PBSIZE \ - (CONFIG_SYS_CBSIZE + sizeof(CONFIG_SYS_PROMPT) + 16) - /* Print buffer size */ #define CONFIG_SYS_MAXARGS 32 /* Max number of command args */ #define CONFIG_SYS_BARGSIZE CONFIG_SYS_CBSIZE /* Boot argument buffer size */ diff --git a/include/configs/wandboard.h b/include/configs/wandboard.h index 117d1f7..b586803 100644 --- a/include/configs/wandboard.h +++ b/include/configs/wandboard.h @@ -249,9 +249,6 @@ #define CONFIG_SYS_HUSH_PARSER #define CONFIG_AUTO_COMPLETE #define CONFIG_SYS_CBSIZE 256 - -/* Print Buffer Size */ -#define CONFIG_SYS_PBSIZE (CONFIG_SYS_CBSIZE + sizeof(CONFIG_SYS_PROMPT) + 16) #define CONFIG_SYS_MAXARGS 16 #define CONFIG_SYS_BARGSIZE CONFIG_SYS_CBSIZE diff --git a/include/configs/warp.h b/include/configs/warp.h index bcdd112..2eb429e 100644 --- a/include/configs/warp.h +++ b/include/configs/warp.h @@ -28,7 +28,7 @@ #define CONFIG_REVISION_TAG /* Size of malloc() pool */ -#define CONFIG_SYS_MALLOC_LEN (3 * SZ_1M) +#define CONFIG_SYS_MALLOC_LEN (35 * SZ_1M) /* Increase due to DFU */ #define CONFIG_BOARD_EARLY_INIT_F #define CONFIG_BOARD_LATE_INIT @@ -42,6 +42,7 @@ #define CONFIG_FSL_USDHC #define CONFIG_SYS_FSL_ESDHC_ADDR 0 #define CONFIG_SYS_FSL_ESDHC_FORCE_VSELECT +#define CONFIG_SYS_FSL_ESDHC_HAS_DDR_MODE #define CONFIG_MMC #define CONFIG_CMD_MMC @@ -81,9 +82,6 @@ #define CONFIG_HW_WATCHDOG #define CONFIG_IMX_WATCHDOG #define CONFIG_WATCHDOG_TIMEOUT_MSECS 30000 /* 30s */ - -/* Print Buffer Size */ -#define CONFIG_SYS_PBSIZE (CONFIG_SYS_CBSIZE + sizeof(CONFIG_SYS_PROMPT) + 16) #define CONFIG_SYS_MAXARGS 16 #define CONFIG_SYS_BARGSIZE CONFIG_SYS_CBSIZE @@ -150,6 +148,12 @@ #define CONFIG_G_DNL_PRODUCT_NUM 0xa4a5 #define CONFIG_G_DNL_MANUFACTURER "FSL" +#define CONFIG_CMD_DFU +#define CONFIG_DFU_FUNCTION +#define CONFIG_DFU_MMC +#define CONFIG_SYS_DFU_DATA_BUF_SIZE SZ_32M +#define DFU_DEFAULT_POLL_TIMEOUT 300 + #define CONFIG_EXTRA_ENV_SETTINGS \ "script=boot.scr\0" \ "image=zImage\0" \ @@ -164,6 +168,7 @@ "mmcdev=0\0" \ "mmcpart=1\0" \ "mmcroot=/dev/mmcblk0p2 rootwait rw\0" \ + "dfu_alt_info=boot raw 0x2 0x400 mmcpart 1\0" \ "mmcargs=setenv bootargs console=${console},${baudrate} " \ "root=${mmcroot}\0" \ "loadbootscript=" \ |