diff options
author | Yauhen Kharuzhy <jekhor@gmail.com> | 2011-01-05 23:04:33 -0500 |
---|---|---|
committer | Kukjin Kim <kgene.kim@samsung.com> | 2011-01-06 00:09:19 -0500 |
commit | 479c4f4aba27318d64698867a18865d29e3287a6 (patch) | |
tree | 20c2637ea253a349d64422bc2b969db50b915e5d /arch/arm/mach-s3c2416 | |
parent | c29cfa6d3e3edbbf4688a9b95a5b193d4f1c2575 (diff) |
ARM: S3C2416: Add support of SD/MMC card detect on SMDK2416
Enable card detect by GPIO pin on hsmmc1 device (SD0 on SMDK2416 board)
and enable card polling on hsmmc0 (SD1).
Signed-off-by: Yauhen Kharuzhy <jekhor@gmail.com>
Signed-off-by: Kukjin Kim <kgene.kim@samsung.com>
Diffstat (limited to 'arch/arm/mach-s3c2416')
-rw-r--r-- | arch/arm/mach-s3c2416/mach-smdk2416.c | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/arch/arm/mach-s3c2416/mach-smdk2416.c b/arch/arm/mach-s3c2416/mach-smdk2416.c index 7fc366476d7e..ad2497c4cf3a 100644 --- a/arch/arm/mach-s3c2416/mach-smdk2416.c +++ b/arch/arm/mach-s3c2416/mach-smdk2416.c | |||
@@ -46,6 +46,7 @@ | |||
46 | #include <plat/devs.h> | 46 | #include <plat/devs.h> |
47 | #include <plat/cpu.h> | 47 | #include <plat/cpu.h> |
48 | #include <plat/nand.h> | 48 | #include <plat/nand.h> |
49 | #include <plat/sdhci.h> | ||
49 | 50 | ||
50 | #include <plat/regs-fb-v4.h> | 51 | #include <plat/regs-fb-v4.h> |
51 | #include <plat/fb.h> | 52 | #include <plat/fb.h> |
@@ -159,6 +160,18 @@ static struct s3c_fb_platdata smdk2416_fb_platdata = { | |||
159 | .vidcon1 = VIDCON1_INV_HSYNC | VIDCON1_INV_VSYNC, | 160 | .vidcon1 = VIDCON1_INV_HSYNC | VIDCON1_INV_VSYNC, |
160 | }; | 161 | }; |
161 | 162 | ||
163 | static struct s3c_sdhci_platdata smdk2416_hsmmc0_pdata __initdata = { | ||
164 | .max_width = 4, | ||
165 | .cd_type = S3C_SDHCI_CD_GPIO, | ||
166 | .ext_cd_gpio = S3C2410_GPF(1), | ||
167 | .ext_cd_gpio_invert = 1, | ||
168 | }; | ||
169 | |||
170 | static struct s3c_sdhci_platdata smdk2416_hsmmc1_pdata __initdata = { | ||
171 | .max_width = 4, | ||
172 | .cd_type = S3C_SDHCI_CD_NONE, | ||
173 | }; | ||
174 | |||
162 | static struct platform_device *smdk2416_devices[] __initdata = { | 175 | static struct platform_device *smdk2416_devices[] __initdata = { |
163 | &s3c_device_fb, | 176 | &s3c_device_fb, |
164 | &s3c_device_wdt, | 177 | &s3c_device_wdt, |
@@ -180,6 +193,9 @@ static void __init smdk2416_machine_init(void) | |||
180 | s3c_i2c0_set_platdata(NULL); | 193 | s3c_i2c0_set_platdata(NULL); |
181 | s3c_fb_set_platdata(&smdk2416_fb_platdata); | 194 | s3c_fb_set_platdata(&smdk2416_fb_platdata); |
182 | 195 | ||
196 | s3c_sdhci0_set_platdata(&smdk2416_hsmmc0_pdata); | ||
197 | s3c_sdhci1_set_platdata(&smdk2416_hsmmc1_pdata); | ||
198 | |||
183 | gpio_request(S3C2410_GPB(4), "USBHost Power"); | 199 | gpio_request(S3C2410_GPB(4), "USBHost Power"); |
184 | gpio_direction_output(S3C2410_GPB(4), 1); | 200 | gpio_direction_output(S3C2410_GPB(4), 1); |
185 | 201 | ||