aboutsummaryrefslogtreecommitdiffstats
path: root/arch
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
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')
-rw-r--r--arch/arm/mach-exynos/mach-origen.c3
-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
-rw-r--r--arch/arm/plat-samsung/include/plat/dma-ops.h1
-rw-r--r--arch/arm/plat-samsung/include/plat/dma.h6
-rw-r--r--arch/arm/plat-samsung/include/plat/s3c64xx-spi.h2
7 files changed, 14 insertions, 25 deletions
diff --git a/arch/arm/mach-exynos/mach-origen.c b/arch/arm/mach-exynos/mach-origen.c
index 2b11e046d391..0679b8ad2d1e 100644
--- a/arch/arm/mach-exynos/mach-origen.c
+++ b/arch/arm/mach-exynos/mach-origen.c
@@ -597,7 +597,8 @@ static struct s3c_fb_pd_win origen_fb_win0 = {
597static struct s3c_fb_platdata origen_lcd_pdata __initdata = { 597static struct s3c_fb_platdata origen_lcd_pdata __initdata = {
598 .win[0] = &origen_fb_win0, 598 .win[0] = &origen_fb_win0,
599 .vidcon0 = VIDCON0_VIDOUT_RGB | VIDCON0_PNRMODE_RGB, 599 .vidcon0 = VIDCON0_VIDOUT_RGB | VIDCON0_PNRMODE_RGB,
600 .vidcon1 = VIDCON1_INV_HSYNC | VIDCON1_INV_VSYNC, 600 .vidcon1 = VIDCON1_INV_HSYNC | VIDCON1_INV_VSYNC |
601 VIDCON1_INV_VCLK,
601 .setup_gpio = exynos4_fimd0_gpio_setup_24bpp, 602 .setup_gpio = exynos4_fimd0_gpio_setup_24bpp,
602}; 603};
603 604
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");
diff --git a/arch/arm/plat-samsung/include/plat/dma-ops.h b/arch/arm/plat-samsung/include/plat/dma-ops.h
index 22eafc310bd7..7c6c2a8dd552 100644
--- a/arch/arm/plat-samsung/include/plat/dma-ops.h
+++ b/arch/arm/plat-samsung/include/plat/dma-ops.h
@@ -14,6 +14,7 @@
14#define __SAMSUNG_DMA_OPS_H_ __FILE__ 14#define __SAMSUNG_DMA_OPS_H_ __FILE__
15 15
16#include <linux/dmaengine.h> 16#include <linux/dmaengine.h>
17#include <mach/dma.h>
17 18
18struct samsung_dma_prep_info { 19struct samsung_dma_prep_info {
19 enum dma_transaction_type cap; 20 enum dma_transaction_type cap;
diff --git a/arch/arm/plat-samsung/include/plat/dma.h b/arch/arm/plat-samsung/include/plat/dma.h
index b9061128abde..7b02143ccd9a 100644
--- a/arch/arm/plat-samsung/include/plat/dma.h
+++ b/arch/arm/plat-samsung/include/plat/dma.h
@@ -10,6 +10,9 @@
10 * published by the Free Software Foundation. 10 * published by the Free Software Foundation.
11*/ 11*/
12 12
13#ifndef __PLAT_DMA_H
14#define __PLAT_DMA_H
15
13#include <linux/dma-mapping.h> 16#include <linux/dma-mapping.h>
14 17
15enum s3c2410_dma_buffresult { 18enum s3c2410_dma_buffresult {
@@ -122,5 +125,6 @@ extern int s3c2410_dma_getposition(enum dma_ch channel,
122extern int s3c2410_dma_set_opfn(enum dma_ch, s3c2410_dma_opfn_t rtn); 125extern int s3c2410_dma_set_opfn(enum dma_ch, s3c2410_dma_opfn_t rtn);
123extern int s3c2410_dma_set_buffdone_fn(enum dma_ch, s3c2410_dma_cbfn_t rtn); 126extern int s3c2410_dma_set_buffdone_fn(enum dma_ch, s3c2410_dma_cbfn_t rtn);
124 127
125
126#include <plat/dma-ops.h> 128#include <plat/dma-ops.h>
129
130#endif
diff --git a/arch/arm/plat-samsung/include/plat/s3c64xx-spi.h b/arch/arm/plat-samsung/include/plat/s3c64xx-spi.h
index aea68b60ef98..fa95e9a00972 100644
--- a/arch/arm/plat-samsung/include/plat/s3c64xx-spi.h
+++ b/arch/arm/plat-samsung/include/plat/s3c64xx-spi.h
@@ -11,6 +11,8 @@
11#ifndef __S3C64XX_PLAT_SPI_H 11#ifndef __S3C64XX_PLAT_SPI_H
12#define __S3C64XX_PLAT_SPI_H 12#define __S3C64XX_PLAT_SPI_H
13 13
14struct platform_device;
15
14/** 16/**
15 * struct s3c64xx_spi_csinfo - ChipSelect description 17 * struct s3c64xx_spi_csinfo - ChipSelect description
16 * @fb_delay: Slave specific feedback delay. 18 * @fb_delay: Slave specific feedback delay.