[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