diff options
author | David Brownell <dbrownell@users.sourceforge.net> | 2009-01-09 02:02:42 +0100 |
---|---|---|
committer | Samuel Ortiz <samuel@sortiz.org> | 2009-01-11 01:34:25 +0100 |
commit | d1fdb4f6fbb155af88363bc949a35daa11872d9f (patch) | |
tree | 50187b940ec8c66f325dffad9a9e3580d1f1366c /drivers | |
parent | 5ec271e745350c7df6a6ebca24b43cb7a10bfa4a (diff) | |
download | op-kernel-dev-d1fdb4f6fbb155af88363bc949a35daa11872d9f.zip op-kernel-dev-d1fdb4f6fbb155af88363bc949a35daa11872d9f.tar.gz |
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')
-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 4214b3f..7ac12cb 100644 --- a/drivers/mfd/dm355evm_msp.c +++ b/drivers/mfd/dm355evm_msp.c @@ -107,6 +107,9 @@ static const u8 msp_gpios[] = { MSP_GPIO(0, SWITCH1), MSP_GPIO(1, SWITCH1), MSP_GPIO(2, SWITCH1), MSP_GPIO(3, SWITCH1), MSP_GPIO(4, SWITCH1), + /* switches on MMC/SD sockets */ + MSP_GPIO(1, SDMMC), MSP_GPIO(2, SDMMC), /* mmc0 WP, nCD */ + MSP_GPIO(3, SDMMC), MSP_GPIO(4, SDMMC), /* mmc1 WP, nCD */ }; #define MSP_GPIO_REG(offset) (msp_gpios[(offset)] >> 3) @@ -304,6 +307,13 @@ static int add_children(struct i2c_client *client) gpio_export(gpio, false); } + /* MMC/SD inputs -- right after the last config input */ + if (client->dev.platform_data) { + void (*mmcsd_setup)(unsigned) = client->dev.platform_data; + + mmcsd_setup(dm355evm_msp_gpio.base + 8 + 5); + } + /* RTC is a 32 bit counter, no alarm */ if (msp_has_rtc()) { child = add_child(client, "rtc-dm355evm", |