aboutsummaryrefslogtreecommitdiffstats
path: root/arch/arm/mach-s3c64xx
diff options
context:
space:
mode:
authorTomasz Figa <tomasz.figa@gmail.com>2013-12-18 12:45:47 -0500
committerKukjin Kim <kgene.kim@samsung.com>2013-12-18 12:45:47 -0500
commitbe4f668f444ae261d7a4c07713df0c946e7210f9 (patch)
tree32b92fb708396d954ff703173b5f1a5a079dfd9e /arch/arm/mach-s3c64xx
parent236940d2c951a84735fdd7b958b5159eaf501784 (diff)
ARM: S3C64XX: Correct card detect type for HSMMC1 for MINI6410
According to board schematics, for HSMMC1 a GPIO line is used to detect card presence, while currently it is being configured for internal card detect line, which is multiplexed with card detect line of HSMMC0 and thus breaking it. This patch adds proper sdhci platform data setting card detect type to external GPIO and fixing operation of HSMMC0. Signed-off-by: Tomasz Figa <tomasz.figa@gmail.com> Signed-off-by: Kukjin Kim <kgene.kim@samsung.com>
Diffstat (limited to 'arch/arm/mach-s3c64xx')
-rw-r--r--arch/arm/mach-s3c64xx/mach-mini6410.c10
1 files changed, 10 insertions, 0 deletions
diff --git a/arch/arm/mach-s3c64xx/mach-mini6410.c b/arch/arm/mach-s3c64xx/mach-mini6410.c
index 58d46a3d7b78..97ae4703cb78 100644
--- a/arch/arm/mach-s3c64xx/mach-mini6410.c
+++ b/arch/arm/mach-s3c64xx/mach-mini6410.c
@@ -36,7 +36,9 @@
36#include <plat/devs.h> 36#include <plat/devs.h>
37#include <plat/fb.h> 37#include <plat/fb.h>
38#include <linux/platform_data/mtd-nand-s3c2410.h> 38#include <linux/platform_data/mtd-nand-s3c2410.h>
39#include <linux/platform_data/mmc-sdhci-s3c.h>
39#include <plat/regs-serial.h> 40#include <plat/regs-serial.h>
41#include <plat/sdhci.h>
40#include <linux/platform_data/touchscreen-s3c2410.h> 42#include <linux/platform_data/touchscreen-s3c2410.h>
41 43
42#include <video/platform_lcd.h> 44#include <video/platform_lcd.h>
@@ -214,6 +216,13 @@ static struct platform_device mini6410_lcd_powerdev = {
214 .dev.platform_data = &mini6410_lcd_power_data, 216 .dev.platform_data = &mini6410_lcd_power_data,
215}; 217};
216 218
219static struct s3c_sdhci_platdata mini6410_hsmmc1_pdata = {
220 .max_width = 4,
221 .cd_type = S3C_SDHCI_CD_GPIO,
222 .ext_cd_gpio = S3C64XX_GPN(10),
223 .ext_cd_gpio_invert = true,
224};
225
217static struct platform_device *mini6410_devices[] __initdata = { 226static struct platform_device *mini6410_devices[] __initdata = {
218 &mini6410_device_eth, 227 &mini6410_device_eth,
219 &s3c_device_hsmmc0, 228 &s3c_device_hsmmc0,
@@ -321,6 +330,7 @@ static void __init mini6410_machine_init(void)
321 330
322 s3c_nand_set_platdata(&mini6410_nand_info); 331 s3c_nand_set_platdata(&mini6410_nand_info);
323 s3c_fb_set_platdata(&mini6410_lcd_pdata[features.lcd_index]); 332 s3c_fb_set_platdata(&mini6410_lcd_pdata[features.lcd_index]);
333 s3c_sdhci1_set_platdata(&mini6410_hsmmc1_pdata);
324 s3c24xx_ts_set_platdata(NULL); 334 s3c24xx_ts_set_platdata(NULL);
325 335
326 /* configure nCS1 width to 16 bits */ 336 /* configure nCS1 width to 16 bits */