aboutsummaryrefslogtreecommitdiffstats
path: root/arch/arm/mach-omap2/board-4430sdp.c
diff options
context:
space:
mode:
authorkishore kadiyala <kishore.kadiyala@ti.com>2010-09-24 13:13:20 -0400
committerSamuel Ortiz <sameo@linux.intel.com>2010-10-28 18:29:59 -0400
commit72f2e2c763edc41f8eead042b6ff933acb0378e2 (patch)
treeb31ca0ae6be04e9191fdd99fa157c9ec4b4598a2 /arch/arm/mach-omap2/board-4430sdp.c
parent8e00593557c3c5a7bc6f636412a1cadcf4624232 (diff)
mfd: Adding twl6030 mmc card detect support for MMC1
Adding card detect callback function and card detect configuration function for MMC1 Controller on OMAP4. Card detect configuration function does initial configuration of the MMC Control & PullUp-PullDown registers of Phoenix. For MMC1 Controller, card detect interrupt source is twl6030 which is non-gpio. The card detect call back function provides card present/absent status by reading MMC Control register present on twl6030. Since OMAP4 doesn't use any GPIO line as used in OMAP3 for card detect, the suspend/resume initialization which was done in omap_hsmmc_gpio_init previously is moved to the probe thus making it generic for both OMAP3 & OMAP4. Cc: Tony Lindgren <tony@atomide.com> Cc: Andrew Morton <akpm@linux-foundation.org> Cc: Madhusudhan Chikkature <madhu.cr@ti.com> Cc: Adrian Hunter <adrian.hunter@nokia.com> Signed-off-by: Kishore Kadiyala <kishore.kadiyala@ti.com> Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>
Diffstat (limited to 'arch/arm/mach-omap2/board-4430sdp.c')
-rw-r--r--arch/arm/mach-omap2/board-4430sdp.c7
1 files changed, 6 insertions, 1 deletions
diff --git a/arch/arm/mach-omap2/board-4430sdp.c b/arch/arm/mach-omap2/board-4430sdp.c
index 69a4ae971e41..df5a425a49d1 100644
--- a/arch/arm/mach-omap2/board-4430sdp.c
+++ b/arch/arm/mach-omap2/board-4430sdp.c
@@ -269,9 +269,14 @@ static int omap4_twl6030_hsmmc_late_init(struct device *dev)
269 struct omap_mmc_platform_data *pdata = dev->platform_data; 269 struct omap_mmc_platform_data *pdata = dev->platform_data;
270 270
271 /* Setting MMC1 Card detect Irq */ 271 /* Setting MMC1 Card detect Irq */
272 if (pdev->id == 0) 272 if (pdev->id == 0) {
273 ret = twl6030_mmc_card_detect_config();
274 if (ret)
275 pr_err("Failed configuring MMC1 card detect\n");
273 pdata->slots[0].card_detect_irq = TWL6030_IRQ_BASE + 276 pdata->slots[0].card_detect_irq = TWL6030_IRQ_BASE +
274 MMCDETECT_INTR_OFFSET; 277 MMCDETECT_INTR_OFFSET;
278 pdata->slots[0].card_detect = twl6030_mmc_card_detect;
279 }
275 return ret; 280 return ret;
276} 281}
277 282