diff options
author | David Brownell <dbrownell@users.sourceforge.net> | 2009-01-08 20:02:42 -0500 |
---|---|---|
committer | Samuel Ortiz <samuel@sortiz.org> | 2009-01-10 19:34:25 -0500 |
commit | d1fdb4f6fbb155af88363bc949a35daa11872d9f (patch) | |
tree | 50187b940ec8c66f325dffad9a9e3580d1f1366c /drivers/mfd | |
parent | 5ec271e745350c7df6a6ebca24b43cb7a10bfa4a (diff) |
mfd: dm355 evm MMC/SD card detection
Support card detect and writeprotect switches on DM355 EVM.
Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
Signed-off-by: Kevin Hilman <khilman@deeprootsystems.com>
Signed-off-by: Samuel Ortiz <sameo@openedhand.com>
Diffstat (limited to 'drivers/mfd')
-rw-r--r-- | drivers/mfd/dm355evm_msp.c | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/drivers/mfd/dm355evm_msp.c b/drivers/mfd/dm355evm_msp.c index 4214b3f72426..7ac12cb0be4a 100644 --- a/drivers/mfd/dm355evm_msp.c +++ b/drivers/mfd/dm355evm_msp.c | |||
@@ -107,6 +107,9 @@ static const u8 msp_gpios[] = { | |||
107 | MSP_GPIO(0, SWITCH1), MSP_GPIO(1, SWITCH1), | 107 | MSP_GPIO(0, SWITCH1), MSP_GPIO(1, SWITCH1), |
108 | MSP_GPIO(2, SWITCH1), MSP_GPIO(3, SWITCH1), | 108 | MSP_GPIO(2, SWITCH1), MSP_GPIO(3, SWITCH1), |
109 | MSP_GPIO(4, SWITCH1), | 109 | MSP_GPIO(4, SWITCH1), |
110 | /* switches on MMC/SD sockets */ | ||
111 | MSP_GPIO(1, SDMMC), MSP_GPIO(2, SDMMC), /* mmc0 WP, nCD */ | ||
112 | MSP_GPIO(3, SDMMC), MSP_GPIO(4, SDMMC), /* mmc1 WP, nCD */ | ||
110 | }; | 113 | }; |
111 | 114 | ||
112 | #define MSP_GPIO_REG(offset) (msp_gpios[(offset)] >> 3) | 115 | #define MSP_GPIO_REG(offset) (msp_gpios[(offset)] >> 3) |
@@ -304,6 +307,13 @@ static int add_children(struct i2c_client *client) | |||
304 | gpio_export(gpio, false); | 307 | gpio_export(gpio, false); |
305 | } | 308 | } |
306 | 309 | ||
310 | /* MMC/SD inputs -- right after the last config input */ | ||
311 | if (client->dev.platform_data) { | ||
312 | void (*mmcsd_setup)(unsigned) = client->dev.platform_data; | ||
313 | |||
314 | mmcsd_setup(dm355evm_msp_gpio.base + 8 + 5); | ||
315 | } | ||
316 | |||
307 | /* RTC is a 32 bit counter, no alarm */ | 317 | /* RTC is a 32 bit counter, no alarm */ |
308 | if (msp_has_rtc()) { | 318 | if (msp_has_rtc()) { |
309 | child = add_child(client, "rtc-dm355evm", | 319 | child = add_child(client, "rtc-dm355evm", |