[PATCH] imx(25,35): save boot location into $barebox_loc env.

Marc Reilly marc at cpdesign.com.au
Wed Jan 12 02:04:43 EST 2011


> > +#include <mach/imx-regs.h>
> > +
> > +#if defined(CONFIG_ARCH_IMX25) || defined(CONFIG_ARCH_IMX35)
> 
> please move this to the Makefile

I respectfully disagree. :) Other imx will require a slightly different 
approach to this function, the imx31 and the imx51 are both different for 
example.

So we either need to have a separate .c file for each different type and link 
them appropriately in the Makefile, or we have a single boot.c and 
conditionally compile.
I think its overkill to split it up into separate files, especially seeing as 
some code will be (hopefully) be used by multiple processors. I also think its 
better that with one file the code with similar functionality is grouped 
together.

Hope those arguments make sense.
> 
> > +/*
> > + * Saves the boot source media into the $barebox_loc enviroment variable
> > + *
> > + * This information is useful for barebox init scripts as we can then
> > easily + * use a kernel image stored on the same media that we launch
> > barebox with + * (for example).
> > + *
> > + * imx25 and imx35 can boot into barebox from several media such as
> > + * nand, nor, mmc/sd cards, serial roms. "mmc" is used to represent
> > several + * sources as its impossible to distinguish between them.
> > + *
> > + * Some sources such as serial roms can themselves have 3 different boot
> > + * possibilities (i2c1, i2c2 etc). It is assumed that any board will
> > + * only be using one of these at any one time.
> > + *
> > + * Note also that I suspect that the boot source pins are only sampled
> > at + * power up.
> > + */
> > +static int imx_boot_save_loc(void)
> > +{
> > +	const char *bareboxloc = NULL;
> > +	uint32_t reg;
> > +	unsigned int ctrl, type;
> > +
> > +	/* [CTRL][TYPE] */
> > +	const char *const locations[4][4] = {
> 
> 	a struct could be better not sure

I couldn't think of a way where a struct would make it easier than it is... 
suggestions?

> 
> > +		{ /* CTRL = WEIM */
> > +			"nor",
> > +			0,
> 
> 			NULL no?

Ack, you're right.

Guess I'll have to have another go :) I'll let it rest for a bit and see if 
there are any other comments.

Cheers
Marc



More information about the barebox mailing list