Message ID | 1357726842-12960-4-git-send-email-otavio@ossystems.com.br |
---|---|
State | Changes Requested |
Delegated to: | Stefano Babic |
Headers | show |
On Wed, Jan 9, 2013 at 8:20 AM, Otavio Salvador <otavio@ossystems.com.br> wrote: > Signed-off-by: Otavio Salvador <otavio@ossystems.com.br> > --- > Changes in v4: > - Use a warning, instead of error when failing to fetch fdt > - Drop exit use > - Fix netboot > - Use fdt instead of ftd Subject still uses 'ftd'. It is better to make it consistent. > > Changes in v3: > - Add loadfdt > - Use loadfdt > - Call exit to abort script > > Changes in v2: > - Allow use of dynamic/static ip > - Allow force use, or not, of fdt > - Change 'auto' to 'try' > > include/configs/mx28evk.h | 39 +++++++++++++++++++++++++++++++++++++-- > 1 file changed, 37 insertions(+), 2 deletions(-) > > diff --git a/include/configs/mx28evk.h b/include/configs/mx28evk.h > index ac9522f..46442c3 100644 > --- a/include/configs/mx28evk.h > +++ b/include/configs/mx28evk.h > @@ -290,6 +290,10 @@ > "uimage=uImage\0" \ > "console_fsl=ttyAM0\0" \ > "console_mainline=ttyAMA0\0" \ > + "fdt_file=imx28-evk.dtb\0" \ > + "fdt_addr=0x41000000\0" \ > + "boot_fdt=try\0" \ > + "ip_dyn=yes\0" \ > "mmcdev=0\0" \ > "mmcpart=2\0" \ > "mmcroot=/dev/mmcblk0p3 rw rootwait\0" \ > @@ -300,15 +304,46 @@ > "bootscript=echo Running bootscript from mmc ...; " \ > "source\0" \ > "loaduimage=fatload mmc ${mmcdev}:${mmcpart} ${loadaddr} ${uimage}\0" \ > + "loadfdt=fatload mmc ${mmcdev}:${mmcpart} ${fdt_addr} ${fdt_file}\0" \ > "mmcboot=echo Booting from mmc ...; " \ > "run mmcargs; " \ > - "bootm\0" \ > + "if test ${boot_fdt} = yes; then " \ > + "if run loadfdt; then " \ > + "bootm ${loadaddr} - ${fdt_addr}; " \ > + "else " \ > + "if test ${boot_fdt} = try; then " \ > + "bootm; " \ > + "else " \ > + "echo WARN: Cannot load the DT, aborting...; " \ Actually you are not aborting. It was just mmc load that failed, but tftp will be tried next. Have all the four combinations below been tested on the hardware? 1. Load a dt kernel from mmc 2. Load a non-dt kernel from mmc 3. Load a dt kernel from tftp 4. Load a non-dt kernel from tftp
On Wed, Jan 9, 2013 at 9:29 AM, Fabio Estevam <festevam@gmail.com> wrote: > On Wed, Jan 9, 2013 at 8:20 AM, Otavio Salvador <otavio@ossystems.com.br> wrote: >> Signed-off-by: Otavio Salvador <otavio@ossystems.com.br> >> --- >> Changes in v4: >> - Use a warning, instead of error when failing to fetch fdt >> - Drop exit use >> - Fix netboot >> - Use fdt instead of ftd > > Subject still uses 'ftd'. It is better to make it consistent. Will send v5... ... >> + "if test ${boot_fdt} = try; then " \ >> + "bootm; " \ >> + "else " \ >> + "echo WARN: Cannot load the DT, aborting...; " \ > > Actually you are not aborting. It was just mmc load that failed, but > tftp will be tried next. Yes; I removed the aborting for v5 > Have all the four combinations below been tested on the hardware? > > 1. Load a dt kernel from mmc > 2. Load a non-dt kernel from mmc > 3. Load a dt kernel from tftp > 4. Load a non-dt kernel from tftp Stefano has helped testing it :-) -- Otavio Salvador O.S. Systems E-mail: otavio@ossystems.com.br http://www.ossystems.com.br Mobile: +55 53 9981-7854 http://projetos.ossystems.com.br
diff --git a/include/configs/mx28evk.h b/include/configs/mx28evk.h index ac9522f..46442c3 100644 --- a/include/configs/mx28evk.h +++ b/include/configs/mx28evk.h @@ -290,6 +290,10 @@ "uimage=uImage\0" \ "console_fsl=ttyAM0\0" \ "console_mainline=ttyAMA0\0" \ + "fdt_file=imx28-evk.dtb\0" \ + "fdt_addr=0x41000000\0" \ + "boot_fdt=try\0" \ + "ip_dyn=yes\0" \ "mmcdev=0\0" \ "mmcpart=2\0" \ "mmcroot=/dev/mmcblk0p3 rw rootwait\0" \ @@ -300,15 +304,46 @@ "bootscript=echo Running bootscript from mmc ...; " \ "source\0" \ "loaduimage=fatload mmc ${mmcdev}:${mmcpart} ${loadaddr} ${uimage}\0" \ + "loadfdt=fatload mmc ${mmcdev}:${mmcpart} ${fdt_addr} ${fdt_file}\0" \ "mmcboot=echo Booting from mmc ...; " \ "run mmcargs; " \ - "bootm\0" \ + "if test ${boot_fdt} = yes; then " \ + "if run loadfdt; then " \ + "bootm ${loadaddr} - ${fdt_addr}; " \ + "else " \ + "if test ${boot_fdt} = try; then " \ + "bootm; " \ + "else " \ + "echo WARN: Cannot load the DT, aborting...; " \ + "fi; " \ + "fi; " \ + "else " \ + "bootm; " \ + "fi;\0" \ "netargs=setenv bootargs console=${console_mainline},${baudrate} " \ "root=/dev/nfs " \ "ip=dhcp nfsroot=${serverip}:${nfsroot},v3,tcp\0" \ "netboot=echo Booting from net ...; " \ "run netargs; " \ - "dhcp ${uimage}; bootm\0" + "if test ${ip_dyn} = yes; then " \ + "setenv get_cmd dhcp; " \ + "else " \ + "setenv get_cmd tftp; " \ + "fi; " \ + "${get_cmd} ${uimage}; " \ + "if test ${boot_fdt} = yes; then " \ + "if ${get_cmd} ${fdt_addr} ${fdt_file}; then " \ + "bootm ${loadaddr} - ${fdt_addr}; " \ + "else " \ + "if test ${boot_fdt} = try; then " \ + "bootm; " \ + "else " \ + "echo WARN: Cannot load the DT, aborting...; " \ + "fi;" \ + "fi; " \ + "else " \ + "bootm; " \ + "fi;\0" #define CONFIG_BOOTCOMMAND \ "mmc dev ${mmcdev}; if mmc rescan; then " \
Signed-off-by: Otavio Salvador <otavio@ossystems.com.br> --- Changes in v4: - Use a warning, instead of error when failing to fetch fdt - Drop exit use - Fix netboot - Use fdt instead of ftd Changes in v3: - Add loadfdt - Use loadfdt - Call exit to abort script Changes in v2: - Allow use of dynamic/static ip - Allow force use, or not, of fdt - Change 'auto' to 'try' include/configs/mx28evk.h | 39 +++++++++++++++++++++++++++++++++++++-- 1 file changed, 37 insertions(+), 2 deletions(-)