[PATCH] Add basic support for mini2440 dev board.
Juergen Beisert
jbe at pengutronix.de
Tue Oct 19 05:08:35 EDT 2010
Belisko Marek wrote:
> On Tue, Oct 19, 2010 at 10:28 AM, Juergen Beisert <jbe at pengutronix.de>
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?
>
> AFAIK NOR flash with supervivi bootloader is used just for repair content
> of NAND flash when something goes wrong. Do we really need to store
> barebox to NOR flash?
We do not need it. But maybe we want it ;-)
Why supervivi, when barebox supports the mini2440 completely? (okay, okay,
needs more work....)
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