[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