[RFC] MXS/i.MX23: detecting the boot source

Juergen Beisert jbe at pengutronix.de
Tue May 21 04:01:09 EDT 2013


Sascha Hauer wrote:
> On Fri, May 17, 2013 at 10:18:39AM +0200, Juergen Beisert wrote:
> > The boot source for the i.MX23 is configured via a few GPIOs, which are
> > later be used for different purposes (like LCD data for example). The SoC
> > internal ROM reads these GPIOs and uses the selected boot source.
> >
> > For various reasons the boot source is also of interest when Barebox is
> > running. This detection approach reads again the GPIOs. It switches
> > temporarily the pins to act as GPIOs and input, reads their values, and
> > switches back to their previous functions.
> >
> > Could this be a reliable way to detect the boot source?
>
> I don't know. Are the bootstrap pins used as outputs only in the normal
> usecase? Otherwise I could imagine that something is overriding the
> bootstrap pins by the time you read them.

These where also my thoughts. The pins the ROM reads can also be used as
GPIO, LCD data out and for the Embedded Trace Macrocell (ETM). Maybe not 
perfectly reliable, but the chance is high that it works as expected.

There is no real latch register to save the settings after reset (at least I 
didn't found one). Maybe the ROM stores this value somewhere in the internal 
SRAM (like the i.MX28 ROM does), but how to know where....?

> > BTW: is there a reason why the bootsource will create environment
> > variables, while other detected features find their way to the "global"
> > device?
>
> No, at least not a good one ;)

Ahh, okay :)

> > +static uint32_t mxs23_boot_save_loc(void)
>
> Should you continue working on this please change the name to something
> like mx23_get_bootsource(). This function does not save anything.

Yes, will do so.

jbe

-- 
Pengutronix e.K.                              | Juergen Beisert             |
Linux Solutions for Science and Industry      | http://www.pengutronix.de/  |



More information about the barebox mailing list