diff mbox

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

Message ID 87oaniou4x.fsf@aikidev.net
State Changes Requested
Headers show

Commit Message

Vagrant Cascadian March 24, 2015, 11:25 p.m. UTC
On 2015-03-24, andrej@inversepath.com wrote:
> Add support for Inverse Path USB armory board, an open source
> flash-drive sized computer based on Freescale i.MX53 SoC.

Thanks!

Unfortunately, this fails to build with numerous errors such as:

  CC      arch/arm/lib/asm-offsets.s
In file included from include/config.h:6:0,
                 from /«BUILDDIR»/u-boot-2015.04~rc4+dfsg1/include/common.h:18,
                 from /«BUILDDIR»/u-boot-2015.04~rc4+dfsg1/lib/asm-offsets.c:15:
/«BUILDDIR»/u-boot-2015.04~rc4+dfsg1/include/configs/usbarmory.h:86:0: warning: "CONFIG_BOOTCOMMAND" redefined
 #define CONFIG_BOOTCOMMAND \
 ^
In file included from /«BUILDDIR»/u-boot-2015.04~rc4+dfsg1/include/configs/usbarmory.h:27:0,
                 from include/config.h:6,
                 from /«BUILDDIR»/u-boot-2015.04~rc4+dfsg1/include/common.h:18,
                 from /«BUILDDIR»/u-boot-2015.04~rc4+dfsg1/lib/asm-offsets.c:15:
/«BUILDDIR»/u-boot-2015.04~rc4+dfsg1/include/config_distro_bootcmd.h:232:0: note: this is the location of the previous definition
 #define CONFIG_BOOTCOMMAND "run distro_bootcmd"
 ^

It is caused by including config_distro_bootcmd.h too early, and
config_distro_bootcmd.h defines CONFIG_BOOTCOMMAND before it is set in
include/configs/usbarmory.h.

The include for config_distro_bootcmd.h should be *after*
CONFIG_BOOTCOMMAND and BOOT_TARGET_DEVICES are defined, at least. There
are also other conditionals that may be impacted but are more subtle.

So here's a tested trivial patch to fix that:



live well,
  vagrant

Comments

Chris Kuethe March 25, 2015, 1:04 a.m. UTC | #1
On Tue, Mar 24, 2015 at 4:25 PM, Vagrant Cascadian <vagrant@debian.org> wrote:
> Unfortunately, this fails to build with numerous errors such as:

Heh. I was just about to go investigate that.

> ...
> +#include <config_distro_bootcmd.h>
> +
>  #define MEM_LAYOUT_ENV_SETTINGS \

This section works for me.

> I'd like to propose only setting bootargs when the default action is
> kicking in to allow for a different root device, or root device
> discovery from an initramfs, or boot scripts, etc... Something along
> these lines (untested):
>

This section also untested by me.
diff mbox

Patch

Index: u-boot/include/configs/usbarmory.h
===================================================================
--- u-boot.orig/include/configs/usbarmory.h
+++ u-boot/include/configs/usbarmory.h
@@ -24,7 +24,6 @@ 
 #include <config_cmd_default.h>
 
 #include <config_distro_defaults.h>
-#include <config_distro_bootcmd.h>
 
 /* U-Boot commands */
 #define CONFIG_CMD_MEMTEST
@@ -92,6 +91,8 @@ 
 #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" \


I'd like to propose only setting bootargs when the default action is
kicking in to allow for a different root device, or root device
discovery from an initramfs, or boot scripts, etc... Something along
these lines (untested):

Index: u-boot/include/configs/usbarmory.h
===================================================================
--- u-boot.orig/include/configs/usbarmory.h
+++ u-boot/include/configs/usbarmory.h
@@ -80,10 +80,9 @@ 
 #define CONFIG_SYS_TEXT_BASE	0x77800000
 #define CONFIG_SYS_LOAD_ADDR	CONFIG_LOADADDR
 #define CONFIG_HOSTNAME		usbarmory
-#define CONFIG_BOOTARGS \
-	"console=ttymxc0,115200 root=/dev/mmcblk0p1 rootwait rw"
 #define CONFIG_BOOTCOMMAND \
 	"run distro_bootcmd; " \
+	"setenv bootargs console=${console} ${bootargs_default}; " \
 	"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}"
@@ -102,6 +101,7 @@ 
 
 #define CONFIG_EXTRA_ENV_SETTINGS	\
 	MEM_LAYOUT_ENV_SETTINGS		\
+	"bootargs_default=root=/dev/mmcblk0p1 rootwait rw\0" \
 	"fdtfile=imx53-usbarmory.dtb\0"	\
 	"console=ttymxc0,115200\0"	\
 	BOOTENV