Sergei, Kevin,

Thanks, I will incorporate your suggestions and send v2 for both patches.

-
Hemant
> -----Original Message-----
> From: Kevin Hilman [mailto:[email protected]]
> Sent: Tuesday, July 07, 2009 10:11 PM
> To: Sergei Shtylyov
> Cc: Pedanekar, Hemant; [email protected]
> Subject: Re: [PATCH] davinci: dm646x-evm: Add platform and resource data
> and cpld setup for IDE
> 
> Sergei Shtylyov <[email protected]> writes:
> 
> > Hello.
> >
> > Hemant Pedanekar wrote:
> >
> >> This patch depends on "Add clock info and update mux setup for ATA"
> patch
> >> submitted earlier.
> >
> >> An I2C driver is added for controlling the CPLD register 0, which
> drives
> >> ATA_RSTn and ATA_PWD.
> >
> >> Signed-off-by: Hemant Pedanekar <[email protected]>
> >
> > [...]
> >
> >> diff --git a/arch/arm/mach-davinci/board-dm646x-evm.c b/arch/arm/mach-
> davinci/board-dm646x-evm.c
> >> index 575c6ca..99382d8 100644
> >> --- a/arch/arm/mach-davinci/board-dm646x-evm.c
> >> +++ b/arch/arm/mach-davinci/board-dm646x-evm.c
> >> @@ -44,6 +44,7 @@
> >>  #include <mach/common.h>
> >>  #include <mach/psc.h>
> >>  #include <mach/serial.h>
> >> +#include <mach/mux.h>
> >>  #include <mach/i2c.h>
> >>  #include <mach/mmc.h>
> >>  #include <mach/emac.h>
> >> @@ -52,10 +53,88 @@
> >>  #define DM646X_EVM_PHY_MASK               (0x2)
> >>  #define DM646X_EVM_MDIO_FREQUENCY (2200000) /* PHY bus frequency
> */
> >>  +#define DAVINCI_CFC_ATA_BASE             0x01C66000
> >> +
> >>  static struct davinci_uart_config uart_config __initdata = {
> >>    .enabled_uarts = (1 << 0),
> >>  };
> >>  +static struct resource ide_resources[] = {
> >> +  {
> >> +          .start          = DAVINCI_CFC_ATA_BASE,
> >> +          .end            = DAVINCI_CFC_ATA_BASE + 0x7ff,
> >> +          .flags          = IORESOURCE_MEM,
> >> +  },
> >> +  {
> >> +          .start          = IRQ_DM646X_IDE,
> >> +          .end            = IRQ_DM646X_IDE,
> >> +          .flags          = IORESOURCE_IRQ,
> >> +  },
> >> +};
> >> +
> >> +static u64 ide_dma_mask = DMA_BIT_MASK(32);
> >> +
> >> +static struct platform_device ide_dev = {
> >> +  .name           = "palm_bk3710",
> >> +  .id             = -1,
> >> +  .resource       = ide_resources,
> >> +  .num_resources  = ARRAY_SIZE(ide_resources),
> >> +  .dev = {
> >> +          .dma_mask               = &ide_dma_mask,
> >> +          .coherent_dma_mask      = DMA_BIT_MASK(32),
> >> +  },
> >> +};
> >
> > IDE is not board specific device -- why in the world are you adding
> > it to the board file?  Ah, I see: it's done that way in
> > board-dm646x-evm.c... but I don't think it's correct. Kevin?
> 
> I agree.
> 
> IDE is SoC specific and should be done there.  What we need is the
> platform_device and an init/register function in <soc>.c (which
> includes mux init.) Then, the board code calls the register
> function if it wants IDE enabled for that board.
> 
> Kevin

_______________________________________________
Davinci-linux-open-source mailing list
[email protected]
http://linux.davincidsp.com/mailman/listinfo/davinci-linux-open-source

Reply via email to