[U-Boot] [PATCH 19/19] imx: ventana: config: enable Falcon mode

Stefan Roese sr at denx.de
Thu May 21 18:46:40 CEST 2015


Hi Stefano,

On 21.05.2015 18:17, Stefano Babic wrote:
> On 19/05/2015 15:26, Tim Harvey wrote:
>
>> Note that Falcon mode also requires you have a function in the SPL
>> that decides to boot U-Boot or to skip it and boot the OS directly. In
>> the Gateworks Ventana case I didn't want to make this completely
>> dependent on a GPIO/Button because this bootloader supports about 8
>> different PCB designs in the Ventana family - some of which do not
>> have buttons or may not have buttons loaded on the board. Instead, I
>> pulled env support into the SPL and use 'boot_os' env var to decide as
>> other boards do (see spl_start_uboot()).
>
> Anyway, this can be dangerous. The reason having a GPIO (or any trigger
> from external, for example a received char from the console) is to
> switch to U-Boot if the kernel does not work (but the kernel image is
> not corrupted), mainly go to panic, and the board can be restored into
> U-Boot.
>
> If you use an environment variable and the environment is put into the
> NAND (with MMC you can change the card), there is nothing you can do
> anymore. Board tries to boot until next panic, and then again and again.

Some boards just don't have such a means as a push button or jumper to 
select the Falcon mode. That's why I introduced this environment 
variable dependent way to select Falcon mode quite some time ago for a 
PPC based board.

You are correct. If something goes completely wrong, and the board tries 
to boot into the OS with a non-working OS installed, then you are 
doomed. JTAG comes in handy then as I have experienced myself. ;)

But this is usually only while developing this feature and kernel. Once 
its tested and mature, this really works.

Again, its a trade-off since another, better method to switch between 
U-Boot- and OS- booting is not available.

Thanks,
Stefan



More information about the U-Boot mailing list