aboutsummaryrefslogtreecommitdiffstats
path: root/arch/arm/mach-s3c64xx
diff options
context:
space:
mode:
authorOlof Johansson <olof@lixom.net>2012-01-17 01:46:19 -0500
committerOlof Johansson <olof@lixom.net>2012-01-17 01:46:19 -0500
commit090e648a20a43d71fc2d63e0d8ff8ec6822e2396 (patch)
treebc8f67d9c5b0de5a20b251e4fd1f411cc8277deb /arch/arm/mach-s3c64xx
parent8b0f6d12de91345190f234edba781b2fd03257b6 (diff)
parent815ed6fc0a4d82bb39ed43d230c4e516214987e7 (diff)
Merge branch 'samsung-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/kgene/linux-samsung into fixes
* 'samsung-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/kgene/linux-samsung: ARM: EXYNOS: Invert VCLK polarity for framebuffer on ORIGEN ARM: S3C64XX: Fix interrupt configuration for PCA935x on Cragganmore ARM: S3C64XX: Fix the memory mapped GPIOs on Cragganmore ARM: S3C64XX: Remove hsmmc1 from Cragganmore ARM: S3C64XX: Remove unconditional power domain disables ARM: SAMSUNG: Declare struct platform_device in plat/s3c64xx-spi.h ARM: SAMSUNG: dma-ops.h needs mach/dma.h ARM: SAMSUNG: Guard against multiple inclusion of plat/dma.h
Diffstat (limited to 'arch/arm/mach-s3c64xx')
-rw-r--r--arch/arm/mach-s3c64xx/include/mach/crag6410.h1
-rw-r--r--arch/arm/mach-s3c64xx/mach-crag6410.c13
-rw-r--r--arch/arm/mach-s3c64xx/pm.c13
3 files changed, 4 insertions, 23 deletions
diff --git a/arch/arm/mach-s3c64xx/include/mach/crag6410.h b/arch/arm/mach-s3c64xx/include/mach/crag6410.h
index 5d55ab018b6b..4cb2f951f1e9 100644
--- a/arch/arm/mach-s3c64xx/include/mach/crag6410.h
+++ b/arch/arm/mach-s3c64xx/include/mach/crag6410.h
@@ -21,5 +21,6 @@
21#define CODEC_GPIO_BASE (GPIO_BOARD_START + 8) 21#define CODEC_GPIO_BASE (GPIO_BOARD_START + 8)
22#define GLENFARCLAS_PMIC_GPIO_BASE (GPIO_BOARD_START + 32) 22#define GLENFARCLAS_PMIC_GPIO_BASE (GPIO_BOARD_START + 32)
23#define BANFF_PMIC_GPIO_BASE (GPIO_BOARD_START + 64) 23#define BANFF_PMIC_GPIO_BASE (GPIO_BOARD_START + 64)
24#define MMGPIO_GPIO_BASE (GPIO_BOARD_START + 96)
24 25
25#endif 26#endif
diff --git a/arch/arm/mach-s3c64xx/mach-crag6410.c b/arch/arm/mach-s3c64xx/mach-crag6410.c
index 1cc91d794c97..8077f650eb0e 100644
--- a/arch/arm/mach-s3c64xx/mach-crag6410.c
+++ b/arch/arm/mach-s3c64xx/mach-crag6410.c
@@ -260,6 +260,7 @@ static struct platform_device crag6410_dm9k_device = {
260 260
261static struct resource crag6410_mmgpio_resource[] = { 261static struct resource crag6410_mmgpio_resource[] = {
262 [0] = { 262 [0] = {
263 .name = "dat",
263 .start = S3C64XX_PA_XM0CSN4 + 1, 264 .start = S3C64XX_PA_XM0CSN4 + 1,
264 .end = S3C64XX_PA_XM0CSN4 + 1, 265 .end = S3C64XX_PA_XM0CSN4 + 1,
265 .flags = IORESOURCE_MEM, 266 .flags = IORESOURCE_MEM,
@@ -272,7 +273,7 @@ static struct platform_device crag6410_mmgpio = {
272 .resource = crag6410_mmgpio_resource, 273 .resource = crag6410_mmgpio_resource,
273 .num_resources = ARRAY_SIZE(crag6410_mmgpio_resource), 274 .num_resources = ARRAY_SIZE(crag6410_mmgpio_resource),
274 .dev.platform_data = &(struct bgpio_pdata) { 275 .dev.platform_data = &(struct bgpio_pdata) {
275 .base = -1, 276 .base = MMGPIO_GPIO_BASE,
276 }, 277 },
277}; 278};
278 279
@@ -328,7 +329,6 @@ static struct platform_device wallvdd_device = {
328 329
329static struct platform_device *crag6410_devices[] __initdata = { 330static struct platform_device *crag6410_devices[] __initdata = {
330 &s3c_device_hsmmc0, 331 &s3c_device_hsmmc0,
331 &s3c_device_hsmmc1,
332 &s3c_device_hsmmc2, 332 &s3c_device_hsmmc2,
333 &s3c_device_i2c0, 333 &s3c_device_i2c0,
334 &s3c_device_i2c1, 334 &s3c_device_i2c1,
@@ -355,7 +355,7 @@ static struct platform_device *crag6410_devices[] __initdata = {
355 355
356static struct pca953x_platform_data crag6410_pca_data = { 356static struct pca953x_platform_data crag6410_pca_data = {
357 .gpio_base = PCA935X_GPIO_BASE, 357 .gpio_base = PCA935X_GPIO_BASE,
358 .irq_base = 0, 358 .irq_base = -1,
359}; 359};
360 360
361/* VDDARM is controlled by DVS1 connected to GPK(0) */ 361/* VDDARM is controlled by DVS1 connected to GPK(0) */
@@ -683,12 +683,6 @@ static struct s3c_sdhci_platdata crag6410_hsmmc2_pdata = {
683 .cd_type = S3C_SDHCI_CD_PERMANENT, 683 .cd_type = S3C_SDHCI_CD_PERMANENT,
684}; 684};
685 685
686static struct s3c_sdhci_platdata crag6410_hsmmc1_pdata = {
687 .max_width = 4,
688 .cd_type = S3C_SDHCI_CD_GPIO,
689 .ext_cd_gpio = S3C64XX_GPF(11),
690};
691
692static void crag6410_cfg_sdhci0(struct platform_device *dev, int width) 686static void crag6410_cfg_sdhci0(struct platform_device *dev, int width)
693{ 687{
694 /* Set all the necessary GPG pins to special-function 2 */ 688 /* Set all the necessary GPG pins to special-function 2 */
@@ -723,7 +717,6 @@ static void __init crag6410_machine_init(void)
723 gpio_direction_output(S3C64XX_GPF(10), 1); 717 gpio_direction_output(S3C64XX_GPF(10), 1);
724 718
725 s3c_sdhci0_set_platdata(&crag6410_hsmmc0_pdata); 719 s3c_sdhci0_set_platdata(&crag6410_hsmmc0_pdata);
726 s3c_sdhci1_set_platdata(&crag6410_hsmmc1_pdata);
727 s3c_sdhci2_set_platdata(&crag6410_hsmmc2_pdata); 720 s3c_sdhci2_set_platdata(&crag6410_hsmmc2_pdata);
728 721
729 s3c_i2c0_set_platdata(&i2c0_pdata); 722 s3c_i2c0_set_platdata(&i2c0_pdata);
diff --git a/arch/arm/mach-s3c64xx/pm.c b/arch/arm/mach-s3c64xx/pm.c
index 055dac90e0e2..7d3e81b9dd06 100644
--- a/arch/arm/mach-s3c64xx/pm.c
+++ b/arch/arm/mach-s3c64xx/pm.c
@@ -346,23 +346,10 @@ int __init s3c64xx_pm_init(void)
346 346
347static __init int s3c64xx_pm_initcall(void) 347static __init int s3c64xx_pm_initcall(void)
348{ 348{
349 u32 val;
350
351 pm_cpu_prep = s3c64xx_pm_prepare; 349 pm_cpu_prep = s3c64xx_pm_prepare;
352 pm_cpu_sleep = s3c64xx_cpu_suspend; 350 pm_cpu_sleep = s3c64xx_cpu_suspend;
353 pm_uart_udivslot = 1; 351 pm_uart_udivslot = 1;
354 352
355 /*
356 * Unconditionally disable power domains that contain only
357 * blocks which have no mainline driver support.
358 */
359 val = __raw_readl(S3C64XX_NORMAL_CFG);
360 val &= ~(S3C64XX_NORMALCFG_DOMAIN_G_ON |
361 S3C64XX_NORMALCFG_DOMAIN_V_ON |
362 S3C64XX_NORMALCFG_DOMAIN_I_ON |
363 S3C64XX_NORMALCFG_DOMAIN_P_ON);
364 __raw_writel(val, S3C64XX_NORMAL_CFG);
365
366#ifdef CONFIG_S3C_PM_DEBUG_LED_SMDK 353#ifdef CONFIG_S3C_PM_DEBUG_LED_SMDK
367 gpio_request(S3C64XX_GPN(12), "DEBUG_LED0"); 354 gpio_request(S3C64XX_GPN(12), "DEBUG_LED0");
368 gpio_request(S3C64XX_GPN(13), "DEBUG_LED1"); 355 gpio_request(S3C64XX_GPN(13), "DEBUG_LED1");