RE: Basic N800 support

Kyungmin Park
2007-02-07T05:16:58Z

Hi Tony,

> > > P.S., Is it possible to change 'omap2.c' in
> drivers/mtd/onenand to
> > > 'n800.c' or another? It's not generic for OMAP2. :)
> >
> > Sure, maybe there's some code that should be shared though?
>
> Kyungmin, can you list what else makes the N800 onenand
> support non-generic other than the GPMC timings that should
> come from board-*.c files?

Only things are GPMC and OneNAND configuration.

GPMC timings should be set in platform file such as board-n800-onenand.c or
bootloader
and don't need to configure the OneNAND system configuration in omap2.c

In apollon, we configure GPMC timings and OneNAND configuration at
bootloader
and don't modify in the kernel code.

In the previous time, OneNAND MTD don't probe chip when sync. mode enabled.
Now it can find the chip whether sync. mode or not
In omap2.c it set OneNAND as async mode, probe it and then set sync. mode.
I think it is reasons based on this history.

Finally it don't need to configure IOBE in omap2_onenand_wait

#if 0
/* Turn interrupts on */
syscfg = omap2_onenand_readw(info->onenand.base +
ONENAND_REG_SYS_CFG1);
syscfg |= ONENAND_SYS_CFG1_IOBE;
omap2_onenand_writew(syscfg, info->onenand.base +
ONENAND_REG_SYS_CFG1);
#endif
#if 0
/* Turn interrupts off */
syscfg = omap2_onenand_readw(info->onenand.base +
ONENAND_REG_SYS_CFG1);
syscfg &= ~ONENAND_SYS_CFG1_IOBE;
omap2_onenand_writew(syscfg, info->onenand.base +
ONENAND_REG_SYS_CFG1);
#endif

Thank you,
Kyungmin Park