msm: 9615: Add hardware based SD/MMC card detection
Change-Id: Id31f289b271b39070daefae7057da5ca4a9937a1
Signed-off-by: Krishna Konda <kkonda@codeaurora.org>
Signed-off-by: Ramakrishna Prasad N <crpn@codeaurora.org>
diff --git a/arch/arm/mach-msm/board-9615.c b/arch/arm/mach-msm/board-9615.c
index 40cbee0..cf92347 100644
--- a/arch/arm/mach-msm/board-9615.c
+++ b/arch/arm/mach-msm/board-9615.c
@@ -198,7 +198,8 @@
#if (defined(CONFIG_MMC_MSM_SDC1_SUPPORT)\
|| defined(CONFIG_MMC_MSM_SDC2_SUPPORT))
-#define GPIO_SDCARD_PWR_EN 18
+#define GPIO_SDCARD_PWR_EN 18
+#define GPIO_SDC1_HW_DET 80
/* MDM9x15 have 2 SDCC controllers */
enum sdcc_controllers {
@@ -373,6 +374,11 @@
.sup_clk_cnt = ARRAY_SIZE(sdc1_sup_clk_rates),
.sdcc_v4_sup = true,
.pin_data = &mmc_slot_pin_data[SDCC1],
+#ifdef CONFIG_MMC_MSM_CARD_HW_DETECTION
+ .status_gpio = GPIO_SDC1_HW_DET,
+ .status_irq = MSM_GPIO_TO_INT(GPIO_SDC1_HW_DET),
+ .irq_flags = IRQF_TRIGGER_RISING | IRQF_TRIGGER_FALLING,
+#endif
};
static struct mmc_platform_data *msm9615_sdc1_pdata = &sdc1_data;
#else