Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 976a62f2 authored by Hyuk Lee's avatar Hyuk Lee Committed by Kukjin Kim
Browse files

ARM: S5PV210: Add support HSMMC on SMDKV210



This patch adds support HSMMC on SMDKV210, and gpio configuration for
S5PV210 hsmmc3.

Signed-off-by: default avatarHyuk Lee <hyuk1.lee@samsung.com>
Signed-off-by: default avatarKukjin Kim <kgene.kim@samsung.com>
parent 88a1cc43
Loading
Loading
Loading
Loading
+5 −0
Original line number Diff line number Diff line
@@ -102,6 +102,10 @@ config MACH_SMDKV210
	select CPU_S5PV210
	select ARCH_SPARSEMEM_ENABLE
	select SAMSUNG_DEV_ADC
	select S3C_DEV_HSMMC
	select S3C_DEV_HSMMC1
	select S3C_DEV_HSMMC2
	select S3C_DEV_HSMMC3
	select SAMSUNG_DEV_IDE
	select SAMSUNG_DEV_KEYPAD
	select SAMSUNG_DEV_TS
@@ -109,6 +113,7 @@ config MACH_SMDKV210
	select S5PV210_SETUP_KEYPAD
	select HAVE_S3C2410_WATCHDOG
	select S5PV210_SETUP_IDE
	select S5PV210_SETUP_SDHCI
	help
	  Machine support for Samsung SMDKV210

+1 −0
Original line number Diff line number Diff line
@@ -87,6 +87,7 @@ void __init s5pv210_map_io(void)
	s5pv210_default_sdhci0();
	s5pv210_default_sdhci1();
	s5pv210_default_sdhci2();
	s5pv210_default_sdhci3();

	s3c_cfcon_setname("s5pv210-pata");

+1 −0
Original line number Diff line number Diff line
@@ -101,6 +101,7 @@
#define S3C_PA_HSMMC0		S5PV210_PA_HSMMC(0)
#define S3C_PA_HSMMC1		S5PV210_PA_HSMMC(1)
#define S3C_PA_HSMMC2		S5PV210_PA_HSMMC(2)
#define S3C_PA_HSMMC3		S5PV210_PA_HSMMC(3)
#define S3C_PA_IIC		S5PV210_PA_IIC0
#define S3C_PA_IIC1		S5PV210_PA_IIC1
#define S3C_PA_IIC2		S5PV210_PA_IIC2
+4 −0
Original line number Diff line number Diff line
@@ -103,6 +103,10 @@ static struct platform_device *smdkv210_devices[] __initdata = {
	&s5pv210_device_ac97,
	&s3c_device_adc,
	&s3c_device_cfcon,
	&s3c_device_hsmmc0,
	&s3c_device_hsmmc1,
	&s3c_device_hsmmc2,
	&s3c_device_hsmmc3,
	&samsung_device_keypad,
	&s3c_device_ts,
	&s3c_device_wdt,
+20 −0
Original line number Diff line number Diff line
@@ -102,3 +102,23 @@ void s5pv210_setup_sdhci2_cfg_gpio(struct platform_device *dev, int width)
	s3c_gpio_setpull(S5PV210_GPG2(2), S3C_GPIO_PULL_UP);
	s3c_gpio_cfgpin(S5PV210_GPG2(2), S3C_GPIO_SFN(2));
}

void s5pv210_setup_sdhci3_cfg_gpio(struct platform_device *dev, int width)
{
	unsigned int gpio;

	/* Set all the necessary GPG3[0:2] pins to special-function 2 */
	for (gpio = S5PV210_GPG3(0); gpio < S5PV210_GPG3(2); gpio++) {
		s3c_gpio_cfgpin(gpio, S3C_GPIO_SFN(2));
		s3c_gpio_setpull(gpio, S3C_GPIO_PULL_NONE);
	}

	/* Data pin GPG3[3:6] to special-function 2 */
	for (gpio = S5PV210_GPG3(3); gpio <= S5PV210_GPG3(6); gpio++) {
		s3c_gpio_cfgpin(gpio, S3C_GPIO_SFN(2));
		s3c_gpio_setpull(gpio, S3C_GPIO_PULL_NONE);
	}

	s3c_gpio_setpull(S5PV210_GPG3(2), S3C_GPIO_PULL_UP);
	s3c_gpio_cfgpin(S5PV210_GPG3(2), S3C_GPIO_SFN(2));
}
Loading