[U-Boot] arm: mx5: Add support for USB armory board

Andrej Rosano andrej at inversepath.com
Tue Mar 24 14:32:43 CET 2015


Hi Vagrant,

On Sat, Mar 21, 2015 at 08:12:28AM -0700, Vagrant Cascadian wrote:
> On 2015-03-19, Andrej Rosano wrote:
> > On Thu, Mar 19, 2015 at 09:55:26AM -0700, Vagrant Cascadian wrote:
> >> On 2015-02-24, andrej at inversepath.com wrote:
> >> > Add support for Inverse Path USB armory board, an open source
> >> > flash-drive sized computer based on Freescale i.MX53 SoC.
> ...
> >> Would you consider patches that include config_distro_defaults.h and
> >> config_distro_bootcmd.h, documented in doc/README.distro? It may require
> >> adding several variables such as fdt_addr_r, fdtfile, ramdisk_addr_r,
> >> ramdiskfile, kernel_addr_r, bootfile, pxe_addr_r and scriptaddr,
> >> documented in README and doc/README.distro. I'd be happy to work on
> >> patches.
> ...
> > Sure, it would be nice to have this included in the patch.
> > I didn't know about this, I will take a look as well. Let me know if
> > you need any help from my side.
> 
> Ok, here's a quick patch on top of your existing patch. It compiles, but
> I haven't tested that it boots (waiting on some header pins to hook up
> the serial console).
> 
> I tried to preserve default behavior, the only difference is that it
> will first check for extlinux.conf and boot.scr before running the
> default boot action, and has a 2 second rather than 1 second bootdelay.
> 
> Many of the things defined in config_distro_defaults.h were redundant.
> 
> Not sure if CONFIG_LOADADDR needs to be different from
> kernel_addr_r/scriptaddr/pxefile_addr_r, if they can all be the same,
> then they could be defined with CONFIG_LOADADDR. Hopefully
> ramdisk_addr_r is at a reasonable location so it won't be clobbered by
> the fdt or kernel being loaded to a lower address. It may require
> removing the default bootargs to work with boot scripts.

Tested and it works as expected. I have just submitted an updated patch (v3).

Thanks

Andrej

> 
> diff --git a/include/configs/usbarmory.h b/include/configs/usbarmory.h
> index e00ec7b..7e4cc68 100644
> --- a/include/configs/usbarmory.h
> +++ b/include/configs/usbarmory.h
> @@ -22,12 +22,10 @@
>  
>  #include <asm/arch/imx-regs.h>
>  #include <config_cmd_default.h>
> +#include <config_distro_defaults.h>
>  
>  /* U-Boot commands */
> -#define CONFIG_CMD_BOOTZ
> -#define CONFIG_CMD_FAT
>  #define CONFIG_CMD_MEMTEST
> -#define CONFIG_CMD_EXT2
>  #undef CONFIG_CMD_IMLS
>  
>  /* U-Boot environment */
> @@ -39,14 +37,10 @@
>  #define CONFIG_SYS_MMC_ENV_DEV	0
>  
>  /* U-Boot general configurations */
> -#define CONFIG_SYS_LONGHELP
> -#define CONFIG_SYS_HUSH_PARSER
> -#define CONFIG_AUTO_COMPLETE
>  #define CONFIG_SYS_CBSIZE	512
>  #define CONFIG_SYS_PBSIZE	(CONFIG_SYS_CBSIZE + sizeof(CONFIG_SYS_PROMPT) + 16)
>  #define CONFIG_SYS_MAXARGS	16
>  #define CONFIG_SYS_BARGSIZE	CONFIG_SYS_CBSIZE
> -#define CONFIG_CMDLINE_EDITING
>  
>  /* UART */
>  #define CONFIG_MXC_UART
> @@ -61,7 +55,6 @@
>  #define CONFIG_SYS_FSL_ESDHC_NUM	2
>  #define CONFIG_MMC
>  #define CONFIG_GENERIC_MMC
> -#define CONFIG_DOS_PARTITION
>  
>  /* USB */
>  #define CONFIG_CMD_USB
> @@ -82,7 +75,6 @@
>  #define CONFIG_FSL_IIM
>  
>  /* Linux boot */
> -#define CONFIG_BOOTDELAY	1
>  #define CONFIG_LOADADDR		0x72000000
>  #define CONFIG_SYS_TEXT_BASE	0x77800000
>  #define CONFIG_SYS_LOAD_ADDR	CONFIG_LOADADDR
> @@ -90,8 +82,28 @@
>  #define CONFIG_BOOTARGS \
>  	"console=ttymxc0,115200 root=/dev/mmcblk0p1 rootwait rw"
>  #define CONFIG_BOOTCOMMAND \
> -	"ext2load mmc 0:1 0x70800000 /boot/uImage; ext2load mmc 0:1" \
> -	"0x71000000 /boot/imx53-usbarmory.dtb; bootm 0x70800000 - 0x71000000"
> +	"run distro_bootcmd; " \
> +	"ext2load mmc 0:1 ${kernel_addr_r} /boot/uImage; " \
> +	"ext2load mmc 0:1 ${fdt_addr_r} /boot/${fdtfile}; " \
> +	"bootm ${kernel_addr_r} - ${fdt_addr_r}"
> +
> +#define BOOT_TARGET_DEVICES(func) \
> +       func(MMC, mmc, 0)
> +
> +#include <config_distro_bootcmd.h>
> +
> +#define MEM_LAYOUT_ENV_SETTINGS \
> +	"kernel_addr_r=0x70800000\0" \
> +	"fdt_addr_r=0x71000000\0" \
> +	"scriptaddr=0x70800000\0" \
> +	"pxefile_addr_r=0x70800000\0" \
> +	"ramdisk_addr_r=0x73000000\0"
> +
> +#define CONFIG_EXTRA_ENV_SETTINGS	\
> +	MEM_LAYOUT_ENV_SETTINGS		\
> +	"fdtfile=imx53-usbarmory.dtb\0"	\
> +	"console=ttymxc0,115200\0"	\
> +	BOOTENV
>  
>  /* Physical Memory Map */
>  #define CONFIG_NR_DRAM_BANKS		1
> 
> 
> live well,
>   vagrant



--
Andrej Rosano                                           Inverse Path Srl
<andrej at inversepath.com>                      http://www.inversepath.com

0x01939B21            5BB8 574E 68E8 D841 E18F  D5E9 CEAD E0CF 0193 9B21


More information about the U-Boot mailing list