summary refs log tree commit diff
path: root/arch/arm/mach-s3c2410
diff options
context:
space:
mode:
authorPinkava J <Jiri.Pinkava@vscht.cz>2010-05-06 15:23:24 +0200
committerBen Dooks <ben-linux@fluff.org>2010-05-07 09:41:33 +0900
commit271d323237a1ab96b74c69fa48a8612963245266 (patch)
tree28e8af4967eedcb51a4dcd2e8f19172ae2a78b3f /arch/arm/mach-s3c2410
parent50cdba782c3de35bf6d454096213c986146f46a5 (diff)
downloadlinux-271d323237a1ab96b74c69fa48a8612963245266.tar.gz
ARM: n30: Add support for power on/off on Acer n30 / Acer n35 MMC card reader
Signed-off-by: Jiri Pinkava <jiri.pinkava@vscht.cz>
Signed-off-by: Ben Dooks <ben-linux@fluff.org>
Diffstat (limited to 'arch/arm/mach-s3c2410')
-rw-r--r--arch/arm/mach-s3c2410/mach-n30.c15
1 files changed, 15 insertions, 0 deletions
diff --git a/arch/arm/mach-s3c2410/mach-n30.c b/arch/arm/mach-s3c2410/mach-n30.c
index 81973aa8194b..f25275ef8bc8 100644
--- a/arch/arm/mach-s3c2410/mach-n30.c
+++ b/arch/arm/mach-s3c2410/mach-n30.c
@@ -352,10 +352,25 @@ static struct s3c2410fb_mach_info n30_fb_info __initdata = {
 	.lpcsel		= 0x06,
 };
 
+static void n30_sdi_set_power(unsigned char power_mode, unsigned short vdd)
+{
+	switch (power_mode) {
+	case MMC_POWER_ON:
+	case MMC_POWER_UP:
+		s3c2410_gpio_setpin(S3C2410_GPG(4), 1);
+		break;
+	case MMC_POWER_OFF:
+	default:
+		s3c2410_gpio_setpin(S3C2410_GPG(4), 0);
+		break;
+	}
+}
+
 static struct s3c24xx_mci_pdata n30_mci_cfg __initdata = {
 	.gpio_detect	= S3C2410_GPF(1),
 	.gpio_wprotect  = S3C2410_GPG(10),
 	.ocr_avail	= MMC_VDD_32_33,
+	.set_power	= n30_sdi_set_power,
 };
 
 static struct platform_device *n30_devices[] __initdata = {