[email protected] writes:

> From: Sandeep Paulraj <[email protected]>
>
> Patch adds MMC/SD Support for DM365
>
> Signed-off-by: Sandeep Paulraj <[email protected]>

Thanks, pushing today.

Kevin

> ---
>  arch/arm/mach-davinci/devices.c |   45 ++++++++++++++++++++++++++------------
>  1 files changed, 31 insertions(+), 14 deletions(-)
>
> diff --git a/arch/arm/mach-davinci/devices.c b/arch/arm/mach-davinci/devices.c
> index 385e833..a55b650 100644
> --- a/arch/arm/mach-davinci/devices.c
> +++ b/arch/arm/mach-davinci/devices.c
> @@ -31,6 +31,8 @@
>  #define DAVINCI_MMCSD0_BASE       0x01E10000
>  #define DM355_MMCSD0_BASE         0x01E11000
>  #define DM355_MMCSD1_BASE         0x01E00000
> +#define DM365_MMCSD0_BASE         0x01D11000
> +#define DM365_MMCSD1_BASE         0x01D00000
>  
>  static struct resource i2c_resources[] = {
>       {
> @@ -154,19 +156,31 @@ void __init davinci_setup_mmc(int module, struct 
> davinci_mmc_config *config)
>        */
>       switch (module) {
>       case 1:
> -             if (!cpu_is_davinci_dm355())
> +             if (cpu_is_davinci_dm355()) {
> +                     /* REVISIT we may not need all these pins if e.g. this
> +                      * is a hard-wired SDIO device...
> +                      */
> +                     davinci_cfg_reg(DM355_SD1_CMD);
> +                     davinci_cfg_reg(DM355_SD1_CLK);
> +                     davinci_cfg_reg(DM355_SD1_DATA0);
> +                     davinci_cfg_reg(DM355_SD1_DATA1);
> +                     davinci_cfg_reg(DM355_SD1_DATA2);
> +                     davinci_cfg_reg(DM355_SD1_DATA3);
> +             } else if (cpu_is_davinci_dm365()) {
> +                     void __iomem *pupdctl1 =
> +                             IO_ADDRESS(DAVINCI_SYSTEM_MODULE_BASE + 0x7c);
> +
> +                     /* Configure pull down control */
> +                     __raw_writel((__raw_readl(pupdctl1) & ~0x400),
> +                                     pupdctl1);
> +
> +                     mmcsd1_resources[0].start = DM365_MMCSD1_BASE;
> +                     mmcsd1_resources[0].end = DM365_MMCSD1_BASE +
> +                                                     SZ_4K - 1;
> +                     mmcsd0_resources[2].start = IRQ_DM365_SDIOINT1;
> +             } else
>                       break;
>  
> -             /* REVISIT we may not need all these pins if e.g. this
> -              * is a hard-wired SDIO device...
> -              */
> -             davinci_cfg_reg(DM355_SD1_CMD);
> -             davinci_cfg_reg(DM355_SD1_CLK);
> -             davinci_cfg_reg(DM355_SD1_DATA0);
> -             davinci_cfg_reg(DM355_SD1_DATA1);
> -             davinci_cfg_reg(DM355_SD1_DATA2);
> -             davinci_cfg_reg(DM355_SD1_DATA3);
> -
>               pdev = &davinci_mmcsd1_device;
>               break;
>       case 0:
> @@ -180,9 +194,12 @@ void __init davinci_setup_mmc(int module, struct 
> davinci_mmc_config *config)
>  
>                       /* enable RX EDMA */
>                       davinci_cfg_reg(DM355_EVT26_MMC0_RX);
> -             }
> -
> -             else if (cpu_is_davinci_dm644x()) {
> +             } else if (cpu_is_davinci_dm365()) {
> +                     mmcsd0_resources[0].start = DM365_MMCSD0_BASE;
> +                     mmcsd0_resources[0].end = DM365_MMCSD0_BASE +
> +                                                     SZ_4K - 1;
> +                     mmcsd0_resources[2].start = IRQ_DM365_SDIOINT0;
> +             } else if (cpu_is_davinci_dm644x()) {
>                       /* REVISIT: should this be in board-init code? */
>                       void __iomem *base =
>                               IO_ADDRESS(DAVINCI_SYSTEM_MODULE_BASE);
> -- 
> 1.6.0.4
>
> _______________________________________________
> Davinci-linux-open-source mailing list
> [email protected]
> http://linux.davincidsp.com/mailman/listinfo/davinci-linux-open-source

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

Reply via email to