aboutsummaryrefslogtreecommitdiffstats
path: root/arch/arm/mach-s3c2410/mach-n30.c
diff options
context:
space:
mode:
authorPinkava J <Jiri.Pinkava@vscht.cz>2010-05-06 09:22:28 -0400
committerBen Dooks <ben-linux@fluff.org>2010-05-06 20:41:32 -0400
commit50cdba782c3de35bf6d454096213c986146f46a5 (patch)
tree7d455284570d6e46f9283f03b4b0ae4ccec989f2 /arch/arm/mach-s3c2410/mach-n30.c
parentaeb1b7e49f97e96e8b63c76c22f6fe6186a46ff3 (diff)
ARM: n30: Add support for MMC card reader on Acer n30 / Acer n35
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/mach-n30.c')
-rw-r--r--arch/arm/mach-s3c2410/mach-n30.c11
1 files changed, 11 insertions, 0 deletions
diff --git a/arch/arm/mach-s3c2410/mach-n30.c b/arch/arm/mach-s3c2410/mach-n30.c
index d63b48f8dcee..81973aa8194b 100644
--- a/arch/arm/mach-s3c2410/mach-n30.c
+++ b/arch/arm/mach-s3c2410/mach-n30.c
@@ -26,6 +26,7 @@
26#include <linux/serial_core.h> 26#include <linux/serial_core.h>
27#include <linux/timer.h> 27#include <linux/timer.h>
28#include <linux/io.h> 28#include <linux/io.h>
29#include <linux/mmc/host.h>
29 30
30#include <mach/hardware.h> 31#include <mach/hardware.h>
31#include <asm/irq.h> 32#include <asm/irq.h>
@@ -46,6 +47,7 @@
46#include <plat/clock.h> 47#include <plat/clock.h>
47#include <plat/cpu.h> 48#include <plat/cpu.h>
48#include <plat/devs.h> 49#include <plat/devs.h>
50#include <plat/mci.h>
49#include <plat/s3c2410.h> 51#include <plat/s3c2410.h>
50#include <plat/udc.h> 52#include <plat/udc.h>
51 53
@@ -350,6 +352,12 @@ static struct s3c2410fb_mach_info n30_fb_info __initdata = {
350 .lpcsel = 0x06, 352 .lpcsel = 0x06,
351}; 353};
352 354
355static struct s3c24xx_mci_pdata n30_mci_cfg __initdata = {
356 .gpio_detect = S3C2410_GPF(1),
357 .gpio_wprotect = S3C2410_GPG(10),
358 .ocr_avail = MMC_VDD_32_33,
359};
360
353static struct platform_device *n30_devices[] __initdata = { 361static struct platform_device *n30_devices[] __initdata = {
354 &s3c_device_lcd, 362 &s3c_device_lcd,
355 &s3c_device_wdt, 363 &s3c_device_wdt,
@@ -358,6 +366,7 @@ static struct platform_device *n30_devices[] __initdata = {
358 &s3c_device_ohci, 366 &s3c_device_ohci,
359 &s3c_device_rtc, 367 &s3c_device_rtc,
360 &s3c_device_usbgadget, 368 &s3c_device_usbgadget,
369 &s3c_device_sdi,
361 &n30_button_device, 370 &n30_button_device,
362 &n30_blue_led, 371 &n30_blue_led,
363 &n30_warning_led, 372 &n30_warning_led,
@@ -370,6 +379,7 @@ static struct platform_device *n35_devices[] __initdata = {
370 &s3c_device_iis, 379 &s3c_device_iis,
371 &s3c_device_rtc, 380 &s3c_device_rtc,
372 &s3c_device_usbgadget, 381 &s3c_device_usbgadget,
382 &s3c_device_sdi,
373 &n35_button_device, 383 &n35_button_device,
374 &n35_blue_led, 384 &n35_blue_led,
375 &n35_warning_led, 385 &n35_warning_led,
@@ -538,6 +548,7 @@ static void __init n30_init(void)
538{ 548{
539 s3c24xx_fb_set_platdata(&n30_fb_info); 549 s3c24xx_fb_set_platdata(&n30_fb_info);
540 s3c24xx_udc_set_platdata(&n30_udc_cfg); 550 s3c24xx_udc_set_platdata(&n30_udc_cfg);
551 s3c24xx_mci_set_platdata(&n30_mci_cfg);
541 s3c_i2c0_set_platdata(&n30_i2ccfg); 552 s3c_i2c0_set_platdata(&n30_i2ccfg);
542 553
543 /* Turn off suspend on both USB ports, and switch the 554 /* Turn off suspend on both USB ports, and switch the