OMAP3: igep00x0: allow booting with a FDT from MMC
IGEP boards now have Device Tree support in the mainline kernel. To boot an IGEP board using a DT, a uEnv.txt plain text file could be used to define a custom uenvcmd that will be run by the default boot command. It is more convenient to change the default boot command to allow loading a FDT if it is stored in the boot dir of the rootfs uSD/MMC partition. If no FDT is found then the defaul command tries to boot a zImage without a DT using legacy boot. Signed-off-by: Javier Martinez Canillas <javier.martinez@collabora.co.uk>
This commit is contained in:
parent
2be6bed003
commit
a2fa28bc98
@ -138,6 +138,18 @@ int board_mmc_init(bd_t *bis)
|
||||
}
|
||||
#endif
|
||||
|
||||
void set_fdt(void)
|
||||
{
|
||||
switch (gd->bd->bi_arch_number) {
|
||||
case MACH_TYPE_IGEP0020:
|
||||
setenv("dtbfile", "omap3-igep0020.dtb");
|
||||
break;
|
||||
case MACH_TYPE_IGEP0030:
|
||||
setenv("dtbfile", "omap3-igep0030.dtb");
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
/*
|
||||
* Routine: misc_init_r
|
||||
* Description: Configure board specific parts
|
||||
@ -150,6 +162,8 @@ int misc_init_r(void)
|
||||
|
||||
dieid_num_r();
|
||||
|
||||
set_fdt();
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
@ -138,6 +138,9 @@
|
||||
#define CONFIG_EXTRA_ENV_SETTINGS \
|
||||
"usbtty=cdc_acm\0" \
|
||||
"loadaddr=0x82000000\0" \
|
||||
"dtbaddr=0x81600000\0" \
|
||||
"bootdir=/boot\0" \
|
||||
"bootfile=zImage\0" \
|
||||
"usbtty=cdc_acm\0" \
|
||||
"console=ttyO2,115200n8\0" \
|
||||
"mpurate=auto\0" \
|
||||
@ -168,10 +171,13 @@
|
||||
"loadbootenv=load mmc ${mmcdev} ${loadaddr} uEnv.txt\0" \
|
||||
"importbootenv=echo Importing environment from mmc ...; " \
|
||||
"env import -t $loadaddr $filesize\0" \
|
||||
"loadzimage=load mmc ${mmcdev} ${loadaddr} zImage\0" \
|
||||
"loadzimage=load mmc ${mmcdev}:2 ${loadaddr} ${bootdir}/${bootfile}\0" \
|
||||
"loadfdt=load mmc ${mmcdev}:2 ${dtbaddr} ${bootdir}/${dtbfile}\0" \
|
||||
"mmcboot=echo Booting from mmc ...; " \
|
||||
"run mmcargs; " \
|
||||
"bootz ${loadaddr}\0" \
|
||||
"mmcbootfdt=echo Booting with DT from mmc ...; " \
|
||||
"bootz ${loadaddr} - ${dtbaddr}\0" \
|
||||
"nandboot=echo Booting from onenand ...; " \
|
||||
"run nandargs; " \
|
||||
"onenand read ${loadaddr} 280000 400000; " \
|
||||
@ -188,6 +194,11 @@
|
||||
"run uenvcmd;" \
|
||||
"fi;" \
|
||||
"if run loadzimage; then " \
|
||||
"if test -n $dtbfile; then " \
|
||||
"if run loadfdt; then " \
|
||||
"run mmcbootfdt;" \
|
||||
"fi;" \
|
||||
"fi;" \
|
||||
"run mmcboot;" \
|
||||
"fi;" \
|
||||
"fi;" \
|
||||
|
Loading…
Reference in New Issue
Block a user