On Wed, Aug 12, 2009 at 23:37:54, Kevin Hilman wrote:
> Sudhakar Rajashekhara <[email protected]> writes:
>
> > This patch adds platform data for the 8MB NOR flash
> > found on da850/omap-l138 EVM. Both NOR and NAND can
> > co-exist on da850/omap-l138 as they are using different
> > chip selects.
> >
> > Signed-off-by: Sudhakar Rajashekhara <[email protected]>
> > ---
> > Since the previous version, EMA_BA_0 pin has been removed
> > from the mux table as this pin is not being used on
> > DA850/OMAP-L138 EVM for NOR.
> >
> > This patch depends on the following patches which I have
> > submitted to davinci git:
> > [PATCH v2] davinci: Configure MDIO pins for EMAC
> > [PATCH v2] davinci: Add platform support for da850/omap-l138 GLCD
> > [PATCH v2] davinci: Add MMC/SD support for da850/omap-l138
> > [PATCH v2] davinci: Add NAND flash support for DA850/OMAP-L138
>
> Would it be possible to do all these additions without the #ifdefs in
> the board file like you did for GLCD.
>
> IOW, just create/register all of them. The platform_device will be
> created and potentially waste some memory if the corresponding
> platform_driver is never created, but it makes things a bit more
> flexible.
>
Sure. I'll change it.
> Are there acutally mux conflicts between some of these devices?
>
> If so, until we get some better support for dynamic mux, I think it
> would more clear to have this documented (maybe with warnings) in the board
> file so users don't have to experiment with Kconfig options to find
> a working config.
>
I was planning to submit a patch to handle this right after
this patch.
Few pins of NOR and MMC are shared on da850/omap-l138. I'll be
printing out a warning if both NOR and MMC are enabled in menuconfig.
I'll leave the choice of choosing between NOR and MMC to the user.
> > arch/arm/mach-davinci/board-da850-evm.c | 60
> > ++++++++++++++++++++++++++++
> > arch/arm/mach-davinci/da850.c | 50 +++++++++++++++++++++++
> > arch/arm/mach-davinci/include/mach/da8xx.h | 2 +
> > arch/arm/mach-davinci/include/mach/mux.h | 34 ++++++++++++++++
> > 4 files changed, 146 insertions(+), 0 deletions(-)
> >
> > diff --git a/arch/arm/mach-davinci/board-da850-evm.c
> > b/arch/arm/mach-davinci/board-da850-evm.c
> > index b879cc5..6087458 100644
> > --- a/arch/arm/mach-davinci/board-da850-evm.c
> > +++ b/arch/arm/mach-davinci/board-da850-evm.c
[...]
> >
> > +static void __init da850_evm_init_nor(void)
> > +{
> > + void __iomem *aemif_addr;
> > +
> > + aemif_addr = ioremap(DA8XX_AEMIF_CTL_BASE, SZ_32K - 1);
>
> Why the -1 here?
>
My mistake. Will remove -1.
> > + /* Configure data bus width of CS2 to 16 bit */
> > + __raw_writel(1, aemif_addr + 0x10);
>
> Just use writel(), and also some symobilc names would help readability
> instead of using hard-coded constants.
>
OK.
- Sudhakar
_______________________________________________
Davinci-linux-open-source mailing list
[email protected]
http://linux.davincidsp.com/mailman/listinfo/davinci-linux-open-source