> + */ > + > +#include <common.h> > +#include <environment.h> > +#include <init.h> > + > +#include <asm/io.h> > +#include <mach/imx-regs.h> > + > +#if defined(CONFIG_ARCH_IMX25) || defined(CONFIG_ARCH_IMX35) please move this to the Makefile > +/* > + * 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 > + { /* CTRL = WEIM */ > + "nor", > + 0, NULL no? > + "onenand", > + 0 > + }, { /* CTRL == NAND */ > + "nand", > + "nand", > + "nand", > + "nand", > + }, { /* CTRL == ATA, (imx35 only) */ > + 0, > + 0, /* might be p-ata */ > + 0, > + 0, > + }, { /* CTRL == expansion */ > + "mmc", /* note imx25 could also be: movinand, ce-ata */ > + 0, > + "i2c", > + "spi", > + } > + }; otherwise look good Best Regards, J. _______________________________________________ barebox mailing list barebox@xxxxxxxxxxxxxxxxxxx http://lists.infradead.org/mailman/listinfo/barebox