[U-Boot] [PATCH 6/6] i.mx: i.mx6q: Add the initial support for i.mx6q ARM2 board
Dirk Behme
dirk.behme at de.bosch.com
Wed Nov 16 12:34:49 CET 2011
On 12.11.2011 11:36, Jason Liu wrote:
> Add the initial support for Freescale i.MX6Q Armadillo2 board
> Support: MMC boot from slot 0/1, debug UART(UART4), usdhc.
...
> diff --git a/include/configs/mx6qarm2.h b/include/configs/mx6qarm2.h
> new file mode 100644
> index 0000000..a4c7b31
> --- /dev/null
> +++ b/include/configs/mx6qarm2.h
...
> +#define CONFIG_EXTRA_ENV_SETTINGS \
> + "script=boot.scr\0" \
> + "uimage=uImage\0" \
> + "mmcdev=0\0" \
> + "mmcpart=2\0" \
> + "mmcroot=/dev/mmcblk0p3 rw\0" \
> + "mmcrootfstype=ext3 rootwait\0" \
> + "mmcargs=setenv bootargs console=ttymxc0,${baudrate} " \
> + "root=${mmcroot} " \
> + "rootfstype=${mmcrootfstype}\0" \
> + "loadbootscript=" \
> + "fatload mmc ${mmcdev}:${mmcpart} ${loadaddr} ${script};\0" \
> + "bootscript=echo Running bootscript from mmc ...; " \
> + "source\0" \
> + "loaduimage=fatload mmc ${mmcdev}:${mmcpart} ${loadaddr} ${uimage}\0" \
> + "mmcboot=echo Booting from mmc ...; " \
> + "run mmcargs; " \
> + "bootm\0" \
> + "netargs=setenv bootargs console=ttymxc0,${baudrate} " \
> + "root=/dev/nfs " \
> + "ip=dhcp nfsroot=${serverip}:${nfsroot},v3,tcp\0" \
> + "netboot=echo Booting from net ...; " \
> + "run netargs; " \
> + "dhcp ${uimage}; bootm\0" \
> +
> +#define CONFIG_BOOTCOMMAND \
> + "if mmc rescan ${mmcdev}; then " \
> + "if run loadbootscript; then " \
> + "run bootscript; " \
> + "else " \
> + "if run loaduimage; then " \
> + "run mmcboot; " \
> + "else run netboot; " \
> + "fi; " \
> + "fi; " \
> + "else run netboot; fi"
Testing this with the latest mainline kernel and a Linaro developer
rootfs I'd like to propose the following changes to these settings [1]:
* Introduce a ${console} variable to centralize the console configuration
* The recent mainline kernel uses ttymxc3 instead of ttymxc0 for the
console. I.e. switch from ttymxc0 to ttymxc3
* Add a 'mmc dev ${mmcdev}' command to be able to switch between the SD
slots
* Use the SD card slot at the CPU board by default. Instead the one on
the expansion base board. I.e. switch from mmcdev=0 to mmcdev=1
* The Linaro rootfs uses EXT4. For this, remove the hard coded
rootfstype=ext3 and let the kernel auto detect the rootfs type.
Best regards
Dirk
[1]
---
include/configs/mx6qarm2.h | 14 +++++++-------
1 file changed, 7 insertions(+), 7 deletions(-)
Index: a/include/configs/mx6qarm2.h
===================================================================
--- a/include/configs/mx6qarm2.h
+++ b/include/configs/mx6qarm2.h
@@ -78,13 +78,12 @@
#define CONFIG_EXTRA_ENV_SETTINGS \
"script=boot.scr\0" \
"uimage=uImage\0" \
- "mmcdev=0\0" \
+ "mmcdev=1\0" \
+ "console=ttymxc3\0" \
"mmcpart=2\0" \
- "mmcroot=/dev/mmcblk0p3 rw\0" \
- "mmcrootfstype=ext3 rootwait\0" \
- "mmcargs=setenv bootargs console=ttymxc0,${baudrate} " \
- "root=${mmcroot} " \
- "rootfstype=${mmcrootfstype}\0" \
+ "mmcroot=/dev/mmcblk0p3 rootwait rw\0" \
+ "mmcargs=setenv bootargs console=${console},${baudrate} " \
+ "root=${mmcroot}\0" \
"loadbootscript=" \
"fatload mmc ${mmcdev}:${mmcpart} ${loadaddr} ${script};\0" \
"bootscript=echo Running bootscript from mmc ...; " \
@@ -93,7 +92,7 @@
"mmcboot=echo Booting from mmc ...; " \
"run mmcargs; " \
"bootm\0" \
- "netargs=setenv bootargs console=ttymxc0,${baudrate} " \
+ "netargs=setenv bootargs console=${console},${baudrate} " \
"root=/dev/nfs " \
"ip=dhcp nfsroot=${serverip}:${nfsroot},v3,tcp\0" \
"netboot=echo Booting from net ...; " \
@@ -101,6 +100,7 @@
"dhcp ${uimage}; bootm\0" \
#define CONFIG_BOOTCOMMAND \
+ "mmc dev ${mmcdev};" \
"if mmc rescan ${mmcdev}; then " \
"if run loadbootscript; then " \
"run bootscript; " \
More information about the U-Boot
mailing list