aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--arch/arm/mach-davinci/board-da830-evm.c15
1 files changed, 15 insertions, 0 deletions
diff --git a/arch/arm/mach-davinci/board-da830-evm.c b/arch/arm/mach-davinci/board-da830-evm.c
index dc19870b23cd..8e670372d7fe 100644
--- a/arch/arm/mach-davinci/board-da830-evm.c
+++ b/arch/arm/mach-davinci/board-da830-evm.c
@@ -229,14 +229,21 @@ static const short da830_evm_mmc_sd_pins[] = {
229}; 229};
230 230
231#define DA830_MMCSD_WP_PIN GPIO_TO_PIN(2, 1) 231#define DA830_MMCSD_WP_PIN GPIO_TO_PIN(2, 1)
232#define DA830_MMCSD_CD_PIN GPIO_TO_PIN(2, 2)
232 233
233static int da830_evm_mmc_get_ro(int index) 234static int da830_evm_mmc_get_ro(int index)
234{ 235{
235 return gpio_get_value(DA830_MMCSD_WP_PIN); 236 return gpio_get_value(DA830_MMCSD_WP_PIN);
236} 237}
237 238
239static int da830_evm_mmc_get_cd(int index)
240{
241 return !gpio_get_value(DA830_MMCSD_CD_PIN);
242}
243
238static struct davinci_mmc_config da830_evm_mmc_config = { 244static struct davinci_mmc_config da830_evm_mmc_config = {
239 .get_ro = da830_evm_mmc_get_ro, 245 .get_ro = da830_evm_mmc_get_ro,
246 .get_cd = da830_evm_mmc_get_cd,
240 .wires = 4, 247 .wires = 4,
241 .max_freq = 50000000, 248 .max_freq = 50000000,
242 .caps = MMC_CAP_MMC_HIGHSPEED | MMC_CAP_SD_HIGHSPEED, 249 .caps = MMC_CAP_MMC_HIGHSPEED | MMC_CAP_SD_HIGHSPEED,
@@ -262,6 +269,14 @@ static inline void da830_evm_init_mmc(void)
262 } 269 }
263 gpio_direction_input(DA830_MMCSD_WP_PIN); 270 gpio_direction_input(DA830_MMCSD_WP_PIN);
264 271
272 ret = gpio_request(DA830_MMCSD_CD_PIN, "MMC CD\n");
273 if (ret) {
274 pr_warning("da830_evm_init: can not open GPIO %d\n",
275 DA830_MMCSD_CD_PIN);
276 return;
277 }
278 gpio_direction_input(DA830_MMCSD_CD_PIN);
279
265 ret = da8xx_register_mmcsd0(&da830_evm_mmc_config); 280 ret = da8xx_register_mmcsd0(&da830_evm_mmc_config);
266 if (ret) { 281 if (ret) {
267 pr_warning("da830_evm_init: mmc/sd registration failed: %d\n", 282 pr_warning("da830_evm_init: mmc/sd registration failed: %d\n",