[PATCH] Add basic support for mini2440 dev board.

Juergen Beisert jbe at pengutronix.de
Tue Oct 19 08:38:34 EDT 2010


Jean-Christophe PLAGNIOL-VILLARD wrote:
> On 10:28 Tue 19 Oct     , Juergen Beisert wrote:
> > Marek Belisko wrote:
> > > This work is mainly based on a9m2440 board implementation
> > > from Juergen Beisert <jbe at pengutronix.de>. Functionality
> > > was tested only running barebox from ram. Loading to flash
> > > and booting will not work because missing lowlevel_init
> > > functionality (lack of jtag debugger on my side ;)).
> >
> > I have now access to a mini2440 at Pengutronix. I will add this feature
> > soon.
> >
> > > [...]
> > > +static int mini2440_devices_init(void)
> > > +{
> > > +	uint32_t reg;
> > > +
> > > +	reg = readl(BWSCON);
> > > +
> > > +	/* CS#4 to access the network controller */
> > > +	reg &= ~0x000f0000;
> > > +	reg |=  0x000d0000;	/* 16 bit */
> > > +	writel(0x1f4c, BANKCON4);
> > > +
> > > +	writel(reg, BWSCON);
> > > +
> > > +	/* release the reset signal to external devices */
> > > +	reg = readl(MISCCR);
> > > +	reg |= 0x10000;
> > > +	writel(reg, MISCCR);
> > > +
> > > +	register_device(&nand_dev);
> > > +	register_device(&sdram_dev);
> > > +	register_device(&dm9000_dev);
> > > +#ifdef CONFIG_NAND
> > > +	/* ----------- add some vital partitions -------- */
> > > +	devfs_del_partition("self_raw");
> > > +	devfs_add_partition("nand0", 0x00000, 0x40000, PARTITION_FIXED,
> > > "self_raw"); +	dev_add_bb_dev("self_raw", NULL);
> > > +
> > > +	devfs_del_partition("env_raw");
> > > +	devfs_add_partition("nand0", 0x40000, 0x20000, PARTITION_FIXED,
> > > "env_raw"); +	dev_add_bb_dev("env_raw", NULL);
> > > +#endif
> > > +	armlinux_add_dram(&sdram_dev);
> > > +	armlinux_set_bootparams((void *)sdram_dev.map_base + 0x100);
> > > +	armlinux_set_architecture(MACH_TYPE_MINI2440);
> > > +
> > > +	return 0;
> > > +}
> >
> > We need some kind of management here, because the mini2440 comes with NOR
> > and NAND flash. And both can be configured to boot the system from: We
> > need a location to store the environment. Maybe in NOR, when booting from
> > NOR, and in NAND, when booting form NAND? Or only one single location
> > where to store the environment, independent from the boot source? Ideas?
>
> I like the idea to store in the boot media

If you switch the boot media the environment moves, too? That may confuse 
users, as their settings are "moving away" in this case. Okay, its not a 
regular usecase. But with the mini2440 its simply a configuration switch on 
the board. My idea was to add some Kconfig menu entries to select one of the 
possible cases a) move the environment with the boot source or b) store and 
expect it always in NOR or NAND.

jbe

-- 
Pengutronix e.K.                              | Juergen Beisert             |
Linux Solutions for Science and Industry      | Phone: +49-8766-939 228     |
Vertretung Sued/Muenchen, Germany             | Fax:   +49-5121-206917-5555 |
Amtsgericht Hildesheim, HRA 2686              | http://www.pengutronix.de/  |



More information about the barebox mailing list