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
