diff options
-rw-r--r-- | arch/arm/mach-s3c2410/include/mach/h1940-latch.h | 2 | ||||
-rw-r--r-- | arch/arm/mach-s3c2410/mach-h1940.c | 23 |
2 files changed, 21 insertions, 4 deletions
diff --git a/arch/arm/mach-s3c2410/include/mach/h1940-latch.h b/arch/arm/mach-s3c2410/include/mach/h1940-latch.h index 73586f20930e..ef7d8cf4174d 100644 --- a/arch/arm/mach-s3c2410/include/mach/h1940-latch.h +++ b/arch/arm/mach-s3c2410/include/mach/h1940-latch.h | |||
@@ -35,7 +35,7 @@ | |||
35 | #define H1940_LATCH_AUDIO_POWER H1940_LATCH_GPIO(9) | 35 | #define H1940_LATCH_AUDIO_POWER H1940_LATCH_GPIO(9) |
36 | #define H1940_LATCH_SM803_ENABLE H1940_LATCH_GPIO(10) | 36 | #define H1940_LATCH_SM803_ENABLE H1940_LATCH_GPIO(10) |
37 | #define H1940_LATCH_LCD_P4 H1940_LATCH_GPIO(11) | 37 | #define H1940_LATCH_LCD_P4 H1940_LATCH_GPIO(11) |
38 | #define H1940_LATCH_CPUQ5 H1940_LATCH_GPIO(12) | 38 | #define H1940_LATCH_SD_POWER H1940_LATCH_GPIO(12) |
39 | #define H1940_LATCH_BLUETOOTH_POWER H1940_LATCH_GPIO(13) | 39 | #define H1940_LATCH_BLUETOOTH_POWER H1940_LATCH_GPIO(13) |
40 | #define H1940_LATCH_LED_GREEN H1940_LATCH_GPIO(14) | 40 | #define H1940_LATCH_LED_GREEN H1940_LATCH_GPIO(14) |
41 | #define H1940_LATCH_LED_FLASH H1940_LATCH_GPIO(15) | 41 | #define H1940_LATCH_LED_FLASH H1940_LATCH_GPIO(15) |
diff --git a/arch/arm/mach-s3c2410/mach-h1940.c b/arch/arm/mach-s3c2410/mach-h1940.c index f0493bdbf0dc..cc8660ec8844 100644 --- a/arch/arm/mach-s3c2410/mach-h1940.c +++ b/arch/arm/mach-s3c2410/mach-h1940.c | |||
@@ -112,8 +112,7 @@ static unsigned int latch_state = H1940_LATCH_BIT(H1940_LATCH_LCD_P4) | | |||
112 | H1940_LATCH_BIT(H1940_LATCH_LCD_P1) | | 112 | H1940_LATCH_BIT(H1940_LATCH_LCD_P1) | |
113 | H1940_LATCH_BIT(H1940_LATCH_LCD_P2) | | 113 | H1940_LATCH_BIT(H1940_LATCH_LCD_P2) | |
114 | H1940_LATCH_BIT(H1940_LATCH_LCD_P3) | | 114 | H1940_LATCH_BIT(H1940_LATCH_LCD_P3) | |
115 | H1940_LATCH_BIT(H1940_LATCH_MAX1698_nSHUTDOWN) | | 115 | H1940_LATCH_BIT(H1940_LATCH_MAX1698_nSHUTDOWN); |
116 | H1940_LATCH_BIT(H1940_LATCH_CPUQ5); | ||
117 | 116 | ||
118 | static void h1940_latch_control(unsigned int clear, unsigned int set) | 117 | static void h1940_latch_control(unsigned int clear, unsigned int set) |
119 | { | 118 | { |
@@ -247,10 +246,25 @@ static struct platform_device h1940_device_bluetooth = { | |||
247 | .id = -1, | 246 | .id = -1, |
248 | }; | 247 | }; |
249 | 248 | ||
249 | static void h1940_set_mmc_power(unsigned char power_mode, unsigned short vdd) | ||
250 | { | ||
251 | switch (power_mode) { | ||
252 | case MMC_POWER_OFF: | ||
253 | gpio_set_value(H1940_LATCH_SD_POWER, 0); | ||
254 | break; | ||
255 | case MMC_POWER_UP: | ||
256 | case MMC_POWER_ON: | ||
257 | gpio_set_value(H1940_LATCH_SD_POWER, 1); | ||
258 | break; | ||
259 | default: | ||
260 | break; | ||
261 | }; | ||
262 | } | ||
263 | |||
250 | static struct s3c24xx_mci_pdata h1940_mmc_cfg __initdata = { | 264 | static struct s3c24xx_mci_pdata h1940_mmc_cfg __initdata = { |
251 | .gpio_detect = S3C2410_GPF(5), | 265 | .gpio_detect = S3C2410_GPF(5), |
252 | .gpio_wprotect = S3C2410_GPH(8), | 266 | .gpio_wprotect = S3C2410_GPH(8), |
253 | .set_power = NULL, | 267 | .set_power = h1940_set_mmc_power, |
254 | .ocr_avail = MMC_VDD_32_33, | 268 | .ocr_avail = MMC_VDD_32_33, |
255 | }; | 269 | }; |
256 | 270 | ||
@@ -397,6 +411,9 @@ static void __init h1940_init(void) | |||
397 | gpio_request(H1940_LATCH_USB_DP, "USB pullup"); | 411 | gpio_request(H1940_LATCH_USB_DP, "USB pullup"); |
398 | gpio_direction_output(H1940_LATCH_USB_DP, 0); | 412 | gpio_direction_output(H1940_LATCH_USB_DP, 0); |
399 | 413 | ||
414 | gpio_request(H1940_LATCH_SD_POWER, "SD power"); | ||
415 | gpio_direction_output(H1940_LATCH_SD_POWER, 0); | ||
416 | |||
400 | platform_add_devices(h1940_devices, ARRAY_SIZE(h1940_devices)); | 417 | platform_add_devices(h1940_devices, ARRAY_SIZE(h1940_devices)); |
401 | } | 418 | } |
402 | 419 | ||