All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 00/12] Updates for Exynos5250 Rev1.0 and device tree support
@ 2012-04-17  5:46 ` Thomas Abraham
  0 siblings, 0 replies; 62+ messages in thread
From: Thomas Abraham @ 2012-04-17  5:46 UTC (permalink / raw)
  To: linux-samsung-soc; +Cc: kgene.kim, linux-arm-kernel

This patch series includes modifications to support Rev1.0 of Exynos5250 SoC
and overrides the existing support for Rev0. It also includes basic device
tree support (tested for UART, WDT, RTC, GPIO, I2C, GIC and DMA PL330).

Changhwan Youn (2):
  ARM: Exynos5: Modify the GIC physical address for static io-mapping
  ARM: Exynos: Redefine IRQ_MCT_L0,1 definition

Heiko Stuebner (1):
  rtc-s3c: Fix breakage introduced by S3C2443/S3C2416 support

Kisoo Yu (1):
  ARM: Exynos5: Add pre-divider and fout mux clocks for bpll and mpll

Sangsu Park (1):
  gpio/samsung: add GPC4 bank instance

Thomas Abraham (7):
  ARM: Exynos: Remove a new bus_type instance for Exynos5
  ARM: Exynos5: Fix incorrect initialization of GIC
  ARM: Exynos5: Add watchdog timer clock instance
  ARM: Exynos5: Remove duplicated instantiation of pdma clock
  ARM: Exynos5: Add MDMA0 clock instance
  ARM: Exynos5: Update device tree source files
  ARM: Exynos5: Update device tree enabled machine file

 arch/arm/boot/dts/exynos5250-smdk5250.dts      |   52 +++++++++++++
 arch/arm/boot/dts/exynos5250.dtsi              |   44 +++--------
 arch/arm/mach-exynos/clock-exynos5.c           |   98 +++++++++++++++++++++---
 arch/arm/mach-exynos/common.c                  |   27 ++-----
 arch/arm/mach-exynos/include/mach/gpio.h       |    9 ++-
 arch/arm/mach-exynos/include/mach/irqs.h       |    4 +-
 arch/arm/mach-exynos/include/mach/map.h        |    4 +-
 arch/arm/mach-exynos/include/mach/regs-clock.h |    2 +
 arch/arm/mach-exynos/mach-exynos5-dt.c         |    7 ++-
 arch/arm/mach-exynos/mct.c                     |   17 +++--
 arch/arm/plat-s5p/clock.c                      |   11 ---
 drivers/gpio/gpio-samsung.c                    |    8 ++
 drivers/rtc/rtc-s3c.c                          |   18 ++--
 13 files changed, 204 insertions(+), 97 deletions(-)

^ permalink raw reply	[flat|nested] 62+ messages in thread

* [PATCH 00/12] Updates for Exynos5250 Rev1.0 and device tree support
@ 2012-04-17  5:46 ` Thomas Abraham
  0 siblings, 0 replies; 62+ messages in thread
From: Thomas Abraham @ 2012-04-17  5:46 UTC (permalink / raw)
  To: linux-arm-kernel

This patch series includes modifications to support Rev1.0 of Exynos5250 SoC
and overrides the existing support for Rev0. It also includes basic device
tree support (tested for UART, WDT, RTC, GPIO, I2C, GIC and DMA PL330).

Changhwan Youn (2):
  ARM: Exynos5: Modify the GIC physical address for static io-mapping
  ARM: Exynos: Redefine IRQ_MCT_L0,1 definition

Heiko Stuebner (1):
  rtc-s3c: Fix breakage introduced by S3C2443/S3C2416 support

Kisoo Yu (1):
  ARM: Exynos5: Add pre-divider and fout mux clocks for bpll and mpll

Sangsu Park (1):
  gpio/samsung: add GPC4 bank instance

Thomas Abraham (7):
  ARM: Exynos: Remove a new bus_type instance for Exynos5
  ARM: Exynos5: Fix incorrect initialization of GIC
  ARM: Exynos5: Add watchdog timer clock instance
  ARM: Exynos5: Remove duplicated instantiation of pdma clock
  ARM: Exynos5: Add MDMA0 clock instance
  ARM: Exynos5: Update device tree source files
  ARM: Exynos5: Update device tree enabled machine file

 arch/arm/boot/dts/exynos5250-smdk5250.dts      |   52 +++++++++++++
 arch/arm/boot/dts/exynos5250.dtsi              |   44 +++--------
 arch/arm/mach-exynos/clock-exynos5.c           |   98 +++++++++++++++++++++---
 arch/arm/mach-exynos/common.c                  |   27 ++-----
 arch/arm/mach-exynos/include/mach/gpio.h       |    9 ++-
 arch/arm/mach-exynos/include/mach/irqs.h       |    4 +-
 arch/arm/mach-exynos/include/mach/map.h        |    4 +-
 arch/arm/mach-exynos/include/mach/regs-clock.h |    2 +
 arch/arm/mach-exynos/mach-exynos5-dt.c         |    7 ++-
 arch/arm/mach-exynos/mct.c                     |   17 +++--
 arch/arm/plat-s5p/clock.c                      |   11 ---
 drivers/gpio/gpio-samsung.c                    |    8 ++
 drivers/rtc/rtc-s3c.c                          |   18 ++--
 13 files changed, 204 insertions(+), 97 deletions(-)

^ permalink raw reply	[flat|nested] 62+ messages in thread

* [PATCH 01/12] ARM: Exynos: Remove a new bus_type instance for Exynos5
  2012-04-17  5:46 ` Thomas Abraham
@ 2012-04-17  5:46   ` Thomas Abraham
  -1 siblings, 0 replies; 62+ messages in thread
From: Thomas Abraham @ 2012-04-17  5:46 UTC (permalink / raw)
  To: linux-samsung-soc; +Cc: kgene.kim, linux-arm-kernel

A seperate bus_type instance is not required for Exynos5. The existing bus_type
instance used with Exynos4 is sufficient for both Exynos4 and Exynos5. This
also solves issue of uninitialized usage of exynos4_subsys in Exynos4 power
management code that is reused for Exynos5 also.

Signed-off-by: Thomas Abraham <thomas.abraham@linaro.org>
---
 arch/arm/mach-exynos/common.c |   19 ++-----------------
 1 files changed, 2 insertions(+), 17 deletions(-)

diff --git a/arch/arm/mach-exynos/common.c b/arch/arm/mach-exynos/common.c
index e9e353b..636d5f8 100644
--- a/arch/arm/mach-exynos/common.c
+++ b/arch/arm/mach-exynos/common.c
@@ -557,25 +557,13 @@ struct bus_type exynos4_subsys = {
 	.dev_name	= "exynos4-core",
 };
 
-struct bus_type exynos5_subsys = {
-	.name		= "exynos5-core",
-	.dev_name	= "exynos5-core",
-};
-
 static struct device exynos4_dev = {
 	.bus	= &exynos4_subsys,
 };
 
-static struct device exynos5_dev = {
-	.bus	= &exynos5_subsys,
-};
-
 static int __init exynos_core_init(void)
 {
-	if (soc_is_exynos5250())
-		return subsys_system_register(&exynos5_subsys, NULL);
-	else
-		return subsys_system_register(&exynos4_subsys, NULL);
+	return subsys_system_register(&exynos4_subsys, NULL);
 }
 core_initcall(exynos_core_init);
 
@@ -662,10 +650,7 @@ static int __init exynos_init(void)
 {
 	printk(KERN_INFO "EXYNOS: Initializing architecture\n");
 
-	if (soc_is_exynos5250())
-		return device_register(&exynos5_dev);
-	else
-		return device_register(&exynos4_dev);
+	return device_register(&exynos4_dev);
 }
 
 /* uart registration process */
-- 
1.6.6.rc2

^ permalink raw reply related	[flat|nested] 62+ messages in thread

* [PATCH 01/12] ARM: Exynos: Remove a new bus_type instance for Exynos5
@ 2012-04-17  5:46   ` Thomas Abraham
  0 siblings, 0 replies; 62+ messages in thread
From: Thomas Abraham @ 2012-04-17  5:46 UTC (permalink / raw)
  To: linux-arm-kernel

A seperate bus_type instance is not required for Exynos5. The existing bus_type
instance used with Exynos4 is sufficient for both Exynos4 and Exynos5. This
also solves issue of uninitialized usage of exynos4_subsys in Exynos4 power
management code that is reused for Exynos5 also.

Signed-off-by: Thomas Abraham <thomas.abraham@linaro.org>
---
 arch/arm/mach-exynos/common.c |   19 ++-----------------
 1 files changed, 2 insertions(+), 17 deletions(-)

diff --git a/arch/arm/mach-exynos/common.c b/arch/arm/mach-exynos/common.c
index e9e353b..636d5f8 100644
--- a/arch/arm/mach-exynos/common.c
+++ b/arch/arm/mach-exynos/common.c
@@ -557,25 +557,13 @@ struct bus_type exynos4_subsys = {
 	.dev_name	= "exynos4-core",
 };
 
-struct bus_type exynos5_subsys = {
-	.name		= "exynos5-core",
-	.dev_name	= "exynos5-core",
-};
-
 static struct device exynos4_dev = {
 	.bus	= &exynos4_subsys,
 };
 
-static struct device exynos5_dev = {
-	.bus	= &exynos5_subsys,
-};
-
 static int __init exynos_core_init(void)
 {
-	if (soc_is_exynos5250())
-		return subsys_system_register(&exynos5_subsys, NULL);
-	else
-		return subsys_system_register(&exynos4_subsys, NULL);
+	return subsys_system_register(&exynos4_subsys, NULL);
 }
 core_initcall(exynos_core_init);
 
@@ -662,10 +650,7 @@ static int __init exynos_init(void)
 {
 	printk(KERN_INFO "EXYNOS: Initializing architecture\n");
 
-	if (soc_is_exynos5250())
-		return device_register(&exynos5_dev);
-	else
-		return device_register(&exynos4_dev);
+	return device_register(&exynos4_dev);
 }
 
 /* uart registration process */
-- 
1.6.6.rc2

^ permalink raw reply related	[flat|nested] 62+ messages in thread

* [PATCH 02/12] ARM: Exynos5: Fix incorrect initialization of GIC
  2012-04-17  5:46 ` Thomas Abraham
@ 2012-04-17  5:46   ` Thomas Abraham
  -1 siblings, 0 replies; 62+ messages in thread
From: Thomas Abraham @ 2012-04-17  5:46 UTC (permalink / raw)
  To: linux-samsung-soc; +Cc: kgene.kim, linux-arm-kernel

Use the of_irq_init() call to setup the gic which also properly registers
the gic device node pointer with gic irq domain, without which all interrupt
specifier translations for gic fail.

Signed-off-by: Thomas Abraham <thomas.abraham@linaro.org>
---
 arch/arm/mach-exynos/common.c |    4 +++-
 1 files changed, 3 insertions(+), 1 deletions(-)

diff --git a/arch/arm/mach-exynos/common.c b/arch/arm/mach-exynos/common.c
index 636d5f8..35ac675 100644
--- a/arch/arm/mach-exynos/common.c
+++ b/arch/arm/mach-exynos/common.c
@@ -532,11 +532,12 @@ void __init exynos4_init_irq(void)
 	s5p_init_irq(NULL, 0);
 }
 
+#ifdef CONFIG_ARCH_EXYNOS5
 void __init exynos5_init_irq(void)
 {
 	int irq;
 
-	gic_init(0, IRQ_PPI(0), S5P_VA_GIC_DIST, S5P_VA_GIC_CPU);
+	of_irq_init(exynos4_dt_irq_match);
 
 	for (irq = 0; irq < EXYNOS5_MAX_COMBINER_NR; irq++) {
 		combiner_init(irq, (void __iomem *)S5P_VA_COMBINER(irq),
@@ -551,6 +552,7 @@ void __init exynos5_init_irq(void)
 	 */
 	s5p_init_irq(NULL, 0);
 }
+#endif /* CONFIG_ARCH_EXYNOS5 */
 
 struct bus_type exynos4_subsys = {
 	.name		= "exynos4-core",
-- 
1.6.6.rc2

^ permalink raw reply related	[flat|nested] 62+ messages in thread

* [PATCH 02/12] ARM: Exynos5: Fix incorrect initialization of GIC
@ 2012-04-17  5:46   ` Thomas Abraham
  0 siblings, 0 replies; 62+ messages in thread
From: Thomas Abraham @ 2012-04-17  5:46 UTC (permalink / raw)
  To: linux-arm-kernel

Use the of_irq_init() call to setup the gic which also properly registers
the gic device node pointer with gic irq domain, without which all interrupt
specifier translations for gic fail.

Signed-off-by: Thomas Abraham <thomas.abraham@linaro.org>
---
 arch/arm/mach-exynos/common.c |    4 +++-
 1 files changed, 3 insertions(+), 1 deletions(-)

diff --git a/arch/arm/mach-exynos/common.c b/arch/arm/mach-exynos/common.c
index 636d5f8..35ac675 100644
--- a/arch/arm/mach-exynos/common.c
+++ b/arch/arm/mach-exynos/common.c
@@ -532,11 +532,12 @@ void __init exynos4_init_irq(void)
 	s5p_init_irq(NULL, 0);
 }
 
+#ifdef CONFIG_ARCH_EXYNOS5
 void __init exynos5_init_irq(void)
 {
 	int irq;
 
-	gic_init(0, IRQ_PPI(0), S5P_VA_GIC_DIST, S5P_VA_GIC_CPU);
+	of_irq_init(exynos4_dt_irq_match);
 
 	for (irq = 0; irq < EXYNOS5_MAX_COMBINER_NR; irq++) {
 		combiner_init(irq, (void __iomem *)S5P_VA_COMBINER(irq),
@@ -551,6 +552,7 @@ void __init exynos5_init_irq(void)
 	 */
 	s5p_init_irq(NULL, 0);
 }
+#endif /* CONFIG_ARCH_EXYNOS5 */
 
 struct bus_type exynos4_subsys = {
 	.name		= "exynos4-core",
-- 
1.6.6.rc2

^ permalink raw reply related	[flat|nested] 62+ messages in thread

* [PATCH 03/12] ARM: Exynos5: Add watchdog timer clock instance
  2012-04-17  5:46 ` Thomas Abraham
@ 2012-04-17  5:46   ` Thomas Abraham
  -1 siblings, 0 replies; 62+ messages in thread
From: Thomas Abraham @ 2012-04-17  5:46 UTC (permalink / raw)
  To: linux-samsung-soc; +Cc: kgene.kim, linux-arm-kernel

Add watchdog timer clock instance for Exynos5 watchdog controller.

Signed-off-by: Thomas Abraham <thomas.abraham@linaro.org>
---
 arch/arm/mach-exynos/clock-exynos5.c |    5 +++++
 1 files changed, 5 insertions(+), 0 deletions(-)

diff --git a/arch/arm/mach-exynos/clock-exynos5.c b/arch/arm/mach-exynos/clock-exynos5.c
index ad3bec4..662615d 100644
--- a/arch/arm/mach-exynos/clock-exynos5.c
+++ b/arch/arm/mach-exynos/clock-exynos5.c
@@ -474,6 +474,11 @@ static struct clk exynos5_init_clocks_off[] = {
 		.enable		= exynos5_clk_ip_peris_ctrl,
 		.ctrlbit	= (1 << 20),
 	}, {
+		.name		= "watchdog",
+		.parent		= &exynos5_clk_aclk_66.clk,
+		.enable		= exynos5_clk_ip_peris_ctrl,
+		.ctrlbit	= (1 << 19),
+	}, {
 		.name		= "hsmmc",
 		.devname	= "exynos4-sdhci.0",
 		.parent		= &exynos5_clk_aclk_200.clk,
-- 
1.6.6.rc2

^ permalink raw reply related	[flat|nested] 62+ messages in thread

* [PATCH 03/12] ARM: Exynos5: Add watchdog timer clock instance
@ 2012-04-17  5:46   ` Thomas Abraham
  0 siblings, 0 replies; 62+ messages in thread
From: Thomas Abraham @ 2012-04-17  5:46 UTC (permalink / raw)
  To: linux-arm-kernel

Add watchdog timer clock instance for Exynos5 watchdog controller.

Signed-off-by: Thomas Abraham <thomas.abraham@linaro.org>
---
 arch/arm/mach-exynos/clock-exynos5.c |    5 +++++
 1 files changed, 5 insertions(+), 0 deletions(-)

diff --git a/arch/arm/mach-exynos/clock-exynos5.c b/arch/arm/mach-exynos/clock-exynos5.c
index ad3bec4..662615d 100644
--- a/arch/arm/mach-exynos/clock-exynos5.c
+++ b/arch/arm/mach-exynos/clock-exynos5.c
@@ -474,6 +474,11 @@ static struct clk exynos5_init_clocks_off[] = {
 		.enable		= exynos5_clk_ip_peris_ctrl,
 		.ctrlbit	= (1 << 20),
 	}, {
+		.name		= "watchdog",
+		.parent		= &exynos5_clk_aclk_66.clk,
+		.enable		= exynos5_clk_ip_peris_ctrl,
+		.ctrlbit	= (1 << 19),
+	}, {
 		.name		= "hsmmc",
 		.devname	= "exynos4-sdhci.0",
 		.parent		= &exynos5_clk_aclk_200.clk,
-- 
1.6.6.rc2

^ permalink raw reply related	[flat|nested] 62+ messages in thread

* [PATCH 04/12] ARM: Exynos5: Remove duplicated instantiation of pdma clock
  2012-04-17  5:46 ` Thomas Abraham
@ 2012-04-17  5:46   ` Thomas Abraham
  -1 siblings, 0 replies; 62+ messages in thread
From: Thomas Abraham @ 2012-04-17  5:46 UTC (permalink / raw)
  To: linux-samsung-soc; +Cc: kgene.kim, linux-arm-kernel

The clock of both the peripheral dma controllers is controlled by a single
clock gate. Hence remove the duplicate instantiation of the pdma clock.

Signed-off-by: Thomas Abraham <thomas.abraham@linaro.org>
---
 arch/arm/mach-exynos/clock-exynos5.c |   17 ++++-------------
 1 files changed, 4 insertions(+), 13 deletions(-)

diff --git a/arch/arm/mach-exynos/clock-exynos5.c b/arch/arm/mach-exynos/clock-exynos5.c
index 662615d..fb95e9b 100644
--- a/arch/arm/mach-exynos/clock-exynos5.c
+++ b/arch/arm/mach-exynos/clock-exynos5.c
@@ -762,16 +762,8 @@ static struct clk exynos5_init_clocks_on[] = {
 	}
 };
 
-static struct clk exynos5_clk_pdma0 = {
+static struct clk exynos5_clk_pdma = {
 	.name		= "dma",
-	.devname	= "dma-pl330.0",
-	.enable		= exynos5_clk_ip_fsys_ctrl,
-	.ctrlbit	= (1 << 1),
-};
-
-static struct clk exynos5_clk_pdma1 = {
-	.name		= "dma",
-	.devname	= "dma-pl330.1",
 	.enable		= exynos5_clk_ip_fsys_ctrl,
 	.ctrlbit	= (1 << 1),
 };
@@ -1064,8 +1056,7 @@ static struct clksrc_clk *exynos5_sysclks[] = {
 };
 
 static struct clk *exynos5_clk_cdev[] = {
-	&exynos5_clk_pdma0,
-	&exynos5_clk_pdma1,
+	&exynos5_clk_pdma,
 	&exynos5_clk_mdma1,
 };
 
@@ -1089,8 +1080,8 @@ static struct clk_lookup exynos5_clk_lookup[] = {
 	CLKDEV_INIT("exynos4-sdhci.1", "mmc_busclk.2", &exynos5_clk_sclk_mmc1.clk),
 	CLKDEV_INIT("exynos4-sdhci.2", "mmc_busclk.2", &exynos5_clk_sclk_mmc2.clk),
 	CLKDEV_INIT("exynos4-sdhci.3", "mmc_busclk.2", &exynos5_clk_sclk_mmc3.clk),
-	CLKDEV_INIT("dma-pl330.0", "apb_pclk", &exynos5_clk_pdma0),
-	CLKDEV_INIT("dma-pl330.1", "apb_pclk", &exynos5_clk_pdma1),
+	CLKDEV_INIT("dma-pl330.0", "apb_pclk", &exynos5_clk_pdma),
+	CLKDEV_INIT("dma-pl330.1", "apb_pclk", &exynos5_clk_pdma),
 	CLKDEV_INIT("dma-pl330.2", "apb_pclk", &exynos5_clk_mdma1),
 };
 
-- 
1.6.6.rc2

^ permalink raw reply related	[flat|nested] 62+ messages in thread

* [PATCH 04/12] ARM: Exynos5: Remove duplicated instantiation of pdma clock
@ 2012-04-17  5:46   ` Thomas Abraham
  0 siblings, 0 replies; 62+ messages in thread
From: Thomas Abraham @ 2012-04-17  5:46 UTC (permalink / raw)
  To: linux-arm-kernel

The clock of both the peripheral dma controllers is controlled by a single
clock gate. Hence remove the duplicate instantiation of the pdma clock.

Signed-off-by: Thomas Abraham <thomas.abraham@linaro.org>
---
 arch/arm/mach-exynos/clock-exynos5.c |   17 ++++-------------
 1 files changed, 4 insertions(+), 13 deletions(-)

diff --git a/arch/arm/mach-exynos/clock-exynos5.c b/arch/arm/mach-exynos/clock-exynos5.c
index 662615d..fb95e9b 100644
--- a/arch/arm/mach-exynos/clock-exynos5.c
+++ b/arch/arm/mach-exynos/clock-exynos5.c
@@ -762,16 +762,8 @@ static struct clk exynos5_init_clocks_on[] = {
 	}
 };
 
-static struct clk exynos5_clk_pdma0 = {
+static struct clk exynos5_clk_pdma = {
 	.name		= "dma",
-	.devname	= "dma-pl330.0",
-	.enable		= exynos5_clk_ip_fsys_ctrl,
-	.ctrlbit	= (1 << 1),
-};
-
-static struct clk exynos5_clk_pdma1 = {
-	.name		= "dma",
-	.devname	= "dma-pl330.1",
 	.enable		= exynos5_clk_ip_fsys_ctrl,
 	.ctrlbit	= (1 << 1),
 };
@@ -1064,8 +1056,7 @@ static struct clksrc_clk *exynos5_sysclks[] = {
 };
 
 static struct clk *exynos5_clk_cdev[] = {
-	&exynos5_clk_pdma0,
-	&exynos5_clk_pdma1,
+	&exynos5_clk_pdma,
 	&exynos5_clk_mdma1,
 };
 
@@ -1089,8 +1080,8 @@ static struct clk_lookup exynos5_clk_lookup[] = {
 	CLKDEV_INIT("exynos4-sdhci.1", "mmc_busclk.2", &exynos5_clk_sclk_mmc1.clk),
 	CLKDEV_INIT("exynos4-sdhci.2", "mmc_busclk.2", &exynos5_clk_sclk_mmc2.clk),
 	CLKDEV_INIT("exynos4-sdhci.3", "mmc_busclk.2", &exynos5_clk_sclk_mmc3.clk),
-	CLKDEV_INIT("dma-pl330.0", "apb_pclk", &exynos5_clk_pdma0),
-	CLKDEV_INIT("dma-pl330.1", "apb_pclk", &exynos5_clk_pdma1),
+	CLKDEV_INIT("dma-pl330.0", "apb_pclk", &exynos5_clk_pdma),
+	CLKDEV_INIT("dma-pl330.1", "apb_pclk", &exynos5_clk_pdma),
 	CLKDEV_INIT("dma-pl330.2", "apb_pclk", &exynos5_clk_mdma1),
 };
 
-- 
1.6.6.rc2

^ permalink raw reply related	[flat|nested] 62+ messages in thread

* [PATCH 05/12] ARM: Exynos5: Add MDMA0 clock instance
  2012-04-17  5:46 ` Thomas Abraham
@ 2012-04-17  5:46   ` Thomas Abraham
  -1 siblings, 0 replies; 62+ messages in thread
From: Thomas Abraham @ 2012-04-17  5:46 UTC (permalink / raw)
  To: linux-samsung-soc; +Cc: kgene.kim, linux-arm-kernel

Add clock instance for MDMA0 controller.

Signed-off-by: Thomas Abraham <thomas.abraham@linaro.org>
---
 arch/arm/mach-exynos/clock-exynos5.c |   11 +++++++++--
 1 files changed, 9 insertions(+), 2 deletions(-)

diff --git a/arch/arm/mach-exynos/clock-exynos5.c b/arch/arm/mach-exynos/clock-exynos5.c
index fb95e9b..0230ba8 100644
--- a/arch/arm/mach-exynos/clock-exynos5.c
+++ b/arch/arm/mach-exynos/clock-exynos5.c
@@ -768,9 +768,14 @@ static struct clk exynos5_clk_pdma = {
 	.ctrlbit	= (1 << 1),
 };
 
+static struct clk exynos5_clk_mdma0 = {
+	.name		= "dma",
+	.enable		= exynos5_clk_ip_acp_ctrl,
+	.ctrlbit	= (1 << 1),
+};
+
 static struct clk exynos5_clk_mdma1 = {
 	.name		= "dma",
-	.devname	= "dma-pl330.2",
 	.enable		= exynos5_clk_ip_gen_ctrl,
 	.ctrlbit	= (1 << 4),
 };
@@ -1057,6 +1062,7 @@ static struct clksrc_clk *exynos5_sysclks[] = {
 
 static struct clk *exynos5_clk_cdev[] = {
 	&exynos5_clk_pdma,
+	&exynos5_clk_mdma0,
 	&exynos5_clk_mdma1,
 };
 
@@ -1082,7 +1088,8 @@ static struct clk_lookup exynos5_clk_lookup[] = {
 	CLKDEV_INIT("exynos4-sdhci.3", "mmc_busclk.2", &exynos5_clk_sclk_mmc3.clk),
 	CLKDEV_INIT("dma-pl330.0", "apb_pclk", &exynos5_clk_pdma),
 	CLKDEV_INIT("dma-pl330.1", "apb_pclk", &exynos5_clk_pdma),
-	CLKDEV_INIT("dma-pl330.2", "apb_pclk", &exynos5_clk_mdma1),
+	CLKDEV_INIT("dma-pl330.2", "apb_pclk", &exynos5_clk_mdma0),
+	CLKDEV_INIT("dma-pl330.3", "apb_pclk", &exynos5_clk_mdma1),
 };
 
 static unsigned long exynos5_epll_get_rate(struct clk *clk)
-- 
1.6.6.rc2

^ permalink raw reply related	[flat|nested] 62+ messages in thread

* [PATCH 05/12] ARM: Exynos5: Add MDMA0 clock instance
@ 2012-04-17  5:46   ` Thomas Abraham
  0 siblings, 0 replies; 62+ messages in thread
From: Thomas Abraham @ 2012-04-17  5:46 UTC (permalink / raw)
  To: linux-arm-kernel

Add clock instance for MDMA0 controller.

Signed-off-by: Thomas Abraham <thomas.abraham@linaro.org>
---
 arch/arm/mach-exynos/clock-exynos5.c |   11 +++++++++--
 1 files changed, 9 insertions(+), 2 deletions(-)

diff --git a/arch/arm/mach-exynos/clock-exynos5.c b/arch/arm/mach-exynos/clock-exynos5.c
index fb95e9b..0230ba8 100644
--- a/arch/arm/mach-exynos/clock-exynos5.c
+++ b/arch/arm/mach-exynos/clock-exynos5.c
@@ -768,9 +768,14 @@ static struct clk exynos5_clk_pdma = {
 	.ctrlbit	= (1 << 1),
 };
 
+static struct clk exynos5_clk_mdma0 = {
+	.name		= "dma",
+	.enable		= exynos5_clk_ip_acp_ctrl,
+	.ctrlbit	= (1 << 1),
+};
+
 static struct clk exynos5_clk_mdma1 = {
 	.name		= "dma",
-	.devname	= "dma-pl330.2",
 	.enable		= exynos5_clk_ip_gen_ctrl,
 	.ctrlbit	= (1 << 4),
 };
@@ -1057,6 +1062,7 @@ static struct clksrc_clk *exynos5_sysclks[] = {
 
 static struct clk *exynos5_clk_cdev[] = {
 	&exynos5_clk_pdma,
+	&exynos5_clk_mdma0,
 	&exynos5_clk_mdma1,
 };
 
@@ -1082,7 +1088,8 @@ static struct clk_lookup exynos5_clk_lookup[] = {
 	CLKDEV_INIT("exynos4-sdhci.3", "mmc_busclk.2", &exynos5_clk_sclk_mmc3.clk),
 	CLKDEV_INIT("dma-pl330.0", "apb_pclk", &exynos5_clk_pdma),
 	CLKDEV_INIT("dma-pl330.1", "apb_pclk", &exynos5_clk_pdma),
-	CLKDEV_INIT("dma-pl330.2", "apb_pclk", &exynos5_clk_mdma1),
+	CLKDEV_INIT("dma-pl330.2", "apb_pclk", &exynos5_clk_mdma0),
+	CLKDEV_INIT("dma-pl330.3", "apb_pclk", &exynos5_clk_mdma1),
 };
 
 static unsigned long exynos5_epll_get_rate(struct clk *clk)
-- 
1.6.6.rc2

^ permalink raw reply related	[flat|nested] 62+ messages in thread

* [PATCH 06/12] rtc-s3c: Fix breakage introduced by S3C2443/S3C2416 support
  2012-04-17  5:46 ` Thomas Abraham
@ 2012-04-17  5:46   ` Thomas Abraham
  -1 siblings, 0 replies; 62+ messages in thread
From: Thomas Abraham @ 2012-04-17  5:46 UTC (permalink / raw)
  To: linux-samsung-soc; +Cc: kgene.kim, linux-arm-kernel, Heiko Stuebner

From: Heiko Stuebner <heiko@sntech.de>

Commits 7006ee4f (rtc-s3c: make room for more variants in devicetree block)
and 6c0a2365 (rtc-s3c: add variants for S3C2443 and S3C2416)
introduced build-failures with enabled CONFIG_USE_OF option.

This patch fixes missing "," in s3c_rtc_dt_match and wrong handling of
the of_device_id.data property.

Reported-by: Sylwester Nawrocki <s.nawrocki@samsung.com>
Signed-off-by: Heiko Stuebner <heiko@sntech.de>
---
 drivers/rtc/rtc-s3c.c |   18 +++++++++---------
 1 files changed, 9 insertions(+), 9 deletions(-)

diff --git a/drivers/rtc/rtc-s3c.c b/drivers/rtc/rtc-s3c.c
index 9ccea13..c792b6d 100644
--- a/drivers/rtc/rtc-s3c.c
+++ b/drivers/rtc/rtc-s3c.c
@@ -449,7 +449,7 @@ static inline int s3c_rtc_get_driver_data(struct platform_device *pdev)
 	if (pdev->dev.of_node) {
 		const struct of_device_id *match;
 		match = of_match_node(s3c_rtc_dt_match, pdev->dev.of_node);
-		return match->data;
+		return (int)match->data;
 	}
 #endif
 	return platform_get_device_id(pdev)->driver_data;
@@ -667,17 +667,17 @@ static int s3c_rtc_resume(struct platform_device *pdev)
 #ifdef CONFIG_OF
 static const struct of_device_id s3c_rtc_dt_match[] = {
 	{
-		.compatible = "samsung,s3c2410-rtc"
-		.data = TYPE_S3C2410,
+		.compatible = "samsung,s3c2410-rtc",
+		.data = (void *)TYPE_S3C2410,
 	}, {
-		.compatible = "samsung,s3c2416-rtc"
-		.data = TYPE_S3C2416,
+		.compatible = "samsung,s3c2416-rtc",
+		.data = (void *)TYPE_S3C2416,
 	}, {
-		.compatible = "samsung,s3c2443-rtc"
-		.data = TYPE_S3C2443,
+		.compatible = "samsung,s3c2443-rtc",
+		.data = (void *)TYPE_S3C2443,
 	}, {
-		.compatible = "samsung,s3c6410-rtc"
-		.data = TYPE_S3C64XX,
+		.compatible = "samsung,s3c6410-rtc",
+		.data = (void *)TYPE_S3C64XX,
 	},
 	{},
 };
-- 
1.6.6.rc2

^ permalink raw reply related	[flat|nested] 62+ messages in thread

* [PATCH 06/12] rtc-s3c: Fix breakage introduced by S3C2443/S3C2416 support
@ 2012-04-17  5:46   ` Thomas Abraham
  0 siblings, 0 replies; 62+ messages in thread
From: Thomas Abraham @ 2012-04-17  5:46 UTC (permalink / raw)
  To: linux-arm-kernel

From: Heiko Stuebner <heiko@sntech.de>

Commits 7006ee4f (rtc-s3c: make room for more variants in devicetree block)
and 6c0a2365 (rtc-s3c: add variants for S3C2443 and S3C2416)
introduced build-failures with enabled CONFIG_USE_OF option.

This patch fixes missing "," in s3c_rtc_dt_match and wrong handling of
the of_device_id.data property.

Reported-by: Sylwester Nawrocki <s.nawrocki@samsung.com>
Signed-off-by: Heiko Stuebner <heiko@sntech.de>
---
 drivers/rtc/rtc-s3c.c |   18 +++++++++---------
 1 files changed, 9 insertions(+), 9 deletions(-)

diff --git a/drivers/rtc/rtc-s3c.c b/drivers/rtc/rtc-s3c.c
index 9ccea13..c792b6d 100644
--- a/drivers/rtc/rtc-s3c.c
+++ b/drivers/rtc/rtc-s3c.c
@@ -449,7 +449,7 @@ static inline int s3c_rtc_get_driver_data(struct platform_device *pdev)
 	if (pdev->dev.of_node) {
 		const struct of_device_id *match;
 		match = of_match_node(s3c_rtc_dt_match, pdev->dev.of_node);
-		return match->data;
+		return (int)match->data;
 	}
 #endif
 	return platform_get_device_id(pdev)->driver_data;
@@ -667,17 +667,17 @@ static int s3c_rtc_resume(struct platform_device *pdev)
 #ifdef CONFIG_OF
 static const struct of_device_id s3c_rtc_dt_match[] = {
 	{
-		.compatible = "samsung,s3c2410-rtc"
-		.data = TYPE_S3C2410,
+		.compatible = "samsung,s3c2410-rtc",
+		.data = (void *)TYPE_S3C2410,
 	}, {
-		.compatible = "samsung,s3c2416-rtc"
-		.data = TYPE_S3C2416,
+		.compatible = "samsung,s3c2416-rtc",
+		.data = (void *)TYPE_S3C2416,
 	}, {
-		.compatible = "samsung,s3c2443-rtc"
-		.data = TYPE_S3C2443,
+		.compatible = "samsung,s3c2443-rtc",
+		.data = (void *)TYPE_S3C2443,
 	}, {
-		.compatible = "samsung,s3c6410-rtc"
-		.data = TYPE_S3C64XX,
+		.compatible = "samsung,s3c6410-rtc",
+		.data = (void *)TYPE_S3C64XX,
 	},
 	{},
 };
-- 
1.6.6.rc2

^ permalink raw reply related	[flat|nested] 62+ messages in thread

* [PATCH 07/12] ARM: Exynos5: Modify the GIC physical address for static io-mapping
  2012-04-17  5:46 ` Thomas Abraham
@ 2012-04-17  5:46   ` Thomas Abraham
  -1 siblings, 0 replies; 62+ messages in thread
From: Thomas Abraham @ 2012-04-17  5:46 UTC (permalink / raw)
  To: linux-samsung-soc; +Cc: kgene.kim, linux-arm-kernel, Changhwan Youn

From: Changhwan Youn <chaos.youn@samsung.com>

Adapt to changes in GIC physical address in rev1 of Exynos5.

Signed-off-by: Changhwan Youn <chaos.youn@samsung.com>
---
 arch/arm/mach-exynos/common.c           |    4 ++--
 arch/arm/mach-exynos/include/mach/map.h |    4 ++--
 2 files changed, 4 insertions(+), 4 deletions(-)

diff --git a/arch/arm/mach-exynos/common.c b/arch/arm/mach-exynos/common.c
index 35ac675..457d031 100644
--- a/arch/arm/mach-exynos/common.c
+++ b/arch/arm/mach-exynos/common.c
@@ -265,12 +265,12 @@ static struct map_desc exynos5_iodesc[] __initdata = {
 	}, {
 		.virtual	= (unsigned long)S5P_VA_GIC_CPU,
 		.pfn		= __phys_to_pfn(EXYNOS5_PA_GIC_CPU),
-		.length		= SZ_64K,
+		.length		= SZ_8K,
 		.type		= MT_DEVICE,
 	}, {
 		.virtual	= (unsigned long)S5P_VA_GIC_DIST,
 		.pfn		= __phys_to_pfn(EXYNOS5_PA_GIC_DIST),
-		.length		= SZ_64K,
+		.length		= SZ_4K,
 		.type		= MT_DEVICE,
 	},
 };
diff --git a/arch/arm/mach-exynos/include/mach/map.h b/arch/arm/mach-exynos/include/mach/map.h
index 0e2292d..648d59b 100644
--- a/arch/arm/mach-exynos/include/mach/map.h
+++ b/arch/arm/mach-exynos/include/mach/map.h
@@ -78,8 +78,8 @@
 
 #define EXYNOS4_PA_GIC_CPU		0x10480000
 #define EXYNOS4_PA_GIC_DIST		0x10490000
-#define EXYNOS5_PA_GIC_CPU		0x10480000
-#define EXYNOS5_PA_GIC_DIST		0x10490000
+#define EXYNOS5_PA_GIC_CPU		0x10482000
+#define EXYNOS5_PA_GIC_DIST		0x10481000
 
 #define EXYNOS4_PA_COREPERI		0x10500000
 #define EXYNOS4_PA_TWD			0x10500600
-- 
1.6.6.rc2

^ permalink raw reply related	[flat|nested] 62+ messages in thread

* [PATCH 07/12] ARM: Exynos5: Modify the GIC physical address for static io-mapping
@ 2012-04-17  5:46   ` Thomas Abraham
  0 siblings, 0 replies; 62+ messages in thread
From: Thomas Abraham @ 2012-04-17  5:46 UTC (permalink / raw)
  To: linux-arm-kernel

From: Changhwan Youn <chaos.youn@samsung.com>

Adapt to changes in GIC physical address in rev1 of Exynos5.

Signed-off-by: Changhwan Youn <chaos.youn@samsung.com>
---
 arch/arm/mach-exynos/common.c           |    4 ++--
 arch/arm/mach-exynos/include/mach/map.h |    4 ++--
 2 files changed, 4 insertions(+), 4 deletions(-)

diff --git a/arch/arm/mach-exynos/common.c b/arch/arm/mach-exynos/common.c
index 35ac675..457d031 100644
--- a/arch/arm/mach-exynos/common.c
+++ b/arch/arm/mach-exynos/common.c
@@ -265,12 +265,12 @@ static struct map_desc exynos5_iodesc[] __initdata = {
 	}, {
 		.virtual	= (unsigned long)S5P_VA_GIC_CPU,
 		.pfn		= __phys_to_pfn(EXYNOS5_PA_GIC_CPU),
-		.length		= SZ_64K,
+		.length		= SZ_8K,
 		.type		= MT_DEVICE,
 	}, {
 		.virtual	= (unsigned long)S5P_VA_GIC_DIST,
 		.pfn		= __phys_to_pfn(EXYNOS5_PA_GIC_DIST),
-		.length		= SZ_64K,
+		.length		= SZ_4K,
 		.type		= MT_DEVICE,
 	},
 };
diff --git a/arch/arm/mach-exynos/include/mach/map.h b/arch/arm/mach-exynos/include/mach/map.h
index 0e2292d..648d59b 100644
--- a/arch/arm/mach-exynos/include/mach/map.h
+++ b/arch/arm/mach-exynos/include/mach/map.h
@@ -78,8 +78,8 @@
 
 #define EXYNOS4_PA_GIC_CPU		0x10480000
 #define EXYNOS4_PA_GIC_DIST		0x10490000
-#define EXYNOS5_PA_GIC_CPU		0x10480000
-#define EXYNOS5_PA_GIC_DIST		0x10490000
+#define EXYNOS5_PA_GIC_CPU		0x10482000
+#define EXYNOS5_PA_GIC_DIST		0x10481000
 
 #define EXYNOS4_PA_COREPERI		0x10500000
 #define EXYNOS4_PA_TWD			0x10500600
-- 
1.6.6.rc2

^ permalink raw reply related	[flat|nested] 62+ messages in thread

* [PATCH 08/12] gpio/samsung: add GPC4 bank instance
  2012-04-17  5:46 ` Thomas Abraham
@ 2012-04-17  5:46   ` Thomas Abraham
  -1 siblings, 0 replies; 62+ messages in thread
From: Thomas Abraham @ 2012-04-17  5:46 UTC (permalink / raw)
  To: linux-samsung-soc; +Cc: kgene.kim, linux-arm-kernel, Sangsu Park, Grant Likely

From: Sangsu Park <sangsu4u.park@samsung.com>

Add GPC4 bank instance which is included in rev1 of Exynos5.

Cc: Grant Likely <grant.likely@secretlab.ca>
Signed-off-by: Sangsu Park <sangsu4u.park@samsung.com>
---
 arch/arm/mach-exynos/include/mach/gpio.h |    9 ++++++---
 drivers/gpio/gpio-samsung.c              |    8 ++++++++
 2 files changed, 14 insertions(+), 3 deletions(-)

diff --git a/arch/arm/mach-exynos/include/mach/gpio.h b/arch/arm/mach-exynos/include/mach/gpio.h
index d7498af..df5612b 100644
--- a/arch/arm/mach-exynos/include/mach/gpio.h
+++ b/arch/arm/mach-exynos/include/mach/gpio.h
@@ -153,10 +153,11 @@ enum exynos4_gpio_number {
 #define EXYNOS5_GPIO_B2_NR	(4)
 #define EXYNOS5_GPIO_B3_NR	(4)
 #define EXYNOS5_GPIO_C0_NR	(7)
-#define EXYNOS5_GPIO_C1_NR	(7)
+#define EXYNOS5_GPIO_C1_NR	(4)
 #define EXYNOS5_GPIO_C2_NR	(7)
 #define EXYNOS5_GPIO_C3_NR	(7)
-#define EXYNOS5_GPIO_D0_NR	(8)
+#define EXYNOS5_GPIO_C4_NR	(8)
+#define EXYNOS5_GPIO_D0_NR	(4)
 #define EXYNOS5_GPIO_D1_NR	(8)
 #define EXYNOS5_GPIO_Y0_NR	(6)
 #define EXYNOS5_GPIO_Y1_NR	(4)
@@ -199,7 +200,8 @@ enum exynos5_gpio_number {
 	EXYNOS5_GPIO_C1_START		= EXYNOS_GPIO_NEXT(EXYNOS5_GPIO_C0),
 	EXYNOS5_GPIO_C2_START		= EXYNOS_GPIO_NEXT(EXYNOS5_GPIO_C1),
 	EXYNOS5_GPIO_C3_START		= EXYNOS_GPIO_NEXT(EXYNOS5_GPIO_C2),
-	EXYNOS5_GPIO_D0_START		= EXYNOS_GPIO_NEXT(EXYNOS5_GPIO_C3),
+	EXYNOS5_GPIO_C4_START		= EXYNOS_GPIO_NEXT(EXYNOS5_GPIO_C3),
+	EXYNOS5_GPIO_D0_START		= EXYNOS_GPIO_NEXT(EXYNOS5_GPIO_C4),
 	EXYNOS5_GPIO_D1_START		= EXYNOS_GPIO_NEXT(EXYNOS5_GPIO_D0),
 	EXYNOS5_GPIO_Y0_START		= EXYNOS_GPIO_NEXT(EXYNOS5_GPIO_D1),
 	EXYNOS5_GPIO_Y1_START		= EXYNOS_GPIO_NEXT(EXYNOS5_GPIO_Y0),
@@ -242,6 +244,7 @@ enum exynos5_gpio_number {
 #define EXYNOS5_GPC1(_nr)	(EXYNOS5_GPIO_C1_START + (_nr))
 #define EXYNOS5_GPC2(_nr)	(EXYNOS5_GPIO_C2_START + (_nr))
 #define EXYNOS5_GPC3(_nr)	(EXYNOS5_GPIO_C3_START + (_nr))
+#define EXYNOS5_GPC4(_nr)	(EXYNOS5_GPIO_C4_START + (_nr))
 #define EXYNOS5_GPD0(_nr)	(EXYNOS5_GPIO_D0_START + (_nr))
 #define EXYNOS5_GPD1(_nr)	(EXYNOS5_GPIO_D1_START + (_nr))
 #define EXYNOS5_GPY0(_nr)	(EXYNOS5_GPIO_Y0_START + (_nr))
diff --git a/drivers/gpio/gpio-samsung.c b/drivers/gpio/gpio-samsung.c
index 4627787..0153bb9 100644
--- a/drivers/gpio/gpio-samsung.c
+++ b/drivers/gpio/gpio-samsung.c
@@ -2452,6 +2452,12 @@ static struct samsung_gpio_chip exynos5_gpios_1[] = {
 		},
 	}, {
 		.chip	= {
+			.base	= EXYNOS5_GPC4(0),
+			.ngpio	= EXYNOS5_GPIO_C4_NR,
+			.label	= "GPC4",
+		},
+	}, {
+		.chip	= {
 			.base	= EXYNOS5_GPD0(0),
 			.ngpio	= EXYNOS5_GPIO_D0_NR,
 			.label	= "GPD0",
@@ -2880,6 +2886,8 @@ static __init int samsung_gpiolib_init(void)
 		for (i = 0; i < 4; i++, chip++, gpx_base += 0x20)
 			chip->base = gpx_base;
 
+		exynos5_gpios_1[11].base = gpio_base1 + 0x2E0;
+
 		chip = exynos5_gpios_1;
 		nr_chips = ARRAY_SIZE(exynos5_gpios_1);
 
-- 
1.6.6.rc2

^ permalink raw reply related	[flat|nested] 62+ messages in thread

* [PATCH 08/12] gpio/samsung: add GPC4 bank instance
@ 2012-04-17  5:46   ` Thomas Abraham
  0 siblings, 0 replies; 62+ messages in thread
From: Thomas Abraham @ 2012-04-17  5:46 UTC (permalink / raw)
  To: linux-arm-kernel

From: Sangsu Park <sangsu4u.park@samsung.com>

Add GPC4 bank instance which is included in rev1 of Exynos5.

Cc: Grant Likely <grant.likely@secretlab.ca>
Signed-off-by: Sangsu Park <sangsu4u.park@samsung.com>
---
 arch/arm/mach-exynos/include/mach/gpio.h |    9 ++++++---
 drivers/gpio/gpio-samsung.c              |    8 ++++++++
 2 files changed, 14 insertions(+), 3 deletions(-)

diff --git a/arch/arm/mach-exynos/include/mach/gpio.h b/arch/arm/mach-exynos/include/mach/gpio.h
index d7498af..df5612b 100644
--- a/arch/arm/mach-exynos/include/mach/gpio.h
+++ b/arch/arm/mach-exynos/include/mach/gpio.h
@@ -153,10 +153,11 @@ enum exynos4_gpio_number {
 #define EXYNOS5_GPIO_B2_NR	(4)
 #define EXYNOS5_GPIO_B3_NR	(4)
 #define EXYNOS5_GPIO_C0_NR	(7)
-#define EXYNOS5_GPIO_C1_NR	(7)
+#define EXYNOS5_GPIO_C1_NR	(4)
 #define EXYNOS5_GPIO_C2_NR	(7)
 #define EXYNOS5_GPIO_C3_NR	(7)
-#define EXYNOS5_GPIO_D0_NR	(8)
+#define EXYNOS5_GPIO_C4_NR	(8)
+#define EXYNOS5_GPIO_D0_NR	(4)
 #define EXYNOS5_GPIO_D1_NR	(8)
 #define EXYNOS5_GPIO_Y0_NR	(6)
 #define EXYNOS5_GPIO_Y1_NR	(4)
@@ -199,7 +200,8 @@ enum exynos5_gpio_number {
 	EXYNOS5_GPIO_C1_START		= EXYNOS_GPIO_NEXT(EXYNOS5_GPIO_C0),
 	EXYNOS5_GPIO_C2_START		= EXYNOS_GPIO_NEXT(EXYNOS5_GPIO_C1),
 	EXYNOS5_GPIO_C3_START		= EXYNOS_GPIO_NEXT(EXYNOS5_GPIO_C2),
-	EXYNOS5_GPIO_D0_START		= EXYNOS_GPIO_NEXT(EXYNOS5_GPIO_C3),
+	EXYNOS5_GPIO_C4_START		= EXYNOS_GPIO_NEXT(EXYNOS5_GPIO_C3),
+	EXYNOS5_GPIO_D0_START		= EXYNOS_GPIO_NEXT(EXYNOS5_GPIO_C4),
 	EXYNOS5_GPIO_D1_START		= EXYNOS_GPIO_NEXT(EXYNOS5_GPIO_D0),
 	EXYNOS5_GPIO_Y0_START		= EXYNOS_GPIO_NEXT(EXYNOS5_GPIO_D1),
 	EXYNOS5_GPIO_Y1_START		= EXYNOS_GPIO_NEXT(EXYNOS5_GPIO_Y0),
@@ -242,6 +244,7 @@ enum exynos5_gpio_number {
 #define EXYNOS5_GPC1(_nr)	(EXYNOS5_GPIO_C1_START + (_nr))
 #define EXYNOS5_GPC2(_nr)	(EXYNOS5_GPIO_C2_START + (_nr))
 #define EXYNOS5_GPC3(_nr)	(EXYNOS5_GPIO_C3_START + (_nr))
+#define EXYNOS5_GPC4(_nr)	(EXYNOS5_GPIO_C4_START + (_nr))
 #define EXYNOS5_GPD0(_nr)	(EXYNOS5_GPIO_D0_START + (_nr))
 #define EXYNOS5_GPD1(_nr)	(EXYNOS5_GPIO_D1_START + (_nr))
 #define EXYNOS5_GPY0(_nr)	(EXYNOS5_GPIO_Y0_START + (_nr))
diff --git a/drivers/gpio/gpio-samsung.c b/drivers/gpio/gpio-samsung.c
index 4627787..0153bb9 100644
--- a/drivers/gpio/gpio-samsung.c
+++ b/drivers/gpio/gpio-samsung.c
@@ -2452,6 +2452,12 @@ static struct samsung_gpio_chip exynos5_gpios_1[] = {
 		},
 	}, {
 		.chip	= {
+			.base	= EXYNOS5_GPC4(0),
+			.ngpio	= EXYNOS5_GPIO_C4_NR,
+			.label	= "GPC4",
+		},
+	}, {
+		.chip	= {
 			.base	= EXYNOS5_GPD0(0),
 			.ngpio	= EXYNOS5_GPIO_D0_NR,
 			.label	= "GPD0",
@@ -2880,6 +2886,8 @@ static __init int samsung_gpiolib_init(void)
 		for (i = 0; i < 4; i++, chip++, gpx_base += 0x20)
 			chip->base = gpx_base;
 
+		exynos5_gpios_1[11].base = gpio_base1 + 0x2E0;
+
 		chip = exynos5_gpios_1;
 		nr_chips = ARRAY_SIZE(exynos5_gpios_1);
 
-- 
1.6.6.rc2

^ permalink raw reply related	[flat|nested] 62+ messages in thread

* [PATCH 09/12] ARM: Exynos5: Add pre-divider and fout mux clocks for bpll and mpll
  2012-04-17  5:46 ` Thomas Abraham
@ 2012-04-17  5:46   ` Thomas Abraham
  -1 siblings, 0 replies; 62+ messages in thread
From: Thomas Abraham @ 2012-04-17  5:46 UTC (permalink / raw)
  To: linux-samsung-soc; +Cc: kgene.kim, linux-arm-kernel, Kisoo Yu

From: Kisoo Yu <ksoo.yu@samsung.com>

The fout clock of BPLL and MPLL have a selectable source in rev1 of
Exynos5. The clock options are a fixed divided by 2 clock and the
output of the PLL itself. Add support for these new clock instances.

Signed-off-by: Kisoo Yu <ksoo.yu@samsung.com>
---
 arch/arm/mach-exynos/clock-exynos5.c           |   73 +++++++++++++++++++++++-
 arch/arm/mach-exynos/include/mach/regs-clock.h |    2 +
 arch/arm/plat-s5p/clock.c                      |   11 ----
 3 files changed, 74 insertions(+), 12 deletions(-)

diff --git a/arch/arm/mach-exynos/clock-exynos5.c b/arch/arm/mach-exynos/clock-exynos5.c
index 0230ba8..3aa3fed 100644
--- a/arch/arm/mach-exynos/clock-exynos5.c
+++ b/arch/arm/mach-exynos/clock-exynos5.c
@@ -165,6 +165,39 @@ static struct clksrc_clk exynos5_clk_sclk_apll = {
 	.reg_div = { .reg = EXYNOS5_CLKDIV_CPU0, .shift = 24, .size = 3 },
 };
 
+static struct clk clk_fout_bpll_div2 = {
+	.name	= "fout_bpll_div2",
+};
+
+static struct clk *exynos5_clkset_mout_bpll_fout_list[] = {
+	[0] = &clk_fout_bpll_div2,
+	[1] = &clk_fout_bpll,
+};
+
+static struct clksrc_sources exynos5_clkset_mout_bpll_fout = {
+	.sources	= exynos5_clkset_mout_bpll_fout_list,
+	.nr_sources	= ARRAY_SIZE(exynos5_clkset_mout_bpll_fout_list),
+};
+
+static struct clksrc_clk exynos5_clk_mout_bpll_fout = {
+	.clk	= {
+		.name		= "mout_bpll_fout",
+	},
+	.sources = &exynos5_clkset_mout_bpll_fout,
+	.reg_src = { .reg = EXYNOS5_PLL_DIV2_SEL, .shift = 0, .size = 1 },
+};
+
+/* Possible clock sources for BPLL Mux */
+static struct clk *clk_src_bpll_list[] = {
+	[0] = &clk_fin_bpll,
+	[1] = &exynos5_clk_mout_bpll_fout.clk,
+};
+
+struct clksrc_sources clk_src_bpll = {
+	.sources	= clk_src_bpll_list,
+	.nr_sources	= ARRAY_SIZE(clk_src_bpll_list),
+};
+
 static struct clksrc_clk exynos5_clk_mout_bpll = {
 	.clk	= {
 		.name		= "mout_bpll",
@@ -207,11 +240,43 @@ static struct clksrc_clk exynos5_clk_mout_epll = {
 	.reg_src = { .reg = EXYNOS5_CLKSRC_TOP2, .shift = 12, .size = 1 },
 };
 
+static struct clk clk_fout_mpll_div2 = {
+	.name	= "fout_mpll_div2",
+};
+
+static struct clk *exynos5_clkset_mout_mpll_fout_list[] = {
+	[0] = &clk_fout_mpll_div2,
+	[1] = &clk_fout_mpll,
+};
+
+static struct clksrc_sources exynos5_clkset_mout_mpll_fout = {
+	.sources	= exynos5_clkset_mout_mpll_fout_list,
+	.nr_sources	= ARRAY_SIZE(exynos5_clkset_mout_mpll_fout_list),
+};
+
+static struct clksrc_clk exynos5_clk_mout_mpll_fout = {
+	.clk	= {
+		.name		= "mout_mpll_fout",
+	},
+	.sources = &exynos5_clkset_mout_mpll_fout,
+	.reg_src = { .reg = EXYNOS5_PLL_DIV2_SEL, .shift = 4, .size = 1 },
+};
+
+static struct clk *exynos5_clk_src_mpll_list[] = {
+	[0] = &clk_fin_mpll,
+	[1] = &exynos5_clk_mout_mpll_fout.clk,
+};
+
+struct clksrc_sources exynos5_clk_src_mpll = {
+	.sources	= exynos5_clk_src_mpll_list,
+	.nr_sources	= ARRAY_SIZE(exynos5_clk_src_mpll_list),
+};
+
 struct clksrc_clk exynos5_clk_mout_mpll = {
 	.clk = {
 		.name		= "mout_mpll",
 	},
-	.sources = &clk_src_mpll,
+	.sources = &exynos5_clk_src_mpll,
 	.reg_src = { .reg = EXYNOS5_CLKSRC_CORE1, .shift = 8, .size = 1 },
 };
 
@@ -1033,10 +1098,12 @@ static struct clksrc_clk *exynos5_sysclks[] = {
 	&exynos5_clk_mout_apll,
 	&exynos5_clk_sclk_apll,
 	&exynos5_clk_mout_bpll,
+	&exynos5_clk_mout_bpll_fout,
 	&exynos5_clk_mout_bpll_user,
 	&exynos5_clk_mout_cpll,
 	&exynos5_clk_mout_epll,
 	&exynos5_clk_mout_mpll,
+	&exynos5_clk_mout_mpll_fout,
 	&exynos5_clk_mout_mpll_user,
 	&exynos5_clk_vpllsrc,
 	&exynos5_clk_sclk_vpll,
@@ -1101,6 +1168,8 @@ static struct clk *exynos5_clks[] __initdata = {
 	&exynos5_clk_sclk_hdmi27m,
 	&exynos5_clk_sclk_hdmiphy,
 	&clk_fout_bpll,
+	&clk_fout_bpll_div2,
+	&clk_fout_mpll_div2,
 	&clk_fout_cpll,
 	&exynos5_clk_armclk,
 };
@@ -1266,8 +1335,10 @@ void __init_or_cpufreq exynos5_setup_clocks(void)
 
 	clk_fout_apll.ops = &exynos5_fout_apll_ops;
 	clk_fout_bpll.rate = bpll;
+	clk_fout_bpll_div2.rate = bpll >> 1;
 	clk_fout_cpll.rate = cpll;
 	clk_fout_mpll.rate = mpll;
+	clk_fout_mpll_div2.rate = mpll >> 1;
 	clk_fout_epll.rate = epll;
 	clk_fout_vpll.rate = vpll;
 
diff --git a/arch/arm/mach-exynos/include/mach/regs-clock.h b/arch/arm/mach-exynos/include/mach/regs-clock.h
index dba83e9..834ab17 100644
--- a/arch/arm/mach-exynos/include/mach/regs-clock.h
+++ b/arch/arm/mach-exynos/include/mach/regs-clock.h
@@ -318,6 +318,8 @@
 #define EXYNOS5_CLKGATE_IP_PERIS		EXYNOS_CLKREG(0x10960)
 #define EXYNOS5_CLKGATE_BLOCK			EXYNOS_CLKREG(0x10980)
 
+#define EXYNOS5_PLL_DIV2_SEL			EXYNOS_CLKREG(0x20A24)
+
 #define EXYNOS5_BPLL_CON0			EXYNOS_CLKREG(0x20110)
 #define EXYNOS5_CLKSRC_CDREX			EXYNOS_CLKREG(0x20200)
 #define EXYNOS5_CLKDIV_CDREX			EXYNOS_CLKREG(0x20500)
diff --git a/arch/arm/plat-s5p/clock.c b/arch/arm/plat-s5p/clock.c
index f68a9bb..bea0907 100644
--- a/arch/arm/plat-s5p/clock.c
+++ b/arch/arm/plat-s5p/clock.c
@@ -115,17 +115,6 @@ struct clksrc_sources clk_src_apll = {
 	.nr_sources	= ARRAY_SIZE(clk_src_apll_list),
 };
 
-/* Possible clock sources for BPLL Mux */
-static struct clk *clk_src_bpll_list[] = {
-	[0] = &clk_fin_bpll,
-	[1] = &clk_fout_bpll,
-};
-
-struct clksrc_sources clk_src_bpll = {
-	.sources	= clk_src_bpll_list,
-	.nr_sources	= ARRAY_SIZE(clk_src_bpll_list),
-};
-
 /* Possible clock sources for CPLL Mux */
 static struct clk *clk_src_cpll_list[] = {
 	[0] = &clk_fin_cpll,
-- 
1.6.6.rc2

^ permalink raw reply related	[flat|nested] 62+ messages in thread

* [PATCH 09/12] ARM: Exynos5: Add pre-divider and fout mux clocks for bpll and mpll
@ 2012-04-17  5:46   ` Thomas Abraham
  0 siblings, 0 replies; 62+ messages in thread
From: Thomas Abraham @ 2012-04-17  5:46 UTC (permalink / raw)
  To: linux-arm-kernel

From: Kisoo Yu <ksoo.yu@samsung.com>

The fout clock of BPLL and MPLL have a selectable source in rev1 of
Exynos5. The clock options are a fixed divided by 2 clock and the
output of the PLL itself. Add support for these new clock instances.

Signed-off-by: Kisoo Yu <ksoo.yu@samsung.com>
---
 arch/arm/mach-exynos/clock-exynos5.c           |   73 +++++++++++++++++++++++-
 arch/arm/mach-exynos/include/mach/regs-clock.h |    2 +
 arch/arm/plat-s5p/clock.c                      |   11 ----
 3 files changed, 74 insertions(+), 12 deletions(-)

diff --git a/arch/arm/mach-exynos/clock-exynos5.c b/arch/arm/mach-exynos/clock-exynos5.c
index 0230ba8..3aa3fed 100644
--- a/arch/arm/mach-exynos/clock-exynos5.c
+++ b/arch/arm/mach-exynos/clock-exynos5.c
@@ -165,6 +165,39 @@ static struct clksrc_clk exynos5_clk_sclk_apll = {
 	.reg_div = { .reg = EXYNOS5_CLKDIV_CPU0, .shift = 24, .size = 3 },
 };
 
+static struct clk clk_fout_bpll_div2 = {
+	.name	= "fout_bpll_div2",
+};
+
+static struct clk *exynos5_clkset_mout_bpll_fout_list[] = {
+	[0] = &clk_fout_bpll_div2,
+	[1] = &clk_fout_bpll,
+};
+
+static struct clksrc_sources exynos5_clkset_mout_bpll_fout = {
+	.sources	= exynos5_clkset_mout_bpll_fout_list,
+	.nr_sources	= ARRAY_SIZE(exynos5_clkset_mout_bpll_fout_list),
+};
+
+static struct clksrc_clk exynos5_clk_mout_bpll_fout = {
+	.clk	= {
+		.name		= "mout_bpll_fout",
+	},
+	.sources = &exynos5_clkset_mout_bpll_fout,
+	.reg_src = { .reg = EXYNOS5_PLL_DIV2_SEL, .shift = 0, .size = 1 },
+};
+
+/* Possible clock sources for BPLL Mux */
+static struct clk *clk_src_bpll_list[] = {
+	[0] = &clk_fin_bpll,
+	[1] = &exynos5_clk_mout_bpll_fout.clk,
+};
+
+struct clksrc_sources clk_src_bpll = {
+	.sources	= clk_src_bpll_list,
+	.nr_sources	= ARRAY_SIZE(clk_src_bpll_list),
+};
+
 static struct clksrc_clk exynos5_clk_mout_bpll = {
 	.clk	= {
 		.name		= "mout_bpll",
@@ -207,11 +240,43 @@ static struct clksrc_clk exynos5_clk_mout_epll = {
 	.reg_src = { .reg = EXYNOS5_CLKSRC_TOP2, .shift = 12, .size = 1 },
 };
 
+static struct clk clk_fout_mpll_div2 = {
+	.name	= "fout_mpll_div2",
+};
+
+static struct clk *exynos5_clkset_mout_mpll_fout_list[] = {
+	[0] = &clk_fout_mpll_div2,
+	[1] = &clk_fout_mpll,
+};
+
+static struct clksrc_sources exynos5_clkset_mout_mpll_fout = {
+	.sources	= exynos5_clkset_mout_mpll_fout_list,
+	.nr_sources	= ARRAY_SIZE(exynos5_clkset_mout_mpll_fout_list),
+};
+
+static struct clksrc_clk exynos5_clk_mout_mpll_fout = {
+	.clk	= {
+		.name		= "mout_mpll_fout",
+	},
+	.sources = &exynos5_clkset_mout_mpll_fout,
+	.reg_src = { .reg = EXYNOS5_PLL_DIV2_SEL, .shift = 4, .size = 1 },
+};
+
+static struct clk *exynos5_clk_src_mpll_list[] = {
+	[0] = &clk_fin_mpll,
+	[1] = &exynos5_clk_mout_mpll_fout.clk,
+};
+
+struct clksrc_sources exynos5_clk_src_mpll = {
+	.sources	= exynos5_clk_src_mpll_list,
+	.nr_sources	= ARRAY_SIZE(exynos5_clk_src_mpll_list),
+};
+
 struct clksrc_clk exynos5_clk_mout_mpll = {
 	.clk = {
 		.name		= "mout_mpll",
 	},
-	.sources = &clk_src_mpll,
+	.sources = &exynos5_clk_src_mpll,
 	.reg_src = { .reg = EXYNOS5_CLKSRC_CORE1, .shift = 8, .size = 1 },
 };
 
@@ -1033,10 +1098,12 @@ static struct clksrc_clk *exynos5_sysclks[] = {
 	&exynos5_clk_mout_apll,
 	&exynos5_clk_sclk_apll,
 	&exynos5_clk_mout_bpll,
+	&exynos5_clk_mout_bpll_fout,
 	&exynos5_clk_mout_bpll_user,
 	&exynos5_clk_mout_cpll,
 	&exynos5_clk_mout_epll,
 	&exynos5_clk_mout_mpll,
+	&exynos5_clk_mout_mpll_fout,
 	&exynos5_clk_mout_mpll_user,
 	&exynos5_clk_vpllsrc,
 	&exynos5_clk_sclk_vpll,
@@ -1101,6 +1168,8 @@ static struct clk *exynos5_clks[] __initdata = {
 	&exynos5_clk_sclk_hdmi27m,
 	&exynos5_clk_sclk_hdmiphy,
 	&clk_fout_bpll,
+	&clk_fout_bpll_div2,
+	&clk_fout_mpll_div2,
 	&clk_fout_cpll,
 	&exynos5_clk_armclk,
 };
@@ -1266,8 +1335,10 @@ void __init_or_cpufreq exynos5_setup_clocks(void)
 
 	clk_fout_apll.ops = &exynos5_fout_apll_ops;
 	clk_fout_bpll.rate = bpll;
+	clk_fout_bpll_div2.rate = bpll >> 1;
 	clk_fout_cpll.rate = cpll;
 	clk_fout_mpll.rate = mpll;
+	clk_fout_mpll_div2.rate = mpll >> 1;
 	clk_fout_epll.rate = epll;
 	clk_fout_vpll.rate = vpll;
 
diff --git a/arch/arm/mach-exynos/include/mach/regs-clock.h b/arch/arm/mach-exynos/include/mach/regs-clock.h
index dba83e9..834ab17 100644
--- a/arch/arm/mach-exynos/include/mach/regs-clock.h
+++ b/arch/arm/mach-exynos/include/mach/regs-clock.h
@@ -318,6 +318,8 @@
 #define EXYNOS5_CLKGATE_IP_PERIS		EXYNOS_CLKREG(0x10960)
 #define EXYNOS5_CLKGATE_BLOCK			EXYNOS_CLKREG(0x10980)
 
+#define EXYNOS5_PLL_DIV2_SEL			EXYNOS_CLKREG(0x20A24)
+
 #define EXYNOS5_BPLL_CON0			EXYNOS_CLKREG(0x20110)
 #define EXYNOS5_CLKSRC_CDREX			EXYNOS_CLKREG(0x20200)
 #define EXYNOS5_CLKDIV_CDREX			EXYNOS_CLKREG(0x20500)
diff --git a/arch/arm/plat-s5p/clock.c b/arch/arm/plat-s5p/clock.c
index f68a9bb..bea0907 100644
--- a/arch/arm/plat-s5p/clock.c
+++ b/arch/arm/plat-s5p/clock.c
@@ -115,17 +115,6 @@ struct clksrc_sources clk_src_apll = {
 	.nr_sources	= ARRAY_SIZE(clk_src_apll_list),
 };
 
-/* Possible clock sources for BPLL Mux */
-static struct clk *clk_src_bpll_list[] = {
-	[0] = &clk_fin_bpll,
-	[1] = &clk_fout_bpll,
-};
-
-struct clksrc_sources clk_src_bpll = {
-	.sources	= clk_src_bpll_list,
-	.nr_sources	= ARRAY_SIZE(clk_src_bpll_list),
-};
-
 /* Possible clock sources for CPLL Mux */
 static struct clk *clk_src_cpll_list[] = {
 	[0] = &clk_fin_cpll,
-- 
1.6.6.rc2

^ permalink raw reply related	[flat|nested] 62+ messages in thread

* [PATCH 10/12] ARM: Exynos: Redefine IRQ_MCT_L0,1 definition
  2012-04-17  5:46 ` Thomas Abraham
@ 2012-04-17  5:46   ` Thomas Abraham
  -1 siblings, 0 replies; 62+ messages in thread
From: Thomas Abraham @ 2012-04-17  5:46 UTC (permalink / raw)
  To: linux-samsung-soc; +Cc: kgene.kim, linux-arm-kernel, Changhwan Youn

From: Changhwan Youn <chaos.youn@samsung.com>

Redefine IRQ_MCT_L0,1 irq definition as it is changed in rev1 of Exynos5.

Signed-off-by: Changhwan Youn <chaos.youn@samsung.com>
---
 arch/arm/mach-exynos/include/mach/irqs.h |    4 ++--
 arch/arm/mach-exynos/mct.c               |   17 +++++++++++------
 2 files changed, 13 insertions(+), 8 deletions(-)

diff --git a/arch/arm/mach-exynos/include/mach/irqs.h b/arch/arm/mach-exynos/include/mach/irqs.h
index 1161675..86e75f5 100644
--- a/arch/arm/mach-exynos/include/mach/irqs.h
+++ b/arch/arm/mach-exynos/include/mach/irqs.h
@@ -320,6 +320,8 @@
 #define EXYNOS5_IRQ_SATA		IRQ_SPI(115)
 #define EXYNOS5_IRQ_NFCON		IRQ_SPI(116)
 
+#define EXYNOS5_IRQ_MCT_L0		IRQ_SPI(120)
+#define EXYNOS5_IRQ_MCT_L1		IRQ_SPI(121)
 #define EXYNOS5_IRQ_MMC44		IRQ_SPI(123)
 #define EXYNOS5_IRQ_MDMA1		IRQ_SPI(124)
 #define EXYNOS5_IRQ_FIMC_LITE0		IRQ_SPI(125)
@@ -399,8 +401,6 @@
 #define EXYNOS5_IRQ_FIMD1_SYSTEM	COMBINER_IRQ(18, 6)
 
 #define EXYNOS5_IRQ_EINT0		COMBINER_IRQ(23, 0)
-#define EXYNOS5_IRQ_MCT_L0		COMBINER_IRQ(23, 1)
-#define EXYNOS5_IRQ_MCT_L1		COMBINER_IRQ(23, 2)
 #define EXYNOS5_IRQ_MCT_G0		COMBINER_IRQ(23, 3)
 #define EXYNOS5_IRQ_MCT_G1		COMBINER_IRQ(23, 4)
 #define EXYNOS5_IRQ_MCT_G2		COMBINER_IRQ(23, 5)
diff --git a/arch/arm/mach-exynos/mct.c b/arch/arm/mach-exynos/mct.c
index 897d9a9..b601fb8 100644
--- a/arch/arm/mach-exynos/mct.c
+++ b/arch/arm/mach-exynos/mct.c
@@ -388,6 +388,7 @@ static int __cpuinit exynos4_local_timer_setup(struct clock_event_device *evt)
 {
 	struct mct_clock_event_device *mevt;
 	unsigned int cpu = smp_processor_id();
+	int mct_lx_irq;
 
 	mevt = this_cpu_ptr(&percpu_mct_tick);
 	mevt->evt = evt;
@@ -414,14 +415,18 @@ static int __cpuinit exynos4_local_timer_setup(struct clock_event_device *evt)
 
 	if (mct_int_type == MCT_INT_SPI) {
 		if (cpu == 0) {
+			mct_lx_irq = soc_is_exynos4210() ? EXYNOS4_IRQ_MCT_L0 :
+						EXYNOS5_IRQ_MCT_L0;
 			mct_tick0_event_irq.dev_id = mevt;
-			evt->irq = EXYNOS4_IRQ_MCT_L0;
-			setup_irq(EXYNOS4_IRQ_MCT_L0, &mct_tick0_event_irq);
+			evt->irq = mct_lx_irq;
+			setup_irq(mct_lx_irq, &mct_tick0_event_irq);
 		} else {
+			mct_lx_irq = soc_is_exynos4210() ? EXYNOS4_IRQ_MCT_L1 :
+						EXYNOS5_IRQ_MCT_L1;
 			mct_tick1_event_irq.dev_id = mevt;
-			evt->irq = EXYNOS4_IRQ_MCT_L1;
-			setup_irq(EXYNOS4_IRQ_MCT_L1, &mct_tick1_event_irq);
-			irq_set_affinity(EXYNOS4_IRQ_MCT_L1, cpumask_of(1));
+			evt->irq = mct_lx_irq;
+			setup_irq(mct_lx_irq, &mct_tick1_event_irq);
+			irq_set_affinity(mct_lx_irq, cpumask_of(1));
 		}
 	} else {
 		enable_percpu_irq(EXYNOS_IRQ_MCT_LOCALTIMER, 0);
@@ -473,7 +478,7 @@ static void __init exynos4_timer_resources(void)
 
 static void __init exynos4_timer_init(void)
 {
-	if (soc_is_exynos4210())
+	if ((soc_is_exynos4210()) || (soc_is_exynos5250()))
 		mct_int_type = MCT_INT_SPI;
 	else
 		mct_int_type = MCT_INT_PPI;
-- 
1.6.6.rc2

^ permalink raw reply related	[flat|nested] 62+ messages in thread

* [PATCH 10/12] ARM: Exynos: Redefine IRQ_MCT_L0,1 definition
@ 2012-04-17  5:46   ` Thomas Abraham
  0 siblings, 0 replies; 62+ messages in thread
From: Thomas Abraham @ 2012-04-17  5:46 UTC (permalink / raw)
  To: linux-arm-kernel

From: Changhwan Youn <chaos.youn@samsung.com>

Redefine IRQ_MCT_L0,1 irq definition as it is changed in rev1 of Exynos5.

Signed-off-by: Changhwan Youn <chaos.youn@samsung.com>
---
 arch/arm/mach-exynos/include/mach/irqs.h |    4 ++--
 arch/arm/mach-exynos/mct.c               |   17 +++++++++++------
 2 files changed, 13 insertions(+), 8 deletions(-)

diff --git a/arch/arm/mach-exynos/include/mach/irqs.h b/arch/arm/mach-exynos/include/mach/irqs.h
index 1161675..86e75f5 100644
--- a/arch/arm/mach-exynos/include/mach/irqs.h
+++ b/arch/arm/mach-exynos/include/mach/irqs.h
@@ -320,6 +320,8 @@
 #define EXYNOS5_IRQ_SATA		IRQ_SPI(115)
 #define EXYNOS5_IRQ_NFCON		IRQ_SPI(116)
 
+#define EXYNOS5_IRQ_MCT_L0		IRQ_SPI(120)
+#define EXYNOS5_IRQ_MCT_L1		IRQ_SPI(121)
 #define EXYNOS5_IRQ_MMC44		IRQ_SPI(123)
 #define EXYNOS5_IRQ_MDMA1		IRQ_SPI(124)
 #define EXYNOS5_IRQ_FIMC_LITE0		IRQ_SPI(125)
@@ -399,8 +401,6 @@
 #define EXYNOS5_IRQ_FIMD1_SYSTEM	COMBINER_IRQ(18, 6)
 
 #define EXYNOS5_IRQ_EINT0		COMBINER_IRQ(23, 0)
-#define EXYNOS5_IRQ_MCT_L0		COMBINER_IRQ(23, 1)
-#define EXYNOS5_IRQ_MCT_L1		COMBINER_IRQ(23, 2)
 #define EXYNOS5_IRQ_MCT_G0		COMBINER_IRQ(23, 3)
 #define EXYNOS5_IRQ_MCT_G1		COMBINER_IRQ(23, 4)
 #define EXYNOS5_IRQ_MCT_G2		COMBINER_IRQ(23, 5)
diff --git a/arch/arm/mach-exynos/mct.c b/arch/arm/mach-exynos/mct.c
index 897d9a9..b601fb8 100644
--- a/arch/arm/mach-exynos/mct.c
+++ b/arch/arm/mach-exynos/mct.c
@@ -388,6 +388,7 @@ static int __cpuinit exynos4_local_timer_setup(struct clock_event_device *evt)
 {
 	struct mct_clock_event_device *mevt;
 	unsigned int cpu = smp_processor_id();
+	int mct_lx_irq;
 
 	mevt = this_cpu_ptr(&percpu_mct_tick);
 	mevt->evt = evt;
@@ -414,14 +415,18 @@ static int __cpuinit exynos4_local_timer_setup(struct clock_event_device *evt)
 
 	if (mct_int_type == MCT_INT_SPI) {
 		if (cpu == 0) {
+			mct_lx_irq = soc_is_exynos4210() ? EXYNOS4_IRQ_MCT_L0 :
+						EXYNOS5_IRQ_MCT_L0;
 			mct_tick0_event_irq.dev_id = mevt;
-			evt->irq = EXYNOS4_IRQ_MCT_L0;
-			setup_irq(EXYNOS4_IRQ_MCT_L0, &mct_tick0_event_irq);
+			evt->irq = mct_lx_irq;
+			setup_irq(mct_lx_irq, &mct_tick0_event_irq);
 		} else {
+			mct_lx_irq = soc_is_exynos4210() ? EXYNOS4_IRQ_MCT_L1 :
+						EXYNOS5_IRQ_MCT_L1;
 			mct_tick1_event_irq.dev_id = mevt;
-			evt->irq = EXYNOS4_IRQ_MCT_L1;
-			setup_irq(EXYNOS4_IRQ_MCT_L1, &mct_tick1_event_irq);
-			irq_set_affinity(EXYNOS4_IRQ_MCT_L1, cpumask_of(1));
+			evt->irq = mct_lx_irq;
+			setup_irq(mct_lx_irq, &mct_tick1_event_irq);
+			irq_set_affinity(mct_lx_irq, cpumask_of(1));
 		}
 	} else {
 		enable_percpu_irq(EXYNOS_IRQ_MCT_LOCALTIMER, 0);
@@ -473,7 +478,7 @@ static void __init exynos4_timer_resources(void)
 
 static void __init exynos4_timer_init(void)
 {
-	if (soc_is_exynos4210())
+	if ((soc_is_exynos4210()) || (soc_is_exynos5250()))
 		mct_int_type = MCT_INT_SPI;
 	else
 		mct_int_type = MCT_INT_PPI;
-- 
1.6.6.rc2

^ permalink raw reply related	[flat|nested] 62+ messages in thread

* [PATCH 11/12] ARM: Exynos5: Update device tree source files
  2012-04-17  5:46 ` Thomas Abraham
@ 2012-04-17  5:46   ` Thomas Abraham
  -1 siblings, 0 replies; 62+ messages in thread
From: Thomas Abraham @ 2012-04-17  5:46 UTC (permalink / raw)
  To: linux-samsung-soc; +Cc: kgene.kim, linux-arm-kernel

Updated Exynos5 device tree source files to reflect changes in rev1 of
Exynos5 SoC. This includes new additions to the Exynos5 dtsi and SMDK5250 dts
files and few minor fixes.

Signed-off-by: Thomas Abraham <thomas.abraham@linaro.org>
---
 arch/arm/boot/dts/exynos5250-smdk5250.dts |   52 +++++++++++++++++++++++++++++
 arch/arm/boot/dts/exynos5250.dtsi         |   44 +++++++-----------------
 2 files changed, 65 insertions(+), 31 deletions(-)

diff --git a/arch/arm/boot/dts/exynos5250-smdk5250.dts b/arch/arm/boot/dts/exynos5250-smdk5250.dts
index 399d17b..bcc4b89 100644
--- a/arch/arm/boot/dts/exynos5250-smdk5250.dts
+++ b/arch/arm/boot/dts/exynos5250-smdk5250.dts
@@ -23,4 +23,56 @@
 	chosen {
 		bootargs = "root=/dev/ram0 rw ramdisk=8192 console=ttySAC1,115200";
 	};
+
+	i2c@12C60000 {
+		#address-cells = <1>;
+		#size-cells = <0>;
+		samsung,i2c-sda-delay = <100>;
+		samsung,i2c-max-bus-freq = <20000>;
+		gpios = <&gpb3 0 2 3 0>,
+			<&gpb3 1 2 3 0>;
+
+		eeprom@50 {
+			compatible = "samsung,s524ad0xd1";
+			reg = <0x50>;
+		};
+	};
+
+	i2c@12C70000 {
+		#address-cells = <1>;
+		#size-cells = <0>;
+		samsung,i2c-sda-delay = <100>;
+		samsung,i2c-max-bus-freq = <20000>;
+		gpios = <&gpb3 2 2 3 0>,
+			<&gpb3 3 2 3 0>;
+
+		eeprom@51 {
+			compatible = "samsung,s524ad0xd1";
+			reg = <0x51>;
+		};
+	};
+
+	i2c@12C80000 {
+		status = "disabled";
+	};
+
+	i2c@12C90000 {
+		status = "disabled";
+	};
+
+	i2c@12CA0000 {
+		status = "disabled";
+	};
+
+	i2c@12CB0000 {
+		status = "disabled";
+	};
+
+	i2c@12CC0000 {
+		status = "disabled";
+	};
+
+	i2c@12CD0000 {
+		status = "disabled";
+	};
 };
diff --git a/arch/arm/boot/dts/exynos5250.dtsi b/arch/arm/boot/dts/exynos5250.dtsi
index dfc4335..76b7dba 100644
--- a/arch/arm/boot/dts/exynos5250.dtsi
+++ b/arch/arm/boot/dts/exynos5250.dtsi
@@ -23,11 +23,11 @@
 	compatible = "samsung,exynos5250";
 	interrupt-parent = <&gic>;
 
-	gic:interrupt-controller@10490000 {
+	gic:interrupt-controller@10481000 {
 		compatible = "arm,cortex-a9-gic";
 		#interrupt-cells = <3>;
 		interrupt-controller;
-		reg = <0x10490000 0x1000>, <0x10480000 0x100>;
+		reg = <0x10481000 0x1000>, <0x10482000 0x2000>;
 	};
 
 	watchdog {
@@ -42,30 +42,6 @@
 		interrupts = <0 43 0>, <0 44 0>;
 	};
 
-	sdhci@12200000 {
-		compatible = "samsung,exynos4210-sdhci";
-		reg = <0x12200000 0x100>;
-		interrupts = <0 75 0>;
-	};
-
-	sdhci@12210000 {
-		compatible = "samsung,exynos4210-sdhci";
-		reg = <0x12210000 0x100>;
-		interrupts = <0 76 0>;
-	};
-
-	sdhci@12220000 {
-		compatible = "samsung,exynos4210-sdhci";
-		reg = <0x12220000 0x100>;
-		interrupts = <0 77 0>;
-	};
-
-	sdhci@12230000 {
-		compatible = "samsung,exynos4210-sdhci";
-		reg = <0x12230000 0x100>;
-		interrupts = <0 78 0>;
-	};
-
 	serial@12C00000 {
 		compatible = "samsung,exynos4210-uart";
 		reg = <0x12C00000 0x100>;
@@ -157,13 +133,13 @@
 			interrupts = <0 35 0>;
 		};
 
-		mdma0: pdma@10800000 {
+		mdma0: mdma@10800000 {
 			compatible = "arm,pl330", "arm,primecell";
 			reg = <0x10800000 0x1000>;
 			interrupts = <0 33 0>;
 		};
 
-		mdma1: pdma@11C10000 {
+		mdma1: mdma@11C10000 {
 			compatible = "arm,pl330", "arm,primecell";
 			reg = <0x11C10000 0x1000>;
 			interrupts = <0 124 0>;
@@ -242,6 +218,12 @@
 			#gpio-cells = <4>;
 		};
 
+		gpc4: gpio-controller@114002E0 {
+			compatible = "samsung,exynos4-gpio";
+			reg = <0x114002E0 0x20>;
+			#gpio-cells = <4>;
+		};
+
 		gpd0: gpio-controller@11400160 {
 			compatible = "samsung,exynos4-gpio";
 			reg = <0x11400160 0x20>;
@@ -388,19 +370,19 @@
 
 		gpv2: gpio-controller@10D10040 {
 			compatible = "samsung,exynos4-gpio";
-			reg = <0x10D10040 0x20>;
+			reg = <0x10D10060 0x20>;
 			#gpio-cells = <4>;
 		};
 
 		gpv3: gpio-controller@10D10060 {
 			compatible = "samsung,exynos4-gpio";
-			reg = <0x10D10060 0x20>;
+			reg = <0x10D10080 0x20>;
 			#gpio-cells = <4>;
 		};
 
 		gpv4: gpio-controller@10D10080 {
 			compatible = "samsung,exynos4-gpio";
-			reg = <0x10D10080 0x20>;
+			reg = <0x10D100C0 0x20>;
 			#gpio-cells = <4>;
 		};
 
-- 
1.6.6.rc2

^ permalink raw reply related	[flat|nested] 62+ messages in thread

* [PATCH 11/12] ARM: Exynos5: Update device tree source files
@ 2012-04-17  5:46   ` Thomas Abraham
  0 siblings, 0 replies; 62+ messages in thread
From: Thomas Abraham @ 2012-04-17  5:46 UTC (permalink / raw)
  To: linux-arm-kernel

Updated Exynos5 device tree source files to reflect changes in rev1 of
Exynos5 SoC. This includes new additions to the Exynos5 dtsi and SMDK5250 dts
files and few minor fixes.

Signed-off-by: Thomas Abraham <thomas.abraham@linaro.org>
---
 arch/arm/boot/dts/exynos5250-smdk5250.dts |   52 +++++++++++++++++++++++++++++
 arch/arm/boot/dts/exynos5250.dtsi         |   44 +++++++-----------------
 2 files changed, 65 insertions(+), 31 deletions(-)

diff --git a/arch/arm/boot/dts/exynos5250-smdk5250.dts b/arch/arm/boot/dts/exynos5250-smdk5250.dts
index 399d17b..bcc4b89 100644
--- a/arch/arm/boot/dts/exynos5250-smdk5250.dts
+++ b/arch/arm/boot/dts/exynos5250-smdk5250.dts
@@ -23,4 +23,56 @@
 	chosen {
 		bootargs = "root=/dev/ram0 rw ramdisk=8192 console=ttySAC1,115200";
 	};
+
+	i2c at 12C60000 {
+		#address-cells = <1>;
+		#size-cells = <0>;
+		samsung,i2c-sda-delay = <100>;
+		samsung,i2c-max-bus-freq = <20000>;
+		gpios = <&gpb3 0 2 3 0>,
+			<&gpb3 1 2 3 0>;
+
+		eeprom at 50 {
+			compatible = "samsung,s524ad0xd1";
+			reg = <0x50>;
+		};
+	};
+
+	i2c at 12C70000 {
+		#address-cells = <1>;
+		#size-cells = <0>;
+		samsung,i2c-sda-delay = <100>;
+		samsung,i2c-max-bus-freq = <20000>;
+		gpios = <&gpb3 2 2 3 0>,
+			<&gpb3 3 2 3 0>;
+
+		eeprom at 51 {
+			compatible = "samsung,s524ad0xd1";
+			reg = <0x51>;
+		};
+	};
+
+	i2c at 12C80000 {
+		status = "disabled";
+	};
+
+	i2c at 12C90000 {
+		status = "disabled";
+	};
+
+	i2c at 12CA0000 {
+		status = "disabled";
+	};
+
+	i2c at 12CB0000 {
+		status = "disabled";
+	};
+
+	i2c at 12CC0000 {
+		status = "disabled";
+	};
+
+	i2c at 12CD0000 {
+		status = "disabled";
+	};
 };
diff --git a/arch/arm/boot/dts/exynos5250.dtsi b/arch/arm/boot/dts/exynos5250.dtsi
index dfc4335..76b7dba 100644
--- a/arch/arm/boot/dts/exynos5250.dtsi
+++ b/arch/arm/boot/dts/exynos5250.dtsi
@@ -23,11 +23,11 @@
 	compatible = "samsung,exynos5250";
 	interrupt-parent = <&gic>;
 
-	gic:interrupt-controller at 10490000 {
+	gic:interrupt-controller at 10481000 {
 		compatible = "arm,cortex-a9-gic";
 		#interrupt-cells = <3>;
 		interrupt-controller;
-		reg = <0x10490000 0x1000>, <0x10480000 0x100>;
+		reg = <0x10481000 0x1000>, <0x10482000 0x2000>;
 	};
 
 	watchdog {
@@ -42,30 +42,6 @@
 		interrupts = <0 43 0>, <0 44 0>;
 	};
 
-	sdhci at 12200000 {
-		compatible = "samsung,exynos4210-sdhci";
-		reg = <0x12200000 0x100>;
-		interrupts = <0 75 0>;
-	};
-
-	sdhci at 12210000 {
-		compatible = "samsung,exynos4210-sdhci";
-		reg = <0x12210000 0x100>;
-		interrupts = <0 76 0>;
-	};
-
-	sdhci at 12220000 {
-		compatible = "samsung,exynos4210-sdhci";
-		reg = <0x12220000 0x100>;
-		interrupts = <0 77 0>;
-	};
-
-	sdhci at 12230000 {
-		compatible = "samsung,exynos4210-sdhci";
-		reg = <0x12230000 0x100>;
-		interrupts = <0 78 0>;
-	};
-
 	serial at 12C00000 {
 		compatible = "samsung,exynos4210-uart";
 		reg = <0x12C00000 0x100>;
@@ -157,13 +133,13 @@
 			interrupts = <0 35 0>;
 		};
 
-		mdma0: pdma at 10800000 {
+		mdma0: mdma at 10800000 {
 			compatible = "arm,pl330", "arm,primecell";
 			reg = <0x10800000 0x1000>;
 			interrupts = <0 33 0>;
 		};
 
-		mdma1: pdma at 11C10000 {
+		mdma1: mdma at 11C10000 {
 			compatible = "arm,pl330", "arm,primecell";
 			reg = <0x11C10000 0x1000>;
 			interrupts = <0 124 0>;
@@ -242,6 +218,12 @@
 			#gpio-cells = <4>;
 		};
 
+		gpc4: gpio-controller at 114002E0 {
+			compatible = "samsung,exynos4-gpio";
+			reg = <0x114002E0 0x20>;
+			#gpio-cells = <4>;
+		};
+
 		gpd0: gpio-controller at 11400160 {
 			compatible = "samsung,exynos4-gpio";
 			reg = <0x11400160 0x20>;
@@ -388,19 +370,19 @@
 
 		gpv2: gpio-controller at 10D10040 {
 			compatible = "samsung,exynos4-gpio";
-			reg = <0x10D10040 0x20>;
+			reg = <0x10D10060 0x20>;
 			#gpio-cells = <4>;
 		};
 
 		gpv3: gpio-controller at 10D10060 {
 			compatible = "samsung,exynos4-gpio";
-			reg = <0x10D10060 0x20>;
+			reg = <0x10D10080 0x20>;
 			#gpio-cells = <4>;
 		};
 
 		gpv4: gpio-controller at 10D10080 {
 			compatible = "samsung,exynos4-gpio";
-			reg = <0x10D10080 0x20>;
+			reg = <0x10D100C0 0x20>;
 			#gpio-cells = <4>;
 		};
 
-- 
1.6.6.rc2

^ permalink raw reply related	[flat|nested] 62+ messages in thread

* [PATCH 12/12] ARM: Exynos5: Update device tree enabled machine file
  2012-04-17  5:46 ` Thomas Abraham
@ 2012-04-17  5:46   ` Thomas Abraham
  -1 siblings, 0 replies; 62+ messages in thread
From: Thomas Abraham @ 2012-04-17  5:46 UTC (permalink / raw)
  To: linux-samsung-soc; +Cc: kgene.kim, linux-arm-kernel

Add AUXDATA for i2c and MDMA controllers of Exynos5.

Signed-off-by: Thomas Abraham <thomas.abraham@linaro.org>
---
 arch/arm/mach-exynos/mach-exynos5-dt.c |    7 ++++++-
 1 files changed, 6 insertions(+), 1 deletions(-)

diff --git a/arch/arm/mach-exynos/mach-exynos5-dt.c b/arch/arm/mach-exynos/mach-exynos5-dt.c
index 4711c89..8adc061 100644
--- a/arch/arm/mach-exynos/mach-exynos5-dt.c
+++ b/arch/arm/mach-exynos/mach-exynos5-dt.c
@@ -43,9 +43,14 @@ static const struct of_dev_auxdata exynos5250_auxdata_lookup[] __initconst = {
 				"exynos4210-uart.2", NULL),
 	OF_DEV_AUXDATA("samsung,exynos4210-uart", EXYNOS5_PA_UART3,
 				"exynos4210-uart.3", NULL),
+	OF_DEV_AUXDATA("samsung,s3c2440-i2c", EXYNOS5_PA_IIC(0),
+				"s3c2440-i2c.0", NULL),
+	OF_DEV_AUXDATA("samsung,s3c2440-i2c", EXYNOS5_PA_IIC(1),
+				"s3c2440-i2c.1", NULL),
 	OF_DEV_AUXDATA("arm,pl330", EXYNOS5_PA_PDMA0, "dma-pl330.0", NULL),
 	OF_DEV_AUXDATA("arm,pl330", EXYNOS5_PA_PDMA1, "dma-pl330.1", NULL),
-	OF_DEV_AUXDATA("arm,pl330", EXYNOS5_PA_MDMA1, "dma-pl330.2", NULL),
+	OF_DEV_AUXDATA("arm,pl330", EXYNOS5_PA_MDMA0, "dma-pl330.2", NULL),
+	OF_DEV_AUXDATA("arm,pl330", EXYNOS5_PA_MDMA1, "dma-pl330.3", NULL),
 	{},
 };
 
-- 
1.6.6.rc2

^ permalink raw reply related	[flat|nested] 62+ messages in thread

* [PATCH 12/12] ARM: Exynos5: Update device tree enabled machine file
@ 2012-04-17  5:46   ` Thomas Abraham
  0 siblings, 0 replies; 62+ messages in thread
From: Thomas Abraham @ 2012-04-17  5:46 UTC (permalink / raw)
  To: linux-arm-kernel

Add AUXDATA for i2c and MDMA controllers of Exynos5.

Signed-off-by: Thomas Abraham <thomas.abraham@linaro.org>
---
 arch/arm/mach-exynos/mach-exynos5-dt.c |    7 ++++++-
 1 files changed, 6 insertions(+), 1 deletions(-)

diff --git a/arch/arm/mach-exynos/mach-exynos5-dt.c b/arch/arm/mach-exynos/mach-exynos5-dt.c
index 4711c89..8adc061 100644
--- a/arch/arm/mach-exynos/mach-exynos5-dt.c
+++ b/arch/arm/mach-exynos/mach-exynos5-dt.c
@@ -43,9 +43,14 @@ static const struct of_dev_auxdata exynos5250_auxdata_lookup[] __initconst = {
 				"exynos4210-uart.2", NULL),
 	OF_DEV_AUXDATA("samsung,exynos4210-uart", EXYNOS5_PA_UART3,
 				"exynos4210-uart.3", NULL),
+	OF_DEV_AUXDATA("samsung,s3c2440-i2c", EXYNOS5_PA_IIC(0),
+				"s3c2440-i2c.0", NULL),
+	OF_DEV_AUXDATA("samsung,s3c2440-i2c", EXYNOS5_PA_IIC(1),
+				"s3c2440-i2c.1", NULL),
 	OF_DEV_AUXDATA("arm,pl330", EXYNOS5_PA_PDMA0, "dma-pl330.0", NULL),
 	OF_DEV_AUXDATA("arm,pl330", EXYNOS5_PA_PDMA1, "dma-pl330.1", NULL),
-	OF_DEV_AUXDATA("arm,pl330", EXYNOS5_PA_MDMA1, "dma-pl330.2", NULL),
+	OF_DEV_AUXDATA("arm,pl330", EXYNOS5_PA_MDMA0, "dma-pl330.2", NULL),
+	OF_DEV_AUXDATA("arm,pl330", EXYNOS5_PA_MDMA1, "dma-pl330.3", NULL),
 	{},
 };
 
-- 
1.6.6.rc2

^ permalink raw reply related	[flat|nested] 62+ messages in thread

* Re: [PATCH 03/12] ARM: Exynos5: Add watchdog timer clock instance
  2012-04-17  5:46   ` Thomas Abraham
@ 2012-04-17  6:14     ` Kyungmin Park
  -1 siblings, 0 replies; 62+ messages in thread
From: Kyungmin Park @ 2012-04-17  6:14 UTC (permalink / raw)
  To: Thomas Abraham; +Cc: linux-samsung-soc, kgene.kim, linux-arm-kernel

On 4/17/12, Thomas Abraham <thomas.abraham@linaro.org> wrote:
> Add watchdog timer clock instance for Exynos5 watchdog controller.
>
> Signed-off-by: Thomas Abraham <thomas.abraham@linaro.org>
> ---
>  arch/arm/mach-exynos/clock-exynos5.c |    5 +++++
>  1 files changed, 5 insertions(+), 0 deletions(-)
>
> diff --git a/arch/arm/mach-exynos/clock-exynos5.c
> b/arch/arm/mach-exynos/clock-exynos5.c
> index ad3bec4..662615d 100644
> --- a/arch/arm/mach-exynos/clock-exynos5.c
> +++ b/arch/arm/mach-exynos/clock-exynos5.c
> @@ -474,6 +474,11 @@ static struct clk exynos5_init_clocks_off[] = {
>  		.enable		= exynos5_clk_ip_peris_ctrl,
>  		.ctrlbit	= (1 << 20),
>  	}, {
> +		.name		= "watchdog",
> +		.parent		= &exynos5_clk_aclk_66.clk,
> +		.enable		= exynos5_clk_ip_peris_ctrl,
> +		.ctrlbit	= (1 << 19),

Hi,

Can you place this in order? It has same "exynos5_clk_ip_peris_ctrl",
but located under (1 << 20).

Thank you,
Kyungmin Park
> +	}, {
>  		.name		= "hsmmc",
>  		.devname	= "exynos4-sdhci.0",
>  		.parent		= &exynos5_clk_aclk_200.clk,
> --
> 1.6.6.rc2
>
> --
> To unsubscribe from this list: send the line "unsubscribe linux-samsung-soc"
> in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html
>

^ permalink raw reply	[flat|nested] 62+ messages in thread

* [PATCH 03/12] ARM: Exynos5: Add watchdog timer clock instance
@ 2012-04-17  6:14     ` Kyungmin Park
  0 siblings, 0 replies; 62+ messages in thread
From: Kyungmin Park @ 2012-04-17  6:14 UTC (permalink / raw)
  To: linux-arm-kernel

On 4/17/12, Thomas Abraham <thomas.abraham@linaro.org> wrote:
> Add watchdog timer clock instance for Exynos5 watchdog controller.
>
> Signed-off-by: Thomas Abraham <thomas.abraham@linaro.org>
> ---
>  arch/arm/mach-exynos/clock-exynos5.c |    5 +++++
>  1 files changed, 5 insertions(+), 0 deletions(-)
>
> diff --git a/arch/arm/mach-exynos/clock-exynos5.c
> b/arch/arm/mach-exynos/clock-exynos5.c
> index ad3bec4..662615d 100644
> --- a/arch/arm/mach-exynos/clock-exynos5.c
> +++ b/arch/arm/mach-exynos/clock-exynos5.c
> @@ -474,6 +474,11 @@ static struct clk exynos5_init_clocks_off[] = {
>  		.enable		= exynos5_clk_ip_peris_ctrl,
>  		.ctrlbit	= (1 << 20),
>  	}, {
> +		.name		= "watchdog",
> +		.parent		= &exynos5_clk_aclk_66.clk,
> +		.enable		= exynos5_clk_ip_peris_ctrl,
> +		.ctrlbit	= (1 << 19),

Hi,

Can you place this in order? It has same "exynos5_clk_ip_peris_ctrl",
but located under (1 << 20).

Thank you,
Kyungmin Park
> +	}, {
>  		.name		= "hsmmc",
>  		.devname	= "exynos4-sdhci.0",
>  		.parent		= &exynos5_clk_aclk_200.clk,
> --
> 1.6.6.rc2
>
> --
> To unsubscribe from this list: send the line "unsubscribe linux-samsung-soc"
> in
> the body of a message to majordomo at vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html
>

^ permalink raw reply	[flat|nested] 62+ messages in thread

* Re: [PATCH 06/12] rtc-s3c: Fix breakage introduced by S3C2443/S3C2416 support
  2012-04-17  5:46   ` Thomas Abraham
@ 2012-04-17  6:30     ` Kyungmin Park
  -1 siblings, 0 replies; 62+ messages in thread
From: Kyungmin Park @ 2012-04-17  6:30 UTC (permalink / raw)
  To: Thomas Abraham
  Cc: linux-samsung-soc, kgene.kim, linux-arm-kernel, Heiko Stuebner

Hi,

It's already merged with different patch,

#ifdef CONFIG_OF
static const struct of_device_id s3c_rtc_dt_match[] = {
        {
                .compatible = "samsung,s3c2410-rtc",
                .data = &s3c_rtc_drv_data_array[TYPE_S3C2410],
        }, {
                .compatible = "samsung,s3c2416-rtc",
                .data = &s3c_rtc_drv_data_array[TYPE_S3C2416],
        }, {
                .compatible = "samsung,s3c2443-rtc",
                .data = &s3c_rtc_drv_data_array[TYPE_S3C2443],
        }, {
                .compatible = "samsung,s3c6410-rtc",
                .data = &s3c_rtc_drv_data_array[TYPE_S3C64XX],
        },
        {},
};
MODULE_DEVICE_TABLE(of, s3c_rtc_dt_match);
#else
#define s3c_rtc_dt_match NULL
#endif

Thank you,
Kyungmin Park

On 4/17/12, Thomas Abraham <thomas.abraham@linaro.org> wrote:
> From: Heiko Stuebner <heiko@sntech.de>
>
> Commits 7006ee4f (rtc-s3c: make room for more variants in devicetree block)
> and 6c0a2365 (rtc-s3c: add variants for S3C2443 and S3C2416)
> introduced build-failures with enabled CONFIG_USE_OF option.
>
> This patch fixes missing "," in s3c_rtc_dt_match and wrong handling of
> the of_device_id.data property.
>
> Reported-by: Sylwester Nawrocki <s.nawrocki@samsung.com>
> Signed-off-by: Heiko Stuebner <heiko@sntech.de>
> ---
>  drivers/rtc/rtc-s3c.c |   18 +++++++++---------
>  1 files changed, 9 insertions(+), 9 deletions(-)
>
> diff --git a/drivers/rtc/rtc-s3c.c b/drivers/rtc/rtc-s3c.c
> index 9ccea13..c792b6d 100644
> --- a/drivers/rtc/rtc-s3c.c
> +++ b/drivers/rtc/rtc-s3c.c
> @@ -449,7 +449,7 @@ static inline int s3c_rtc_get_driver_data(struct
> platform_device *pdev)
>  	if (pdev->dev.of_node) {
>  		const struct of_device_id *match;
>  		match = of_match_node(s3c_rtc_dt_match, pdev->dev.of_node);
> -		return match->data;
> +		return (int)match->data;
>  	}
>  #endif
>  	return platform_get_device_id(pdev)->driver_data;
> @@ -667,17 +667,17 @@ static int s3c_rtc_resume(struct platform_device
> *pdev)
>  #ifdef CONFIG_OF
>  static const struct of_device_id s3c_rtc_dt_match[] = {
>  	{
> -		.compatible = "samsung,s3c2410-rtc"
> -		.data = TYPE_S3C2410,
> +		.compatible = "samsung,s3c2410-rtc",
> +		.data = (void *)TYPE_S3C2410,
>  	}, {
> -		.compatible = "samsung,s3c2416-rtc"
> -		.data = TYPE_S3C2416,
> +		.compatible = "samsung,s3c2416-rtc",
> +		.data = (void *)TYPE_S3C2416,
>  	}, {
> -		.compatible = "samsung,s3c2443-rtc"
> -		.data = TYPE_S3C2443,
> +		.compatible = "samsung,s3c2443-rtc",
> +		.data = (void *)TYPE_S3C2443,
>  	}, {
> -		.compatible = "samsung,s3c6410-rtc"
> -		.data = TYPE_S3C64XX,
> +		.compatible = "samsung,s3c6410-rtc",
> +		.data = (void *)TYPE_S3C64XX,
>  	},
>  	{},
>  };
> --
> 1.6.6.rc2
>
> --
> To unsubscribe from this list: send the line "unsubscribe linux-samsung-soc"
> in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html
>

^ permalink raw reply	[flat|nested] 62+ messages in thread

* [PATCH 06/12] rtc-s3c: Fix breakage introduced by S3C2443/S3C2416 support
@ 2012-04-17  6:30     ` Kyungmin Park
  0 siblings, 0 replies; 62+ messages in thread
From: Kyungmin Park @ 2012-04-17  6:30 UTC (permalink / raw)
  To: linux-arm-kernel

Hi,

It's already merged with different patch,

#ifdef CONFIG_OF
static const struct of_device_id s3c_rtc_dt_match[] = {
        {
                .compatible = "samsung,s3c2410-rtc",
                .data = &s3c_rtc_drv_data_array[TYPE_S3C2410],
        }, {
                .compatible = "samsung,s3c2416-rtc",
                .data = &s3c_rtc_drv_data_array[TYPE_S3C2416],
        }, {
                .compatible = "samsung,s3c2443-rtc",
                .data = &s3c_rtc_drv_data_array[TYPE_S3C2443],
        }, {
                .compatible = "samsung,s3c6410-rtc",
                .data = &s3c_rtc_drv_data_array[TYPE_S3C64XX],
        },
        {},
};
MODULE_DEVICE_TABLE(of, s3c_rtc_dt_match);
#else
#define s3c_rtc_dt_match NULL
#endif

Thank you,
Kyungmin Park

On 4/17/12, Thomas Abraham <thomas.abraham@linaro.org> wrote:
> From: Heiko Stuebner <heiko@sntech.de>
>
> Commits 7006ee4f (rtc-s3c: make room for more variants in devicetree block)
> and 6c0a2365 (rtc-s3c: add variants for S3C2443 and S3C2416)
> introduced build-failures with enabled CONFIG_USE_OF option.
>
> This patch fixes missing "," in s3c_rtc_dt_match and wrong handling of
> the of_device_id.data property.
>
> Reported-by: Sylwester Nawrocki <s.nawrocki@samsung.com>
> Signed-off-by: Heiko Stuebner <heiko@sntech.de>
> ---
>  drivers/rtc/rtc-s3c.c |   18 +++++++++---------
>  1 files changed, 9 insertions(+), 9 deletions(-)
>
> diff --git a/drivers/rtc/rtc-s3c.c b/drivers/rtc/rtc-s3c.c
> index 9ccea13..c792b6d 100644
> --- a/drivers/rtc/rtc-s3c.c
> +++ b/drivers/rtc/rtc-s3c.c
> @@ -449,7 +449,7 @@ static inline int s3c_rtc_get_driver_data(struct
> platform_device *pdev)
>  	if (pdev->dev.of_node) {
>  		const struct of_device_id *match;
>  		match = of_match_node(s3c_rtc_dt_match, pdev->dev.of_node);
> -		return match->data;
> +		return (int)match->data;
>  	}
>  #endif
>  	return platform_get_device_id(pdev)->driver_data;
> @@ -667,17 +667,17 @@ static int s3c_rtc_resume(struct platform_device
> *pdev)
>  #ifdef CONFIG_OF
>  static const struct of_device_id s3c_rtc_dt_match[] = {
>  	{
> -		.compatible = "samsung,s3c2410-rtc"
> -		.data = TYPE_S3C2410,
> +		.compatible = "samsung,s3c2410-rtc",
> +		.data = (void *)TYPE_S3C2410,
>  	}, {
> -		.compatible = "samsung,s3c2416-rtc"
> -		.data = TYPE_S3C2416,
> +		.compatible = "samsung,s3c2416-rtc",
> +		.data = (void *)TYPE_S3C2416,
>  	}, {
> -		.compatible = "samsung,s3c2443-rtc"
> -		.data = TYPE_S3C2443,
> +		.compatible = "samsung,s3c2443-rtc",
> +		.data = (void *)TYPE_S3C2443,
>  	}, {
> -		.compatible = "samsung,s3c6410-rtc"
> -		.data = TYPE_S3C64XX,
> +		.compatible = "samsung,s3c6410-rtc",
> +		.data = (void *)TYPE_S3C64XX,
>  	},
>  	{},
>  };
> --
> 1.6.6.rc2
>
> --
> To unsubscribe from this list: send the line "unsubscribe linux-samsung-soc"
> in
> the body of a message to majordomo at vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html
>

^ permalink raw reply	[flat|nested] 62+ messages in thread

* Re: [PATCH 07/12] ARM: Exynos5: Modify the GIC physical address for static io-mapping
  2012-04-17  5:46   ` Thomas Abraham
@ 2012-04-17  6:31     ` Kyungmin Park
  -1 siblings, 0 replies; 62+ messages in thread
From: Kyungmin Park @ 2012-04-17  6:31 UTC (permalink / raw)
  To: Thomas Abraham
  Cc: linux-samsung-soc, kgene.kim, linux-arm-kernel, Changhwan Youn

Hi,

On 4/17/12, Thomas Abraham <thomas.abraham@linaro.org> wrote:
> From: Changhwan Youn <chaos.youn@samsung.com>
>
> Adapt to changes in GIC physical address in rev1 of Exynos5.

Does it different from rev0 and rev1? and does it support the rev1 only?

Thank you,
Kyungmin Park
>
> Signed-off-by: Changhwan Youn <chaos.youn@samsung.com>
> ---
>  arch/arm/mach-exynos/common.c           |    4 ++--
>  arch/arm/mach-exynos/include/mach/map.h |    4 ++--
>  2 files changed, 4 insertions(+), 4 deletions(-)
>
> diff --git a/arch/arm/mach-exynos/common.c b/arch/arm/mach-exynos/common.c
> index 35ac675..457d031 100644
> --- a/arch/arm/mach-exynos/common.c
> +++ b/arch/arm/mach-exynos/common.c
> @@ -265,12 +265,12 @@ static struct map_desc exynos5_iodesc[] __initdata = {
>  	}, {
>  		.virtual	= (unsigned long)S5P_VA_GIC_CPU,
>  		.pfn		= __phys_to_pfn(EXYNOS5_PA_GIC_CPU),
> -		.length		= SZ_64K,
> +		.length		= SZ_8K,
>  		.type		= MT_DEVICE,
>  	}, {
>  		.virtual	= (unsigned long)S5P_VA_GIC_DIST,
>  		.pfn		= __phys_to_pfn(EXYNOS5_PA_GIC_DIST),
> -		.length		= SZ_64K,
> +		.length		= SZ_4K,
>  		.type		= MT_DEVICE,
>  	},
>  };
> diff --git a/arch/arm/mach-exynos/include/mach/map.h
> b/arch/arm/mach-exynos/include/mach/map.h
> index 0e2292d..648d59b 100644
> --- a/arch/arm/mach-exynos/include/mach/map.h
> +++ b/arch/arm/mach-exynos/include/mach/map.h
> @@ -78,8 +78,8 @@
>
>  #define EXYNOS4_PA_GIC_CPU		0x10480000
>  #define EXYNOS4_PA_GIC_DIST		0x10490000
> -#define EXYNOS5_PA_GIC_CPU		0x10480000
> -#define EXYNOS5_PA_GIC_DIST		0x10490000
> +#define EXYNOS5_PA_GIC_CPU		0x10482000
> +#define EXYNOS5_PA_GIC_DIST		0x10481000
>
>  #define EXYNOS4_PA_COREPERI		0x10500000
>  #define EXYNOS4_PA_TWD			0x10500600
> --
> 1.6.6.rc2
>
> --
> To unsubscribe from this list: send the line "unsubscribe linux-samsung-soc"
> in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html
>

^ permalink raw reply	[flat|nested] 62+ messages in thread

* [PATCH 07/12] ARM: Exynos5: Modify the GIC physical address for static io-mapping
@ 2012-04-17  6:31     ` Kyungmin Park
  0 siblings, 0 replies; 62+ messages in thread
From: Kyungmin Park @ 2012-04-17  6:31 UTC (permalink / raw)
  To: linux-arm-kernel

Hi,

On 4/17/12, Thomas Abraham <thomas.abraham@linaro.org> wrote:
> From: Changhwan Youn <chaos.youn@samsung.com>
>
> Adapt to changes in GIC physical address in rev1 of Exynos5.

Does it different from rev0 and rev1? and does it support the rev1 only?

Thank you,
Kyungmin Park
>
> Signed-off-by: Changhwan Youn <chaos.youn@samsung.com>
> ---
>  arch/arm/mach-exynos/common.c           |    4 ++--
>  arch/arm/mach-exynos/include/mach/map.h |    4 ++--
>  2 files changed, 4 insertions(+), 4 deletions(-)
>
> diff --git a/arch/arm/mach-exynos/common.c b/arch/arm/mach-exynos/common.c
> index 35ac675..457d031 100644
> --- a/arch/arm/mach-exynos/common.c
> +++ b/arch/arm/mach-exynos/common.c
> @@ -265,12 +265,12 @@ static struct map_desc exynos5_iodesc[] __initdata = {
>  	}, {
>  		.virtual	= (unsigned long)S5P_VA_GIC_CPU,
>  		.pfn		= __phys_to_pfn(EXYNOS5_PA_GIC_CPU),
> -		.length		= SZ_64K,
> +		.length		= SZ_8K,
>  		.type		= MT_DEVICE,
>  	}, {
>  		.virtual	= (unsigned long)S5P_VA_GIC_DIST,
>  		.pfn		= __phys_to_pfn(EXYNOS5_PA_GIC_DIST),
> -		.length		= SZ_64K,
> +		.length		= SZ_4K,
>  		.type		= MT_DEVICE,
>  	},
>  };
> diff --git a/arch/arm/mach-exynos/include/mach/map.h
> b/arch/arm/mach-exynos/include/mach/map.h
> index 0e2292d..648d59b 100644
> --- a/arch/arm/mach-exynos/include/mach/map.h
> +++ b/arch/arm/mach-exynos/include/mach/map.h
> @@ -78,8 +78,8 @@
>
>  #define EXYNOS4_PA_GIC_CPU		0x10480000
>  #define EXYNOS4_PA_GIC_DIST		0x10490000
> -#define EXYNOS5_PA_GIC_CPU		0x10480000
> -#define EXYNOS5_PA_GIC_DIST		0x10490000
> +#define EXYNOS5_PA_GIC_CPU		0x10482000
> +#define EXYNOS5_PA_GIC_DIST		0x10481000
>
>  #define EXYNOS4_PA_COREPERI		0x10500000
>  #define EXYNOS4_PA_TWD			0x10500600
> --
> 1.6.6.rc2
>
> --
> To unsubscribe from this list: send the line "unsubscribe linux-samsung-soc"
> in
> the body of a message to majordomo at vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html
>

^ permalink raw reply	[flat|nested] 62+ messages in thread

* Re: [PATCH 08/12] gpio/samsung: add GPC4 bank instance
  2012-04-17  5:46   ` Thomas Abraham
@ 2012-04-17  6:33     ` Kyungmin Park
  -1 siblings, 0 replies; 62+ messages in thread
From: Kyungmin Park @ 2012-04-17  6:33 UTC (permalink / raw)
  To: Thomas Abraham
  Cc: linux-samsung-soc, kgene.kim, linux-arm-kernel, Sangsu Park,
	Grant Likely

On 4/17/12, Thomas Abraham <thomas.abraham@linaro.org> wrote:
> From: Sangsu Park <sangsu4u.park@samsung.com>
>
> Add GPC4 bank instance which is included in rev1 of Exynos5.
>
> Cc: Grant Likely <grant.likely@secretlab.ca>
> Signed-off-by: Sangsu Park <sangsu4u.park@samsung.com>
> ---
>  arch/arm/mach-exynos/include/mach/gpio.h |    9 ++++++---
>  drivers/gpio/gpio-samsung.c              |    8 ++++++++
>  2 files changed, 14 insertions(+), 3 deletions(-)
>
> diff --git a/arch/arm/mach-exynos/include/mach/gpio.h
> b/arch/arm/mach-exynos/include/mach/gpio.h
> index d7498af..df5612b 100644
> --- a/arch/arm/mach-exynos/include/mach/gpio.h
> +++ b/arch/arm/mach-exynos/include/mach/gpio.h
> @@ -153,10 +153,11 @@ enum exynos4_gpio_number {
>  #define EXYNOS5_GPIO_B2_NR	(4)
>  #define EXYNOS5_GPIO_B3_NR	(4)
>  #define EXYNOS5_GPIO_C0_NR	(7)
> -#define EXYNOS5_GPIO_C1_NR	(7)
> +#define EXYNOS5_GPIO_C1_NR	(4)
>  #define EXYNOS5_GPIO_C2_NR	(7)
>  #define EXYNOS5_GPIO_C3_NR	(7)
> -#define EXYNOS5_GPIO_D0_NR	(8)
> +#define EXYNOS5_GPIO_C4_NR	(8)
> +#define EXYNOS5_GPIO_D0_NR	(4)
>  #define EXYNOS5_GPIO_D1_NR	(8)
>  #define EXYNOS5_GPIO_Y0_NR	(6)
>  #define EXYNOS5_GPIO_Y1_NR	(4)
> @@ -199,7 +200,8 @@ enum exynos5_gpio_number {
>  	EXYNOS5_GPIO_C1_START		= EXYNOS_GPIO_NEXT(EXYNOS5_GPIO_C0),
>  	EXYNOS5_GPIO_C2_START		= EXYNOS_GPIO_NEXT(EXYNOS5_GPIO_C1),
>  	EXYNOS5_GPIO_C3_START		= EXYNOS_GPIO_NEXT(EXYNOS5_GPIO_C2),
> -	EXYNOS5_GPIO_D0_START		= EXYNOS_GPIO_NEXT(EXYNOS5_GPIO_C3),
> +	EXYNOS5_GPIO_C4_START		= EXYNOS_GPIO_NEXT(EXYNOS5_GPIO_C3),
> +	EXYNOS5_GPIO_D0_START		= EXYNOS_GPIO_NEXT(EXYNOS5_GPIO_C4),
>  	EXYNOS5_GPIO_D1_START		= EXYNOS_GPIO_NEXT(EXYNOS5_GPIO_D0),
>  	EXYNOS5_GPIO_Y0_START		= EXYNOS_GPIO_NEXT(EXYNOS5_GPIO_D1),
>  	EXYNOS5_GPIO_Y1_START		= EXYNOS_GPIO_NEXT(EXYNOS5_GPIO_Y0),
> @@ -242,6 +244,7 @@ enum exynos5_gpio_number {
>  #define EXYNOS5_GPC1(_nr)	(EXYNOS5_GPIO_C1_START + (_nr))
>  #define EXYNOS5_GPC2(_nr)	(EXYNOS5_GPIO_C2_START + (_nr))
>  #define EXYNOS5_GPC3(_nr)	(EXYNOS5_GPIO_C3_START + (_nr))
> +#define EXYNOS5_GPC4(_nr)	(EXYNOS5_GPIO_C4_START + (_nr))
>  #define EXYNOS5_GPD0(_nr)	(EXYNOS5_GPIO_D0_START + (_nr))
>  #define EXYNOS5_GPD1(_nr)	(EXYNOS5_GPIO_D1_START + (_nr))
>  #define EXYNOS5_GPY0(_nr)	(EXYNOS5_GPIO_Y0_START + (_nr))
> diff --git a/drivers/gpio/gpio-samsung.c b/drivers/gpio/gpio-samsung.c
> index 4627787..0153bb9 100644
> --- a/drivers/gpio/gpio-samsung.c
> +++ b/drivers/gpio/gpio-samsung.c
> @@ -2452,6 +2452,12 @@ static struct samsung_gpio_chip exynos5_gpios_1[] = {
>  		},
>  	}, {
>  		.chip	= {
> +			.base	= EXYNOS5_GPC4(0),
> +			.ngpio	= EXYNOS5_GPIO_C4_NR,
> +			.label	= "GPC4",
> +		},
> +	}, {
> +		.chip	= {
>  			.base	= EXYNOS5_GPD0(0),
>  			.ngpio	= EXYNOS5_GPIO_D0_NR,
>  			.label	= "GPD0",
> @@ -2880,6 +2886,8 @@ static __init int samsung_gpiolib_init(void)
>  		for (i = 0; i < 4; i++, chip++, gpx_base += 0x20)
>  			chip->base = gpx_base;
>
> +		exynos5_gpios_1[11].base = gpio_base1 + 0x2E0;
'11' seems dangerous. I think you add comments here and above to know
'11' meaning.
> +
>  		chip = exynos5_gpios_1;
>  		nr_chips = ARRAY_SIZE(exynos5_gpios_1);
>
> --
> 1.6.6.rc2
>
> --
> To unsubscribe from this list: send the line "unsubscribe linux-samsung-soc"
> in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html
>

^ permalink raw reply	[flat|nested] 62+ messages in thread

* [PATCH 08/12] gpio/samsung: add GPC4 bank instance
@ 2012-04-17  6:33     ` Kyungmin Park
  0 siblings, 0 replies; 62+ messages in thread
From: Kyungmin Park @ 2012-04-17  6:33 UTC (permalink / raw)
  To: linux-arm-kernel

On 4/17/12, Thomas Abraham <thomas.abraham@linaro.org> wrote:
> From: Sangsu Park <sangsu4u.park@samsung.com>
>
> Add GPC4 bank instance which is included in rev1 of Exynos5.
>
> Cc: Grant Likely <grant.likely@secretlab.ca>
> Signed-off-by: Sangsu Park <sangsu4u.park@samsung.com>
> ---
>  arch/arm/mach-exynos/include/mach/gpio.h |    9 ++++++---
>  drivers/gpio/gpio-samsung.c              |    8 ++++++++
>  2 files changed, 14 insertions(+), 3 deletions(-)
>
> diff --git a/arch/arm/mach-exynos/include/mach/gpio.h
> b/arch/arm/mach-exynos/include/mach/gpio.h
> index d7498af..df5612b 100644
> --- a/arch/arm/mach-exynos/include/mach/gpio.h
> +++ b/arch/arm/mach-exynos/include/mach/gpio.h
> @@ -153,10 +153,11 @@ enum exynos4_gpio_number {
>  #define EXYNOS5_GPIO_B2_NR	(4)
>  #define EXYNOS5_GPIO_B3_NR	(4)
>  #define EXYNOS5_GPIO_C0_NR	(7)
> -#define EXYNOS5_GPIO_C1_NR	(7)
> +#define EXYNOS5_GPIO_C1_NR	(4)
>  #define EXYNOS5_GPIO_C2_NR	(7)
>  #define EXYNOS5_GPIO_C3_NR	(7)
> -#define EXYNOS5_GPIO_D0_NR	(8)
> +#define EXYNOS5_GPIO_C4_NR	(8)
> +#define EXYNOS5_GPIO_D0_NR	(4)
>  #define EXYNOS5_GPIO_D1_NR	(8)
>  #define EXYNOS5_GPIO_Y0_NR	(6)
>  #define EXYNOS5_GPIO_Y1_NR	(4)
> @@ -199,7 +200,8 @@ enum exynos5_gpio_number {
>  	EXYNOS5_GPIO_C1_START		= EXYNOS_GPIO_NEXT(EXYNOS5_GPIO_C0),
>  	EXYNOS5_GPIO_C2_START		= EXYNOS_GPIO_NEXT(EXYNOS5_GPIO_C1),
>  	EXYNOS5_GPIO_C3_START		= EXYNOS_GPIO_NEXT(EXYNOS5_GPIO_C2),
> -	EXYNOS5_GPIO_D0_START		= EXYNOS_GPIO_NEXT(EXYNOS5_GPIO_C3),
> +	EXYNOS5_GPIO_C4_START		= EXYNOS_GPIO_NEXT(EXYNOS5_GPIO_C3),
> +	EXYNOS5_GPIO_D0_START		= EXYNOS_GPIO_NEXT(EXYNOS5_GPIO_C4),
>  	EXYNOS5_GPIO_D1_START		= EXYNOS_GPIO_NEXT(EXYNOS5_GPIO_D0),
>  	EXYNOS5_GPIO_Y0_START		= EXYNOS_GPIO_NEXT(EXYNOS5_GPIO_D1),
>  	EXYNOS5_GPIO_Y1_START		= EXYNOS_GPIO_NEXT(EXYNOS5_GPIO_Y0),
> @@ -242,6 +244,7 @@ enum exynos5_gpio_number {
>  #define EXYNOS5_GPC1(_nr)	(EXYNOS5_GPIO_C1_START + (_nr))
>  #define EXYNOS5_GPC2(_nr)	(EXYNOS5_GPIO_C2_START + (_nr))
>  #define EXYNOS5_GPC3(_nr)	(EXYNOS5_GPIO_C3_START + (_nr))
> +#define EXYNOS5_GPC4(_nr)	(EXYNOS5_GPIO_C4_START + (_nr))
>  #define EXYNOS5_GPD0(_nr)	(EXYNOS5_GPIO_D0_START + (_nr))
>  #define EXYNOS5_GPD1(_nr)	(EXYNOS5_GPIO_D1_START + (_nr))
>  #define EXYNOS5_GPY0(_nr)	(EXYNOS5_GPIO_Y0_START + (_nr))
> diff --git a/drivers/gpio/gpio-samsung.c b/drivers/gpio/gpio-samsung.c
> index 4627787..0153bb9 100644
> --- a/drivers/gpio/gpio-samsung.c
> +++ b/drivers/gpio/gpio-samsung.c
> @@ -2452,6 +2452,12 @@ static struct samsung_gpio_chip exynos5_gpios_1[] = {
>  		},
>  	}, {
>  		.chip	= {
> +			.base	= EXYNOS5_GPC4(0),
> +			.ngpio	= EXYNOS5_GPIO_C4_NR,
> +			.label	= "GPC4",
> +		},
> +	}, {
> +		.chip	= {
>  			.base	= EXYNOS5_GPD0(0),
>  			.ngpio	= EXYNOS5_GPIO_D0_NR,
>  			.label	= "GPD0",
> @@ -2880,6 +2886,8 @@ static __init int samsung_gpiolib_init(void)
>  		for (i = 0; i < 4; i++, chip++, gpx_base += 0x20)
>  			chip->base = gpx_base;
>
> +		exynos5_gpios_1[11].base = gpio_base1 + 0x2E0;
'11' seems dangerous. I think you add comments here and above to know
'11' meaning.
> +
>  		chip = exynos5_gpios_1;
>  		nr_chips = ARRAY_SIZE(exynos5_gpios_1);
>
> --
> 1.6.6.rc2
>
> --
> To unsubscribe from this list: send the line "unsubscribe linux-samsung-soc"
> in
> the body of a message to majordomo at vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html
>

^ permalink raw reply	[flat|nested] 62+ messages in thread

* Re: [PATCH 03/12] ARM: Exynos5: Add watchdog timer clock instance
  2012-04-17  6:14     ` Kyungmin Park
@ 2012-04-17  8:12       ` Thomas Abraham
  -1 siblings, 0 replies; 62+ messages in thread
From: Thomas Abraham @ 2012-04-17  8:12 UTC (permalink / raw)
  To: Kyungmin Park; +Cc: linux-samsung-soc, kgene.kim, linux-arm-kernel

On 17 April 2012 11:44, Kyungmin Park <kmpark@infradead.org> wrote:
> On 4/17/12, Thomas Abraham <thomas.abraham@linaro.org> wrote:
>> Add watchdog timer clock instance for Exynos5 watchdog controller.
>>
>> Signed-off-by: Thomas Abraham <thomas.abraham@linaro.org>
>> ---
>>  arch/arm/mach-exynos/clock-exynos5.c |    5 +++++
>>  1 files changed, 5 insertions(+), 0 deletions(-)
>>
>> diff --git a/arch/arm/mach-exynos/clock-exynos5.c
>> b/arch/arm/mach-exynos/clock-exynos5.c
>> index ad3bec4..662615d 100644
>> --- a/arch/arm/mach-exynos/clock-exynos5.c
>> +++ b/arch/arm/mach-exynos/clock-exynos5.c
>> @@ -474,6 +474,11 @@ static struct clk exynos5_init_clocks_off[] = {
>>               .enable         = exynos5_clk_ip_peris_ctrl,
>>               .ctrlbit        = (1 << 20),
>>       }, {
>> +             .name           = "watchdog",
>> +             .parent         = &exynos5_clk_aclk_66.clk,
>> +             .enable         = exynos5_clk_ip_peris_ctrl,
>> +             .ctrlbit        = (1 << 19),
>
> Hi,
>
> Can you place this in order? It has same "exynos5_clk_ip_peris_ctrl",
> but located under (1 << 20).

Hi Mr. Park,

At present, there is only one clock gate from the peris register for
which there is a struct clock instance. This patch adds the watchdog
timer clock gate right below it and maintains the descending bit
position order.

Thanks,
Thomas.

>
> Thank you,
> Kyungmin Park
>> +     }, {
>>               .name           = "hsmmc",
>>               .devname        = "exynos4-sdhci.0",
>>               .parent         = &exynos5_clk_aclk_200.clk,
>> --
>> 1.6.6.rc2
>>
>> --
>> To unsubscribe from this list: send the line "unsubscribe linux-samsung-soc"
>> in
>> the body of a message to majordomo@vger.kernel.org
>> More majordomo info at  http://vger.kernel.org/majordomo-info.html
>>

^ permalink raw reply	[flat|nested] 62+ messages in thread

* [PATCH 03/12] ARM: Exynos5: Add watchdog timer clock instance
@ 2012-04-17  8:12       ` Thomas Abraham
  0 siblings, 0 replies; 62+ messages in thread
From: Thomas Abraham @ 2012-04-17  8:12 UTC (permalink / raw)
  To: linux-arm-kernel

On 17 April 2012 11:44, Kyungmin Park <kmpark@infradead.org> wrote:
> On 4/17/12, Thomas Abraham <thomas.abraham@linaro.org> wrote:
>> Add watchdog timer clock instance for Exynos5 watchdog controller.
>>
>> Signed-off-by: Thomas Abraham <thomas.abraham@linaro.org>
>> ---
>> ?arch/arm/mach-exynos/clock-exynos5.c | ? ?5 +++++
>> ?1 files changed, 5 insertions(+), 0 deletions(-)
>>
>> diff --git a/arch/arm/mach-exynos/clock-exynos5.c
>> b/arch/arm/mach-exynos/clock-exynos5.c
>> index ad3bec4..662615d 100644
>> --- a/arch/arm/mach-exynos/clock-exynos5.c
>> +++ b/arch/arm/mach-exynos/clock-exynos5.c
>> @@ -474,6 +474,11 @@ static struct clk exynos5_init_clocks_off[] = {
>> ? ? ? ? ? ? ? .enable ? ? ? ? = exynos5_clk_ip_peris_ctrl,
>> ? ? ? ? ? ? ? .ctrlbit ? ? ? ?= (1 << 20),
>> ? ? ? }, {
>> + ? ? ? ? ? ? .name ? ? ? ? ? = "watchdog",
>> + ? ? ? ? ? ? .parent ? ? ? ? = &exynos5_clk_aclk_66.clk,
>> + ? ? ? ? ? ? .enable ? ? ? ? = exynos5_clk_ip_peris_ctrl,
>> + ? ? ? ? ? ? .ctrlbit ? ? ? ?= (1 << 19),
>
> Hi,
>
> Can you place this in order? It has same "exynos5_clk_ip_peris_ctrl",
> but located under (1 << 20).

Hi Mr. Park,

At present, there is only one clock gate from the peris register for
which there is a struct clock instance. This patch adds the watchdog
timer clock gate right below it and maintains the descending bit
position order.

Thanks,
Thomas.

>
> Thank you,
> Kyungmin Park
>> + ? ? }, {
>> ? ? ? ? ? ? ? .name ? ? ? ? ? = "hsmmc",
>> ? ? ? ? ? ? ? .devname ? ? ? ?= "exynos4-sdhci.0",
>> ? ? ? ? ? ? ? .parent ? ? ? ? = &exynos5_clk_aclk_200.clk,
>> --
>> 1.6.6.rc2
>>
>> --
>> To unsubscribe from this list: send the line "unsubscribe linux-samsung-soc"
>> in
>> the body of a message to majordomo at vger.kernel.org
>> More majordomo info at ?http://vger.kernel.org/majordomo-info.html
>>

^ permalink raw reply	[flat|nested] 62+ messages in thread

* Re: [PATCH 06/12] rtc-s3c: Fix breakage introduced by S3C2443/S3C2416 support
  2012-04-17  6:30     ` Kyungmin Park
@ 2012-04-17  8:15       ` Thomas Abraham
  -1 siblings, 0 replies; 62+ messages in thread
From: Thomas Abraham @ 2012-04-17  8:15 UTC (permalink / raw)
  To: Kyungmin Park
  Cc: linux-samsung-soc, kgene.kim, linux-arm-kernel, Heiko Stuebner

On 17 April 2012 12:00, Kyungmin Park <kmpark@infradead.org> wrote:
> Hi,
>
> It's already merged with different patch,

This is a repost of the patch from Heiko Stuebner which would be
required to fix compilation issue for rtc driver. I think you are
referring to that patch but it is not merged yet. So I am reposting it
with this series.

Thanks,
Thomas.

>
> #ifdef CONFIG_OF
> static const struct of_device_id s3c_rtc_dt_match[] = {
>        {
>                .compatible = "samsung,s3c2410-rtc",
>                .data = &s3c_rtc_drv_data_array[TYPE_S3C2410],
>        }, {
>                .compatible = "samsung,s3c2416-rtc",
>                .data = &s3c_rtc_drv_data_array[TYPE_S3C2416],
>        }, {
>                .compatible = "samsung,s3c2443-rtc",
>                .data = &s3c_rtc_drv_data_array[TYPE_S3C2443],
>        }, {
>                .compatible = "samsung,s3c6410-rtc",
>                .data = &s3c_rtc_drv_data_array[TYPE_S3C64XX],
>        },
>        {},
> };
> MODULE_DEVICE_TABLE(of, s3c_rtc_dt_match);
> #else
> #define s3c_rtc_dt_match NULL
> #endif
>
> Thank you,
> Kyungmin Park
>
> On 4/17/12, Thomas Abraham <thomas.abraham@linaro.org> wrote:
>> From: Heiko Stuebner <heiko@sntech.de>
>>
>> Commits 7006ee4f (rtc-s3c: make room for more variants in devicetree block)
>> and 6c0a2365 (rtc-s3c: add variants for S3C2443 and S3C2416)
>> introduced build-failures with enabled CONFIG_USE_OF option.
>>
>> This patch fixes missing "," in s3c_rtc_dt_match and wrong handling of
>> the of_device_id.data property.
>>
>> Reported-by: Sylwester Nawrocki <s.nawrocki@samsung.com>
>> Signed-off-by: Heiko Stuebner <heiko@sntech.de>
>> ---
>>  drivers/rtc/rtc-s3c.c |   18 +++++++++---------
>>  1 files changed, 9 insertions(+), 9 deletions(-)
>>
>> diff --git a/drivers/rtc/rtc-s3c.c b/drivers/rtc/rtc-s3c.c
>> index 9ccea13..c792b6d 100644
>> --- a/drivers/rtc/rtc-s3c.c
>> +++ b/drivers/rtc/rtc-s3c.c
>> @@ -449,7 +449,7 @@ static inline int s3c_rtc_get_driver_data(struct
>> platform_device *pdev)
>>       if (pdev->dev.of_node) {
>>               const struct of_device_id *match;
>>               match = of_match_node(s3c_rtc_dt_match, pdev->dev.of_node);
>> -             return match->data;
>> +             return (int)match->data;
>>       }
>>  #endif
>>       return platform_get_device_id(pdev)->driver_data;
>> @@ -667,17 +667,17 @@ static int s3c_rtc_resume(struct platform_device
>> *pdev)
>>  #ifdef CONFIG_OF
>>  static const struct of_device_id s3c_rtc_dt_match[] = {
>>       {
>> -             .compatible = "samsung,s3c2410-rtc"
>> -             .data = TYPE_S3C2410,
>> +             .compatible = "samsung,s3c2410-rtc",
>> +             .data = (void *)TYPE_S3C2410,
>>       }, {
>> -             .compatible = "samsung,s3c2416-rtc"
>> -             .data = TYPE_S3C2416,
>> +             .compatible = "samsung,s3c2416-rtc",
>> +             .data = (void *)TYPE_S3C2416,
>>       }, {
>> -             .compatible = "samsung,s3c2443-rtc"
>> -             .data = TYPE_S3C2443,
>> +             .compatible = "samsung,s3c2443-rtc",
>> +             .data = (void *)TYPE_S3C2443,
>>       }, {
>> -             .compatible = "samsung,s3c6410-rtc"
>> -             .data = TYPE_S3C64XX,
>> +             .compatible = "samsung,s3c6410-rtc",
>> +             .data = (void *)TYPE_S3C64XX,
>>       },
>>       {},
>>  };
>> --
>> 1.6.6.rc2
>>
>> --
>> To unsubscribe from this list: send the line "unsubscribe linux-samsung-soc"
>> in
>> the body of a message to majordomo@vger.kernel.org
>> More majordomo info at  http://vger.kernel.org/majordomo-info.html
>>

^ permalink raw reply	[flat|nested] 62+ messages in thread

* [PATCH 06/12] rtc-s3c: Fix breakage introduced by S3C2443/S3C2416 support
@ 2012-04-17  8:15       ` Thomas Abraham
  0 siblings, 0 replies; 62+ messages in thread
From: Thomas Abraham @ 2012-04-17  8:15 UTC (permalink / raw)
  To: linux-arm-kernel

On 17 April 2012 12:00, Kyungmin Park <kmpark@infradead.org> wrote:
> Hi,
>
> It's already merged with different patch,

This is a repost of the patch from Heiko Stuebner which would be
required to fix compilation issue for rtc driver. I think you are
referring to that patch but it is not merged yet. So I am reposting it
with this series.

Thanks,
Thomas.

>
> #ifdef CONFIG_OF
> static const struct of_device_id s3c_rtc_dt_match[] = {
> ? ? ? ?{
> ? ? ? ? ? ? ? ?.compatible = "samsung,s3c2410-rtc",
> ? ? ? ? ? ? ? ?.data = &s3c_rtc_drv_data_array[TYPE_S3C2410],
> ? ? ? ?}, {
> ? ? ? ? ? ? ? ?.compatible = "samsung,s3c2416-rtc",
> ? ? ? ? ? ? ? ?.data = &s3c_rtc_drv_data_array[TYPE_S3C2416],
> ? ? ? ?}, {
> ? ? ? ? ? ? ? ?.compatible = "samsung,s3c2443-rtc",
> ? ? ? ? ? ? ? ?.data = &s3c_rtc_drv_data_array[TYPE_S3C2443],
> ? ? ? ?}, {
> ? ? ? ? ? ? ? ?.compatible = "samsung,s3c6410-rtc",
> ? ? ? ? ? ? ? ?.data = &s3c_rtc_drv_data_array[TYPE_S3C64XX],
> ? ? ? ?},
> ? ? ? ?{},
> };
> MODULE_DEVICE_TABLE(of, s3c_rtc_dt_match);
> #else
> #define s3c_rtc_dt_match NULL
> #endif
>
> Thank you,
> Kyungmin Park
>
> On 4/17/12, Thomas Abraham <thomas.abraham@linaro.org> wrote:
>> From: Heiko Stuebner <heiko@sntech.de>
>>
>> Commits 7006ee4f (rtc-s3c: make room for more variants in devicetree block)
>> and 6c0a2365 (rtc-s3c: add variants for S3C2443 and S3C2416)
>> introduced build-failures with enabled CONFIG_USE_OF option.
>>
>> This patch fixes missing "," in s3c_rtc_dt_match and wrong handling of
>> the of_device_id.data property.
>>
>> Reported-by: Sylwester Nawrocki <s.nawrocki@samsung.com>
>> Signed-off-by: Heiko Stuebner <heiko@sntech.de>
>> ---
>> ?drivers/rtc/rtc-s3c.c | ? 18 +++++++++---------
>> ?1 files changed, 9 insertions(+), 9 deletions(-)
>>
>> diff --git a/drivers/rtc/rtc-s3c.c b/drivers/rtc/rtc-s3c.c
>> index 9ccea13..c792b6d 100644
>> --- a/drivers/rtc/rtc-s3c.c
>> +++ b/drivers/rtc/rtc-s3c.c
>> @@ -449,7 +449,7 @@ static inline int s3c_rtc_get_driver_data(struct
>> platform_device *pdev)
>> ? ? ? if (pdev->dev.of_node) {
>> ? ? ? ? ? ? ? const struct of_device_id *match;
>> ? ? ? ? ? ? ? match = of_match_node(s3c_rtc_dt_match, pdev->dev.of_node);
>> - ? ? ? ? ? ? return match->data;
>> + ? ? ? ? ? ? return (int)match->data;
>> ? ? ? }
>> ?#endif
>> ? ? ? return platform_get_device_id(pdev)->driver_data;
>> @@ -667,17 +667,17 @@ static int s3c_rtc_resume(struct platform_device
>> *pdev)
>> ?#ifdef CONFIG_OF
>> ?static const struct of_device_id s3c_rtc_dt_match[] = {
>> ? ? ? {
>> - ? ? ? ? ? ? .compatible = "samsung,s3c2410-rtc"
>> - ? ? ? ? ? ? .data = TYPE_S3C2410,
>> + ? ? ? ? ? ? .compatible = "samsung,s3c2410-rtc",
>> + ? ? ? ? ? ? .data = (void *)TYPE_S3C2410,
>> ? ? ? }, {
>> - ? ? ? ? ? ? .compatible = "samsung,s3c2416-rtc"
>> - ? ? ? ? ? ? .data = TYPE_S3C2416,
>> + ? ? ? ? ? ? .compatible = "samsung,s3c2416-rtc",
>> + ? ? ? ? ? ? .data = (void *)TYPE_S3C2416,
>> ? ? ? }, {
>> - ? ? ? ? ? ? .compatible = "samsung,s3c2443-rtc"
>> - ? ? ? ? ? ? .data = TYPE_S3C2443,
>> + ? ? ? ? ? ? .compatible = "samsung,s3c2443-rtc",
>> + ? ? ? ? ? ? .data = (void *)TYPE_S3C2443,
>> ? ? ? }, {
>> - ? ? ? ? ? ? .compatible = "samsung,s3c6410-rtc"
>> - ? ? ? ? ? ? .data = TYPE_S3C64XX,
>> + ? ? ? ? ? ? .compatible = "samsung,s3c6410-rtc",
>> + ? ? ? ? ? ? .data = (void *)TYPE_S3C64XX,
>> ? ? ? },
>> ? ? ? {},
>> ?};
>> --
>> 1.6.6.rc2
>>
>> --
>> To unsubscribe from this list: send the line "unsubscribe linux-samsung-soc"
>> in
>> the body of a message to majordomo at vger.kernel.org
>> More majordomo info at ?http://vger.kernel.org/majordomo-info.html
>>

^ permalink raw reply	[flat|nested] 62+ messages in thread

* Re: [PATCH 07/12] ARM: Exynos5: Modify the GIC physical address for static io-mapping
  2012-04-17  6:31     ` Kyungmin Park
@ 2012-04-17  8:19       ` Thomas Abraham
  -1 siblings, 0 replies; 62+ messages in thread
From: Thomas Abraham @ 2012-04-17  8:19 UTC (permalink / raw)
  To: Kyungmin Park
  Cc: kgene.kim, linux-samsung-soc, Changhwan Youn, linux-arm-kernel

On 17 April 2012 12:01, Kyungmin Park <kmpark@infradead.org> wrote:
> Hi,
>
> On 4/17/12, Thomas Abraham <thomas.abraham@linaro.org> wrote:
>> From: Changhwan Youn <chaos.youn@samsung.com>
>>
>> Adapt to changes in GIC physical address in rev1 of Exynos5.
>
> Does it different from rev0 and rev1? and does it support the rev1 only?

The physical base address of CPU and distributor portions of GIC are
different on Rev0 and Rev1.0. This patch series overrides Rev0 and
hence the mainline will support only Rev1.0. If the support for Rev0
should also be maintained (if there are users of it), then I can
maintain the support for Rev0 also.

Thanks,
Thomas.

>
> Thank you,
> Kyungmin Park
>>
>> Signed-off-by: Changhwan Youn <chaos.youn@samsung.com>
>> ---
>>  arch/arm/mach-exynos/common.c           |    4 ++--
>>  arch/arm/mach-exynos/include/mach/map.h |    4 ++--
>>  2 files changed, 4 insertions(+), 4 deletions(-)
>>
>> diff --git a/arch/arm/mach-exynos/common.c b/arch/arm/mach-exynos/common.c
>> index 35ac675..457d031 100644
>> --- a/arch/arm/mach-exynos/common.c
>> +++ b/arch/arm/mach-exynos/common.c
>> @@ -265,12 +265,12 @@ static struct map_desc exynos5_iodesc[] __initdata = {
>>       }, {
>>               .virtual        = (unsigned long)S5P_VA_GIC_CPU,
>>               .pfn            = __phys_to_pfn(EXYNOS5_PA_GIC_CPU),
>> -             .length         = SZ_64K,
>> +             .length         = SZ_8K,
>>               .type           = MT_DEVICE,
>>       }, {
>>               .virtual        = (unsigned long)S5P_VA_GIC_DIST,
>>               .pfn            = __phys_to_pfn(EXYNOS5_PA_GIC_DIST),
>> -             .length         = SZ_64K,
>> +             .length         = SZ_4K,
>>               .type           = MT_DEVICE,
>>       },
>>  };
>> diff --git a/arch/arm/mach-exynos/include/mach/map.h
>> b/arch/arm/mach-exynos/include/mach/map.h
>> index 0e2292d..648d59b 100644
>> --- a/arch/arm/mach-exynos/include/mach/map.h
>> +++ b/arch/arm/mach-exynos/include/mach/map.h
>> @@ -78,8 +78,8 @@
>>
>>  #define EXYNOS4_PA_GIC_CPU           0x10480000
>>  #define EXYNOS4_PA_GIC_DIST          0x10490000
>> -#define EXYNOS5_PA_GIC_CPU           0x10480000
>> -#define EXYNOS5_PA_GIC_DIST          0x10490000
>> +#define EXYNOS5_PA_GIC_CPU           0x10482000
>> +#define EXYNOS5_PA_GIC_DIST          0x10481000
>>
>>  #define EXYNOS4_PA_COREPERI          0x10500000
>>  #define EXYNOS4_PA_TWD                       0x10500600
>> --
>> 1.6.6.rc2
>>
>> --
>> To unsubscribe from this list: send the line "unsubscribe linux-samsung-soc"
>> in
>> the body of a message to majordomo@vger.kernel.org
>> More majordomo info at  http://vger.kernel.org/majordomo-info.html
>>
>
> _______________________________________________
> linux-arm-kernel mailing list
> linux-arm-kernel@lists.infradead.org
> http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

^ permalink raw reply	[flat|nested] 62+ messages in thread

* [PATCH 07/12] ARM: Exynos5: Modify the GIC physical address for static io-mapping
@ 2012-04-17  8:19       ` Thomas Abraham
  0 siblings, 0 replies; 62+ messages in thread
From: Thomas Abraham @ 2012-04-17  8:19 UTC (permalink / raw)
  To: linux-arm-kernel

On 17 April 2012 12:01, Kyungmin Park <kmpark@infradead.org> wrote:
> Hi,
>
> On 4/17/12, Thomas Abraham <thomas.abraham@linaro.org> wrote:
>> From: Changhwan Youn <chaos.youn@samsung.com>
>>
>> Adapt to changes in GIC physical address in rev1 of Exynos5.
>
> Does it different from rev0 and rev1? and does it support the rev1 only?

The physical base address of CPU and distributor portions of GIC are
different on Rev0 and Rev1.0. This patch series overrides Rev0 and
hence the mainline will support only Rev1.0. If the support for Rev0
should also be maintained (if there are users of it), then I can
maintain the support for Rev0 also.

Thanks,
Thomas.

>
> Thank you,
> Kyungmin Park
>>
>> Signed-off-by: Changhwan Youn <chaos.youn@samsung.com>
>> ---
>> ?arch/arm/mach-exynos/common.c ? ? ? ? ? | ? ?4 ++--
>> ?arch/arm/mach-exynos/include/mach/map.h | ? ?4 ++--
>> ?2 files changed, 4 insertions(+), 4 deletions(-)
>>
>> diff --git a/arch/arm/mach-exynos/common.c b/arch/arm/mach-exynos/common.c
>> index 35ac675..457d031 100644
>> --- a/arch/arm/mach-exynos/common.c
>> +++ b/arch/arm/mach-exynos/common.c
>> @@ -265,12 +265,12 @@ static struct map_desc exynos5_iodesc[] __initdata = {
>> ? ? ? }, {
>> ? ? ? ? ? ? ? .virtual ? ? ? ?= (unsigned long)S5P_VA_GIC_CPU,
>> ? ? ? ? ? ? ? .pfn ? ? ? ? ? ?= __phys_to_pfn(EXYNOS5_PA_GIC_CPU),
>> - ? ? ? ? ? ? .length ? ? ? ? = SZ_64K,
>> + ? ? ? ? ? ? .length ? ? ? ? = SZ_8K,
>> ? ? ? ? ? ? ? .type ? ? ? ? ? = MT_DEVICE,
>> ? ? ? }, {
>> ? ? ? ? ? ? ? .virtual ? ? ? ?= (unsigned long)S5P_VA_GIC_DIST,
>> ? ? ? ? ? ? ? .pfn ? ? ? ? ? ?= __phys_to_pfn(EXYNOS5_PA_GIC_DIST),
>> - ? ? ? ? ? ? .length ? ? ? ? = SZ_64K,
>> + ? ? ? ? ? ? .length ? ? ? ? = SZ_4K,
>> ? ? ? ? ? ? ? .type ? ? ? ? ? = MT_DEVICE,
>> ? ? ? },
>> ?};
>> diff --git a/arch/arm/mach-exynos/include/mach/map.h
>> b/arch/arm/mach-exynos/include/mach/map.h
>> index 0e2292d..648d59b 100644
>> --- a/arch/arm/mach-exynos/include/mach/map.h
>> +++ b/arch/arm/mach-exynos/include/mach/map.h
>> @@ -78,8 +78,8 @@
>>
>> ?#define EXYNOS4_PA_GIC_CPU ? ? ? ? ? 0x10480000
>> ?#define EXYNOS4_PA_GIC_DIST ? ? ? ? ?0x10490000
>> -#define EXYNOS5_PA_GIC_CPU ? ? ? ? ? 0x10480000
>> -#define EXYNOS5_PA_GIC_DIST ? ? ? ? ?0x10490000
>> +#define EXYNOS5_PA_GIC_CPU ? ? ? ? ? 0x10482000
>> +#define EXYNOS5_PA_GIC_DIST ? ? ? ? ?0x10481000
>>
>> ?#define EXYNOS4_PA_COREPERI ? ? ? ? ?0x10500000
>> ?#define EXYNOS4_PA_TWD ? ? ? ? ? ? ? ? ? ? ? 0x10500600
>> --
>> 1.6.6.rc2
>>
>> --
>> To unsubscribe from this list: send the line "unsubscribe linux-samsung-soc"
>> in
>> the body of a message to majordomo at vger.kernel.org
>> More majordomo info at ?http://vger.kernel.org/majordomo-info.html
>>
>
> _______________________________________________
> linux-arm-kernel mailing list
> linux-arm-kernel at lists.infradead.org
> http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

^ permalink raw reply	[flat|nested] 62+ messages in thread

* Re: [PATCH 08/12] gpio/samsung: add GPC4 bank instance
  2012-04-17  6:33     ` Kyungmin Park
@ 2012-04-17  8:24       ` Thomas Abraham
  -1 siblings, 0 replies; 62+ messages in thread
From: Thomas Abraham @ 2012-04-17  8:24 UTC (permalink / raw)
  To: Kyungmin Park
  Cc: linux-samsung-soc, kgene.kim, linux-arm-kernel, Sangsu Park,
	Grant Likely

On 17 April 2012 12:03, Kyungmin Park <kmpark@infradead.org> wrote:
> On 4/17/12, Thomas Abraham <thomas.abraham@linaro.org> wrote:
>> From: Sangsu Park <sangsu4u.park@samsung.com>
>>
>> Add GPC4 bank instance which is included in rev1 of Exynos5.
>>
>> Cc: Grant Likely <grant.likely@secretlab.ca>
>> Signed-off-by: Sangsu Park <sangsu4u.park@samsung.com>
>> ---
>>  arch/arm/mach-exynos/include/mach/gpio.h |    9 ++++++---
>>  drivers/gpio/gpio-samsung.c              |    8 ++++++++
>>  2 files changed, 14 insertions(+), 3 deletions(-)
>>
>> diff --git a/arch/arm/mach-exynos/include/mach/gpio.h
>> b/arch/arm/mach-exynos/include/mach/gpio.h
>> index d7498af..df5612b 100644
>> --- a/arch/arm/mach-exynos/include/mach/gpio.h
>> +++ b/arch/arm/mach-exynos/include/mach/gpio.h
>> @@ -153,10 +153,11 @@ enum exynos4_gpio_number {
>>  #define EXYNOS5_GPIO_B2_NR   (4)
>>  #define EXYNOS5_GPIO_B3_NR   (4)
>>  #define EXYNOS5_GPIO_C0_NR   (7)
>> -#define EXYNOS5_GPIO_C1_NR   (7)
>> +#define EXYNOS5_GPIO_C1_NR   (4)
>>  #define EXYNOS5_GPIO_C2_NR   (7)
>>  #define EXYNOS5_GPIO_C3_NR   (7)
>> -#define EXYNOS5_GPIO_D0_NR   (8)
>> +#define EXYNOS5_GPIO_C4_NR   (8)
>> +#define EXYNOS5_GPIO_D0_NR   (4)
>>  #define EXYNOS5_GPIO_D1_NR   (8)
>>  #define EXYNOS5_GPIO_Y0_NR   (6)
>>  #define EXYNOS5_GPIO_Y1_NR   (4)
>> @@ -199,7 +200,8 @@ enum exynos5_gpio_number {
>>       EXYNOS5_GPIO_C1_START           = EXYNOS_GPIO_NEXT(EXYNOS5_GPIO_C0),
>>       EXYNOS5_GPIO_C2_START           = EXYNOS_GPIO_NEXT(EXYNOS5_GPIO_C1),
>>       EXYNOS5_GPIO_C3_START           = EXYNOS_GPIO_NEXT(EXYNOS5_GPIO_C2),
>> -     EXYNOS5_GPIO_D0_START           = EXYNOS_GPIO_NEXT(EXYNOS5_GPIO_C3),
>> +     EXYNOS5_GPIO_C4_START           = EXYNOS_GPIO_NEXT(EXYNOS5_GPIO_C3),
>> +     EXYNOS5_GPIO_D0_START           = EXYNOS_GPIO_NEXT(EXYNOS5_GPIO_C4),
>>       EXYNOS5_GPIO_D1_START           = EXYNOS_GPIO_NEXT(EXYNOS5_GPIO_D0),
>>       EXYNOS5_GPIO_Y0_START           = EXYNOS_GPIO_NEXT(EXYNOS5_GPIO_D1),
>>       EXYNOS5_GPIO_Y1_START           = EXYNOS_GPIO_NEXT(EXYNOS5_GPIO_Y0),
>> @@ -242,6 +244,7 @@ enum exynos5_gpio_number {
>>  #define EXYNOS5_GPC1(_nr)    (EXYNOS5_GPIO_C1_START + (_nr))
>>  #define EXYNOS5_GPC2(_nr)    (EXYNOS5_GPIO_C2_START + (_nr))
>>  #define EXYNOS5_GPC3(_nr)    (EXYNOS5_GPIO_C3_START + (_nr))
>> +#define EXYNOS5_GPC4(_nr)    (EXYNOS5_GPIO_C4_START + (_nr))
>>  #define EXYNOS5_GPD0(_nr)    (EXYNOS5_GPIO_D0_START + (_nr))
>>  #define EXYNOS5_GPD1(_nr)    (EXYNOS5_GPIO_D1_START + (_nr))
>>  #define EXYNOS5_GPY0(_nr)    (EXYNOS5_GPIO_Y0_START + (_nr))
>> diff --git a/drivers/gpio/gpio-samsung.c b/drivers/gpio/gpio-samsung.c
>> index 4627787..0153bb9 100644
>> --- a/drivers/gpio/gpio-samsung.c
>> +++ b/drivers/gpio/gpio-samsung.c
>> @@ -2452,6 +2452,12 @@ static struct samsung_gpio_chip exynos5_gpios_1[] = {
>>               },
>>       }, {
>>               .chip   = {
>> +                     .base   = EXYNOS5_GPC4(0),
>> +                     .ngpio  = EXYNOS5_GPIO_C4_NR,
>> +                     .label  = "GPC4",
>> +             },
>> +     }, {
>> +             .chip   = {
>>                       .base   = EXYNOS5_GPD0(0),
>>                       .ngpio  = EXYNOS5_GPIO_D0_NR,
>>                       .label  = "GPD0",
>> @@ -2880,6 +2886,8 @@ static __init int samsung_gpiolib_init(void)
>>               for (i = 0; i < 4; i++, chip++, gpx_base += 0x20)
>>                       chip->base = gpx_base;
>>
>> +             exynos5_gpios_1[11].base = gpio_base1 + 0x2E0;
> '11' seems dangerous. I think you add comments here and above to know
> '11' meaning.

Yes, true. But these will go away when the Samsung pinctrl driver will
be merged. For now, I will put a comment to explain the meaning of 11.

Thanks for reviewing the patches.

Thanks,
Thomas.

>> +
>>               chip = exynos5_gpios_1;
>>               nr_chips = ARRAY_SIZE(exynos5_gpios_1);
>>
>> --
>> 1.6.6.rc2
>>
>> --
>> To unsubscribe from this list: send the line "unsubscribe linux-samsung-soc"
>> in
>> the body of a message to majordomo@vger.kernel.org
>> More majordomo info at  http://vger.kernel.org/majordomo-info.html
>>

^ permalink raw reply	[flat|nested] 62+ messages in thread

* [PATCH 08/12] gpio/samsung: add GPC4 bank instance
@ 2012-04-17  8:24       ` Thomas Abraham
  0 siblings, 0 replies; 62+ messages in thread
From: Thomas Abraham @ 2012-04-17  8:24 UTC (permalink / raw)
  To: linux-arm-kernel

On 17 April 2012 12:03, Kyungmin Park <kmpark@infradead.org> wrote:
> On 4/17/12, Thomas Abraham <thomas.abraham@linaro.org> wrote:
>> From: Sangsu Park <sangsu4u.park@samsung.com>
>>
>> Add GPC4 bank instance which is included in rev1 of Exynos5.
>>
>> Cc: Grant Likely <grant.likely@secretlab.ca>
>> Signed-off-by: Sangsu Park <sangsu4u.park@samsung.com>
>> ---
>> ?arch/arm/mach-exynos/include/mach/gpio.h | ? ?9 ++++++---
>> ?drivers/gpio/gpio-samsung.c ? ? ? ? ? ? ?| ? ?8 ++++++++
>> ?2 files changed, 14 insertions(+), 3 deletions(-)
>>
>> diff --git a/arch/arm/mach-exynos/include/mach/gpio.h
>> b/arch/arm/mach-exynos/include/mach/gpio.h
>> index d7498af..df5612b 100644
>> --- a/arch/arm/mach-exynos/include/mach/gpio.h
>> +++ b/arch/arm/mach-exynos/include/mach/gpio.h
>> @@ -153,10 +153,11 @@ enum exynos4_gpio_number {
>> ?#define EXYNOS5_GPIO_B2_NR ? (4)
>> ?#define EXYNOS5_GPIO_B3_NR ? (4)
>> ?#define EXYNOS5_GPIO_C0_NR ? (7)
>> -#define EXYNOS5_GPIO_C1_NR ? (7)
>> +#define EXYNOS5_GPIO_C1_NR ? (4)
>> ?#define EXYNOS5_GPIO_C2_NR ? (7)
>> ?#define EXYNOS5_GPIO_C3_NR ? (7)
>> -#define EXYNOS5_GPIO_D0_NR ? (8)
>> +#define EXYNOS5_GPIO_C4_NR ? (8)
>> +#define EXYNOS5_GPIO_D0_NR ? (4)
>> ?#define EXYNOS5_GPIO_D1_NR ? (8)
>> ?#define EXYNOS5_GPIO_Y0_NR ? (6)
>> ?#define EXYNOS5_GPIO_Y1_NR ? (4)
>> @@ -199,7 +200,8 @@ enum exynos5_gpio_number {
>> ? ? ? EXYNOS5_GPIO_C1_START ? ? ? ? ? = EXYNOS_GPIO_NEXT(EXYNOS5_GPIO_C0),
>> ? ? ? EXYNOS5_GPIO_C2_START ? ? ? ? ? = EXYNOS_GPIO_NEXT(EXYNOS5_GPIO_C1),
>> ? ? ? EXYNOS5_GPIO_C3_START ? ? ? ? ? = EXYNOS_GPIO_NEXT(EXYNOS5_GPIO_C2),
>> - ? ? EXYNOS5_GPIO_D0_START ? ? ? ? ? = EXYNOS_GPIO_NEXT(EXYNOS5_GPIO_C3),
>> + ? ? EXYNOS5_GPIO_C4_START ? ? ? ? ? = EXYNOS_GPIO_NEXT(EXYNOS5_GPIO_C3),
>> + ? ? EXYNOS5_GPIO_D0_START ? ? ? ? ? = EXYNOS_GPIO_NEXT(EXYNOS5_GPIO_C4),
>> ? ? ? EXYNOS5_GPIO_D1_START ? ? ? ? ? = EXYNOS_GPIO_NEXT(EXYNOS5_GPIO_D0),
>> ? ? ? EXYNOS5_GPIO_Y0_START ? ? ? ? ? = EXYNOS_GPIO_NEXT(EXYNOS5_GPIO_D1),
>> ? ? ? EXYNOS5_GPIO_Y1_START ? ? ? ? ? = EXYNOS_GPIO_NEXT(EXYNOS5_GPIO_Y0),
>> @@ -242,6 +244,7 @@ enum exynos5_gpio_number {
>> ?#define EXYNOS5_GPC1(_nr) ? ?(EXYNOS5_GPIO_C1_START + (_nr))
>> ?#define EXYNOS5_GPC2(_nr) ? ?(EXYNOS5_GPIO_C2_START + (_nr))
>> ?#define EXYNOS5_GPC3(_nr) ? ?(EXYNOS5_GPIO_C3_START + (_nr))
>> +#define EXYNOS5_GPC4(_nr) ? ?(EXYNOS5_GPIO_C4_START + (_nr))
>> ?#define EXYNOS5_GPD0(_nr) ? ?(EXYNOS5_GPIO_D0_START + (_nr))
>> ?#define EXYNOS5_GPD1(_nr) ? ?(EXYNOS5_GPIO_D1_START + (_nr))
>> ?#define EXYNOS5_GPY0(_nr) ? ?(EXYNOS5_GPIO_Y0_START + (_nr))
>> diff --git a/drivers/gpio/gpio-samsung.c b/drivers/gpio/gpio-samsung.c
>> index 4627787..0153bb9 100644
>> --- a/drivers/gpio/gpio-samsung.c
>> +++ b/drivers/gpio/gpio-samsung.c
>> @@ -2452,6 +2452,12 @@ static struct samsung_gpio_chip exynos5_gpios_1[] = {
>> ? ? ? ? ? ? ? },
>> ? ? ? }, {
>> ? ? ? ? ? ? ? .chip ? = {
>> + ? ? ? ? ? ? ? ? ? ? .base ? = EXYNOS5_GPC4(0),
>> + ? ? ? ? ? ? ? ? ? ? .ngpio ?= EXYNOS5_GPIO_C4_NR,
>> + ? ? ? ? ? ? ? ? ? ? .label ?= "GPC4",
>> + ? ? ? ? ? ? },
>> + ? ? }, {
>> + ? ? ? ? ? ? .chip ? = {
>> ? ? ? ? ? ? ? ? ? ? ? .base ? = EXYNOS5_GPD0(0),
>> ? ? ? ? ? ? ? ? ? ? ? .ngpio ?= EXYNOS5_GPIO_D0_NR,
>> ? ? ? ? ? ? ? ? ? ? ? .label ?= "GPD0",
>> @@ -2880,6 +2886,8 @@ static __init int samsung_gpiolib_init(void)
>> ? ? ? ? ? ? ? for (i = 0; i < 4; i++, chip++, gpx_base += 0x20)
>> ? ? ? ? ? ? ? ? ? ? ? chip->base = gpx_base;
>>
>> + ? ? ? ? ? ? exynos5_gpios_1[11].base = gpio_base1 + 0x2E0;
> '11' seems dangerous. I think you add comments here and above to know
> '11' meaning.

Yes, true. But these will go away when the Samsung pinctrl driver will
be merged. For now, I will put a comment to explain the meaning of 11.

Thanks for reviewing the patches.

Thanks,
Thomas.

>> +
>> ? ? ? ? ? ? ? chip = exynos5_gpios_1;
>> ? ? ? ? ? ? ? nr_chips = ARRAY_SIZE(exynos5_gpios_1);
>>
>> --
>> 1.6.6.rc2
>>
>> --
>> To unsubscribe from this list: send the line "unsubscribe linux-samsung-soc"
>> in
>> the body of a message to majordomo at vger.kernel.org
>> More majordomo info at ?http://vger.kernel.org/majordomo-info.html
>>

^ permalink raw reply	[flat|nested] 62+ messages in thread

* Re: [PATCH 06/12] rtc-s3c: Fix breakage introduced by S3C2443/S3C2416 support
  2012-04-17  8:15       ` Thomas Abraham
@ 2012-04-17  8:25         ` Kyungmin Park
  -1 siblings, 0 replies; 62+ messages in thread
From: Kyungmin Park @ 2012-04-17  8:25 UTC (permalink / raw)
  To: Thomas Abraham
  Cc: linux-samsung-soc, kgene.kim, linux-arm-kernel, Heiko Stuebner

On 4/17/12, Thomas Abraham <thomas.abraham@linaro.org> wrote:
> On 17 April 2012 12:00, Kyungmin Park <kmpark@infradead.org> wrote:
>> Hi,
>>
>> It's already merged with different patch,
>
> This is a repost of the patch from Heiko Stuebner which would be
> required to fix compilation issue for rtc driver. I think you are
> referring to that patch but it is not merged yet. So I am reposting it
> with this series.

No it's 3.4.0-rc3. it's already included.
>
> Thanks,
> Thomas.
>
>>
>> #ifdef CONFIG_OF
>> static const struct of_device_id s3c_rtc_dt_match[] = {
>>        {
>>                .compatible = "samsung,s3c2410-rtc",
>>                .data = &s3c_rtc_drv_data_array[TYPE_S3C2410],
>>        }, {
>>                .compatible = "samsung,s3c2416-rtc",
>>                .data = &s3c_rtc_drv_data_array[TYPE_S3C2416],
>>        }, {
>>                .compatible = "samsung,s3c2443-rtc",
>>                .data = &s3c_rtc_drv_data_array[TYPE_S3C2443],
>>        }, {
>>                .compatible = "samsung,s3c6410-rtc",
>>                .data = &s3c_rtc_drv_data_array[TYPE_S3C64XX],
>>        },
>>        {},
>> };
>> MODULE_DEVICE_TABLE(of, s3c_rtc_dt_match);
>> #else
>> #define s3c_rtc_dt_match NULL
>> #endif
>>
>> Thank you,
>> Kyungmin Park
>>
>> On 4/17/12, Thomas Abraham <thomas.abraham@linaro.org> wrote:
>>> From: Heiko Stuebner <heiko@sntech.de>
>>>
>>> Commits 7006ee4f (rtc-s3c: make room for more variants in devicetree
>>> block)
>>> and 6c0a2365 (rtc-s3c: add variants for S3C2443 and S3C2416)
>>> introduced build-failures with enabled CONFIG_USE_OF option.
>>>
>>> This patch fixes missing "," in s3c_rtc_dt_match and wrong handling of
>>> the of_device_id.data property.
>>>
>>> Reported-by: Sylwester Nawrocki <s.nawrocki@samsung.com>
>>> Signed-off-by: Heiko Stuebner <heiko@sntech.de>
>>> ---
>>>  drivers/rtc/rtc-s3c.c |   18 +++++++++---------
>>>  1 files changed, 9 insertions(+), 9 deletions(-)
>>>
>>> diff --git a/drivers/rtc/rtc-s3c.c b/drivers/rtc/rtc-s3c.c
>>> index 9ccea13..c792b6d 100644
>>> --- a/drivers/rtc/rtc-s3c.c
>>> +++ b/drivers/rtc/rtc-s3c.c
>>> @@ -449,7 +449,7 @@ static inline int s3c_rtc_get_driver_data(struct
>>> platform_device *pdev)
>>>       if (pdev->dev.of_node) {
>>>               const struct of_device_id *match;
>>>               match = of_match_node(s3c_rtc_dt_match, pdev->dev.of_node);
>>> -             return match->data;
>>> +             return (int)match->data;
>>>       }
>>>  #endif
>>>       return platform_get_device_id(pdev)->driver_data;
>>> @@ -667,17 +667,17 @@ static int s3c_rtc_resume(struct platform_device
>>> *pdev)
>>>  #ifdef CONFIG_OF
>>>  static const struct of_device_id s3c_rtc_dt_match[] = {
>>>       {
>>> -             .compatible = "samsung,s3c2410-rtc"
>>> -             .data = TYPE_S3C2410,
>>> +             .compatible = "samsung,s3c2410-rtc",
>>> +             .data = (void *)TYPE_S3C2410,
>>>       }, {
>>> -             .compatible = "samsung,s3c2416-rtc"
>>> -             .data = TYPE_S3C2416,
>>> +             .compatible = "samsung,s3c2416-rtc",
>>> +             .data = (void *)TYPE_S3C2416,
>>>       }, {
>>> -             .compatible = "samsung,s3c2443-rtc"
>>> -             .data = TYPE_S3C2443,
>>> +             .compatible = "samsung,s3c2443-rtc",
>>> +             .data = (void *)TYPE_S3C2443,
>>>       }, {
>>> -             .compatible = "samsung,s3c6410-rtc"
>>> -             .data = TYPE_S3C64XX,
>>> +             .compatible = "samsung,s3c6410-rtc",
>>> +             .data = (void *)TYPE_S3C64XX,
>>>       },
>>>       {},
>>>  };
>>> --
>>> 1.6.6.rc2
>>>
>>> --
>>> To unsubscribe from this list: send the line "unsubscribe
>>> linux-samsung-soc"
>>> in
>>> the body of a message to majordomo@vger.kernel.org
>>> More majordomo info at  http://vger.kernel.org/majordomo-info.html
>>>
> --
> To unsubscribe from this list: send the line "unsubscribe linux-samsung-soc"
> in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html
>

^ permalink raw reply	[flat|nested] 62+ messages in thread

* [PATCH 06/12] rtc-s3c: Fix breakage introduced by S3C2443/S3C2416 support
@ 2012-04-17  8:25         ` Kyungmin Park
  0 siblings, 0 replies; 62+ messages in thread
From: Kyungmin Park @ 2012-04-17  8:25 UTC (permalink / raw)
  To: linux-arm-kernel

On 4/17/12, Thomas Abraham <thomas.abraham@linaro.org> wrote:
> On 17 April 2012 12:00, Kyungmin Park <kmpark@infradead.org> wrote:
>> Hi,
>>
>> It's already merged with different patch,
>
> This is a repost of the patch from Heiko Stuebner which would be
> required to fix compilation issue for rtc driver. I think you are
> referring to that patch but it is not merged yet. So I am reposting it
> with this series.

No it's 3.4.0-rc3. it's already included.
>
> Thanks,
> Thomas.
>
>>
>> #ifdef CONFIG_OF
>> static const struct of_device_id s3c_rtc_dt_match[] = {
>>        {
>>                .compatible = "samsung,s3c2410-rtc",
>>                .data = &s3c_rtc_drv_data_array[TYPE_S3C2410],
>>        }, {
>>                .compatible = "samsung,s3c2416-rtc",
>>                .data = &s3c_rtc_drv_data_array[TYPE_S3C2416],
>>        }, {
>>                .compatible = "samsung,s3c2443-rtc",
>>                .data = &s3c_rtc_drv_data_array[TYPE_S3C2443],
>>        }, {
>>                .compatible = "samsung,s3c6410-rtc",
>>                .data = &s3c_rtc_drv_data_array[TYPE_S3C64XX],
>>        },
>>        {},
>> };
>> MODULE_DEVICE_TABLE(of, s3c_rtc_dt_match);
>> #else
>> #define s3c_rtc_dt_match NULL
>> #endif
>>
>> Thank you,
>> Kyungmin Park
>>
>> On 4/17/12, Thomas Abraham <thomas.abraham@linaro.org> wrote:
>>> From: Heiko Stuebner <heiko@sntech.de>
>>>
>>> Commits 7006ee4f (rtc-s3c: make room for more variants in devicetree
>>> block)
>>> and 6c0a2365 (rtc-s3c: add variants for S3C2443 and S3C2416)
>>> introduced build-failures with enabled CONFIG_USE_OF option.
>>>
>>> This patch fixes missing "," in s3c_rtc_dt_match and wrong handling of
>>> the of_device_id.data property.
>>>
>>> Reported-by: Sylwester Nawrocki <s.nawrocki@samsung.com>
>>> Signed-off-by: Heiko Stuebner <heiko@sntech.de>
>>> ---
>>>  drivers/rtc/rtc-s3c.c |   18 +++++++++---------
>>>  1 files changed, 9 insertions(+), 9 deletions(-)
>>>
>>> diff --git a/drivers/rtc/rtc-s3c.c b/drivers/rtc/rtc-s3c.c
>>> index 9ccea13..c792b6d 100644
>>> --- a/drivers/rtc/rtc-s3c.c
>>> +++ b/drivers/rtc/rtc-s3c.c
>>> @@ -449,7 +449,7 @@ static inline int s3c_rtc_get_driver_data(struct
>>> platform_device *pdev)
>>>       if (pdev->dev.of_node) {
>>>               const struct of_device_id *match;
>>>               match = of_match_node(s3c_rtc_dt_match, pdev->dev.of_node);
>>> -             return match->data;
>>> +             return (int)match->data;
>>>       }
>>>  #endif
>>>       return platform_get_device_id(pdev)->driver_data;
>>> @@ -667,17 +667,17 @@ static int s3c_rtc_resume(struct platform_device
>>> *pdev)
>>>  #ifdef CONFIG_OF
>>>  static const struct of_device_id s3c_rtc_dt_match[] = {
>>>       {
>>> -             .compatible = "samsung,s3c2410-rtc"
>>> -             .data = TYPE_S3C2410,
>>> +             .compatible = "samsung,s3c2410-rtc",
>>> +             .data = (void *)TYPE_S3C2410,
>>>       }, {
>>> -             .compatible = "samsung,s3c2416-rtc"
>>> -             .data = TYPE_S3C2416,
>>> +             .compatible = "samsung,s3c2416-rtc",
>>> +             .data = (void *)TYPE_S3C2416,
>>>       }, {
>>> -             .compatible = "samsung,s3c2443-rtc"
>>> -             .data = TYPE_S3C2443,
>>> +             .compatible = "samsung,s3c2443-rtc",
>>> +             .data = (void *)TYPE_S3C2443,
>>>       }, {
>>> -             .compatible = "samsung,s3c6410-rtc"
>>> -             .data = TYPE_S3C64XX,
>>> +             .compatible = "samsung,s3c6410-rtc",
>>> +             .data = (void *)TYPE_S3C64XX,
>>>       },
>>>       {},
>>>  };
>>> --
>>> 1.6.6.rc2
>>>
>>> --
>>> To unsubscribe from this list: send the line "unsubscribe
>>> linux-samsung-soc"
>>> in
>>> the body of a message to majordomo at vger.kernel.org
>>> More majordomo info at  http://vger.kernel.org/majordomo-info.html
>>>
> --
> To unsubscribe from this list: send the line "unsubscribe linux-samsung-soc"
> in
> the body of a message to majordomo at vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html
>

^ permalink raw reply	[flat|nested] 62+ messages in thread

* Re: [PATCH 06/12] rtc-s3c: Fix breakage introduced by S3C2443/S3C2416 support
  2012-04-17  8:25         ` Kyungmin Park
@ 2012-04-17  8:39           ` Thomas Abraham
  -1 siblings, 0 replies; 62+ messages in thread
From: Thomas Abraham @ 2012-04-17  8:39 UTC (permalink / raw)
  To: Kyungmin Park
  Cc: linux-samsung-soc, kgene.kim, linux-arm-kernel, Heiko Stuebner

On 17 April 2012 13:55, Kyungmin Park <kmpark@infradead.org> wrote:
> On 4/17/12, Thomas Abraham <thomas.abraham@linaro.org> wrote:
>> On 17 April 2012 12:00, Kyungmin Park <kmpark@infradead.org> wrote:
>>> Hi,
>>>
>>> It's already merged with different patch,
>>
>> This is a repost of the patch from Heiko Stuebner which would be
>> required to fix compilation issue for rtc driver. I think you are
>> referring to that patch but it is not merged yet. So I am reposting it
>> with this series.
>
> No it's 3.4.0-rc3. it's already included.

Right, it is merged already. I was still on -rc2 and did not notice this change.

Thanks,
Thomas.

>>
>> Thanks,
>> Thomas.
>>
>>>
>>> #ifdef CONFIG_OF
>>> static const struct of_device_id s3c_rtc_dt_match[] = {
>>>        {
>>>                .compatible = "samsung,s3c2410-rtc",
>>>                .data = &s3c_rtc_drv_data_array[TYPE_S3C2410],
>>>        }, {
>>>                .compatible = "samsung,s3c2416-rtc",
>>>                .data = &s3c_rtc_drv_data_array[TYPE_S3C2416],
>>>        }, {
>>>                .compatible = "samsung,s3c2443-rtc",
>>>                .data = &s3c_rtc_drv_data_array[TYPE_S3C2443],
>>>        }, {
>>>                .compatible = "samsung,s3c6410-rtc",
>>>                .data = &s3c_rtc_drv_data_array[TYPE_S3C64XX],
>>>        },
>>>        {},
>>> };
>>> MODULE_DEVICE_TABLE(of, s3c_rtc_dt_match);
>>> #else
>>> #define s3c_rtc_dt_match NULL
>>> #endif
>>>
>>> Thank you,
>>> Kyungmin Park
>>>
>>> On 4/17/12, Thomas Abraham <thomas.abraham@linaro.org> wrote:
>>>> From: Heiko Stuebner <heiko@sntech.de>
>>>>
>>>> Commits 7006ee4f (rtc-s3c: make room for more variants in devicetree
>>>> block)
>>>> and 6c0a2365 (rtc-s3c: add variants for S3C2443 and S3C2416)
>>>> introduced build-failures with enabled CONFIG_USE_OF option.
>>>>
>>>> This patch fixes missing "," in s3c_rtc_dt_match and wrong handling of
>>>> the of_device_id.data property.
>>>>
>>>> Reported-by: Sylwester Nawrocki <s.nawrocki@samsung.com>
>>>> Signed-off-by: Heiko Stuebner <heiko@sntech.de>
>>>> ---
>>>>  drivers/rtc/rtc-s3c.c |   18 +++++++++---------
>>>>  1 files changed, 9 insertions(+), 9 deletions(-)
>>>>
>>>> diff --git a/drivers/rtc/rtc-s3c.c b/drivers/rtc/rtc-s3c.c
>>>> index 9ccea13..c792b6d 100644
>>>> --- a/drivers/rtc/rtc-s3c.c
>>>> +++ b/drivers/rtc/rtc-s3c.c
>>>> @@ -449,7 +449,7 @@ static inline int s3c_rtc_get_driver_data(struct
>>>> platform_device *pdev)
>>>>       if (pdev->dev.of_node) {
>>>>               const struct of_device_id *match;
>>>>               match = of_match_node(s3c_rtc_dt_match, pdev->dev.of_node);
>>>> -             return match->data;
>>>> +             return (int)match->data;
>>>>       }
>>>>  #endif
>>>>       return platform_get_device_id(pdev)->driver_data;
>>>> @@ -667,17 +667,17 @@ static int s3c_rtc_resume(struct platform_device
>>>> *pdev)
>>>>  #ifdef CONFIG_OF
>>>>  static const struct of_device_id s3c_rtc_dt_match[] = {
>>>>       {
>>>> -             .compatible = "samsung,s3c2410-rtc"
>>>> -             .data = TYPE_S3C2410,
>>>> +             .compatible = "samsung,s3c2410-rtc",
>>>> +             .data = (void *)TYPE_S3C2410,
>>>>       }, {
>>>> -             .compatible = "samsung,s3c2416-rtc"
>>>> -             .data = TYPE_S3C2416,
>>>> +             .compatible = "samsung,s3c2416-rtc",
>>>> +             .data = (void *)TYPE_S3C2416,
>>>>       }, {
>>>> -             .compatible = "samsung,s3c2443-rtc"
>>>> -             .data = TYPE_S3C2443,
>>>> +             .compatible = "samsung,s3c2443-rtc",
>>>> +             .data = (void *)TYPE_S3C2443,
>>>>       }, {
>>>> -             .compatible = "samsung,s3c6410-rtc"
>>>> -             .data = TYPE_S3C64XX,
>>>> +             .compatible = "samsung,s3c6410-rtc",
>>>> +             .data = (void *)TYPE_S3C64XX,
>>>>       },
>>>>       {},
>>>>  };
>>>> --
>>>> 1.6.6.rc2
>>>>
>>>> --
>>>> To unsubscribe from this list: send the line "unsubscribe
>>>> linux-samsung-soc"
>>>> in
>>>> the body of a message to majordomo@vger.kernel.org
>>>> More majordomo info at  http://vger.kernel.org/majordomo-info.html
>>>>
>> --
>> To unsubscribe from this list: send the line "unsubscribe linux-samsung-soc"
>> in
>> the body of a message to majordomo@vger.kernel.org
>> More majordomo info at  http://vger.kernel.org/majordomo-info.html
>>

^ permalink raw reply	[flat|nested] 62+ messages in thread

* [PATCH 06/12] rtc-s3c: Fix breakage introduced by S3C2443/S3C2416 support
@ 2012-04-17  8:39           ` Thomas Abraham
  0 siblings, 0 replies; 62+ messages in thread
From: Thomas Abraham @ 2012-04-17  8:39 UTC (permalink / raw)
  To: linux-arm-kernel

On 17 April 2012 13:55, Kyungmin Park <kmpark@infradead.org> wrote:
> On 4/17/12, Thomas Abraham <thomas.abraham@linaro.org> wrote:
>> On 17 April 2012 12:00, Kyungmin Park <kmpark@infradead.org> wrote:
>>> Hi,
>>>
>>> It's already merged with different patch,
>>
>> This is a repost of the patch from Heiko Stuebner which would be
>> required to fix compilation issue for rtc driver. I think you are
>> referring to that patch but it is not merged yet. So I am reposting it
>> with this series.
>
> No it's 3.4.0-rc3. it's already included.

Right, it is merged already. I was still on -rc2 and did not notice this change.

Thanks,
Thomas.

>>
>> Thanks,
>> Thomas.
>>
>>>
>>> #ifdef CONFIG_OF
>>> static const struct of_device_id s3c_rtc_dt_match[] = {
>>> ? ? ? ?{
>>> ? ? ? ? ? ? ? ?.compatible = "samsung,s3c2410-rtc",
>>> ? ? ? ? ? ? ? ?.data = &s3c_rtc_drv_data_array[TYPE_S3C2410],
>>> ? ? ? ?}, {
>>> ? ? ? ? ? ? ? ?.compatible = "samsung,s3c2416-rtc",
>>> ? ? ? ? ? ? ? ?.data = &s3c_rtc_drv_data_array[TYPE_S3C2416],
>>> ? ? ? ?}, {
>>> ? ? ? ? ? ? ? ?.compatible = "samsung,s3c2443-rtc",
>>> ? ? ? ? ? ? ? ?.data = &s3c_rtc_drv_data_array[TYPE_S3C2443],
>>> ? ? ? ?}, {
>>> ? ? ? ? ? ? ? ?.compatible = "samsung,s3c6410-rtc",
>>> ? ? ? ? ? ? ? ?.data = &s3c_rtc_drv_data_array[TYPE_S3C64XX],
>>> ? ? ? ?},
>>> ? ? ? ?{},
>>> };
>>> MODULE_DEVICE_TABLE(of, s3c_rtc_dt_match);
>>> #else
>>> #define s3c_rtc_dt_match NULL
>>> #endif
>>>
>>> Thank you,
>>> Kyungmin Park
>>>
>>> On 4/17/12, Thomas Abraham <thomas.abraham@linaro.org> wrote:
>>>> From: Heiko Stuebner <heiko@sntech.de>
>>>>
>>>> Commits 7006ee4f (rtc-s3c: make room for more variants in devicetree
>>>> block)
>>>> and 6c0a2365 (rtc-s3c: add variants for S3C2443 and S3C2416)
>>>> introduced build-failures with enabled CONFIG_USE_OF option.
>>>>
>>>> This patch fixes missing "," in s3c_rtc_dt_match and wrong handling of
>>>> the of_device_id.data property.
>>>>
>>>> Reported-by: Sylwester Nawrocki <s.nawrocki@samsung.com>
>>>> Signed-off-by: Heiko Stuebner <heiko@sntech.de>
>>>> ---
>>>> ?drivers/rtc/rtc-s3c.c | ? 18 +++++++++---------
>>>> ?1 files changed, 9 insertions(+), 9 deletions(-)
>>>>
>>>> diff --git a/drivers/rtc/rtc-s3c.c b/drivers/rtc/rtc-s3c.c
>>>> index 9ccea13..c792b6d 100644
>>>> --- a/drivers/rtc/rtc-s3c.c
>>>> +++ b/drivers/rtc/rtc-s3c.c
>>>> @@ -449,7 +449,7 @@ static inline int s3c_rtc_get_driver_data(struct
>>>> platform_device *pdev)
>>>> ? ? ? if (pdev->dev.of_node) {
>>>> ? ? ? ? ? ? ? const struct of_device_id *match;
>>>> ? ? ? ? ? ? ? match = of_match_node(s3c_rtc_dt_match, pdev->dev.of_node);
>>>> - ? ? ? ? ? ? return match->data;
>>>> + ? ? ? ? ? ? return (int)match->data;
>>>> ? ? ? }
>>>> ?#endif
>>>> ? ? ? return platform_get_device_id(pdev)->driver_data;
>>>> @@ -667,17 +667,17 @@ static int s3c_rtc_resume(struct platform_device
>>>> *pdev)
>>>> ?#ifdef CONFIG_OF
>>>> ?static const struct of_device_id s3c_rtc_dt_match[] = {
>>>> ? ? ? {
>>>> - ? ? ? ? ? ? .compatible = "samsung,s3c2410-rtc"
>>>> - ? ? ? ? ? ? .data = TYPE_S3C2410,
>>>> + ? ? ? ? ? ? .compatible = "samsung,s3c2410-rtc",
>>>> + ? ? ? ? ? ? .data = (void *)TYPE_S3C2410,
>>>> ? ? ? }, {
>>>> - ? ? ? ? ? ? .compatible = "samsung,s3c2416-rtc"
>>>> - ? ? ? ? ? ? .data = TYPE_S3C2416,
>>>> + ? ? ? ? ? ? .compatible = "samsung,s3c2416-rtc",
>>>> + ? ? ? ? ? ? .data = (void *)TYPE_S3C2416,
>>>> ? ? ? }, {
>>>> - ? ? ? ? ? ? .compatible = "samsung,s3c2443-rtc"
>>>> - ? ? ? ? ? ? .data = TYPE_S3C2443,
>>>> + ? ? ? ? ? ? .compatible = "samsung,s3c2443-rtc",
>>>> + ? ? ? ? ? ? .data = (void *)TYPE_S3C2443,
>>>> ? ? ? }, {
>>>> - ? ? ? ? ? ? .compatible = "samsung,s3c6410-rtc"
>>>> - ? ? ? ? ? ? .data = TYPE_S3C64XX,
>>>> + ? ? ? ? ? ? .compatible = "samsung,s3c6410-rtc",
>>>> + ? ? ? ? ? ? .data = (void *)TYPE_S3C64XX,
>>>> ? ? ? },
>>>> ? ? ? {},
>>>> ?};
>>>> --
>>>> 1.6.6.rc2
>>>>
>>>> --
>>>> To unsubscribe from this list: send the line "unsubscribe
>>>> linux-samsung-soc"
>>>> in
>>>> the body of a message to majordomo at vger.kernel.org
>>>> More majordomo info at ?http://vger.kernel.org/majordomo-info.html
>>>>
>> --
>> To unsubscribe from this list: send the line "unsubscribe linux-samsung-soc"
>> in
>> the body of a message to majordomo at vger.kernel.org
>> More majordomo info at ?http://vger.kernel.org/majordomo-info.html
>>

^ permalink raw reply	[flat|nested] 62+ messages in thread

* Re: [PATCH 01/12] ARM: Exynos: Remove a new bus_type instance for Exynos5
  2012-04-17  5:46   ` Thomas Abraham
@ 2012-04-19  0:15     ` Kukjin Kim
  -1 siblings, 0 replies; 62+ messages in thread
From: Kukjin Kim @ 2012-04-19  0:15 UTC (permalink / raw)
  To: Thomas Abraham; +Cc: linux-samsung-soc, kgene.kim, linux-arm-kernel

Thomas Abraham wrote:
> A seperate bus_type instance is not required for Exynos5. The existing bus_type
> instance used with Exynos4 is sufficient for both Exynos4 and Exynos5. This
> also solves issue of uninitialized usage of exynos4_subsys in Exynos4 power

Yes, could be. BTW could you please check that with Jongpill's PM patch
for EXYNOS5? If just single bus_type supports EXYNOS4 and EXYNOS5, I'd
like to change its name to exynos_subsys.

Thanks.

Best regards,
Kgene.
--
Kukjin Kim <kgene.kim@samsung.com>, Senior Engineer,
SW Solution Development Team, Samsung Electronics Co., Ltd.

> management code that is reused for Exynos5 also.
> 
> Signed-off-by: Thomas Abraham<thomas.abraham@linaro.org>
> ---
>   arch/arm/mach-exynos/common.c |   19 ++-----------------
>   1 files changed, 2 insertions(+), 17 deletions(-)
> 
> diff --git a/arch/arm/mach-exynos/common.c b/arch/arm/mach-exynos/common.c
> index e9e353b..636d5f8 100644
> --- a/arch/arm/mach-exynos/common.c
> +++ b/arch/arm/mach-exynos/common.c
> @@ -557,25 +557,13 @@ struct bus_type exynos4_subsys = {
>   	.dev_name	= "exynos4-core",
>   };
> 
> -struct bus_type exynos5_subsys = {
> -	.name		= "exynos5-core",
> -	.dev_name	= "exynos5-core",
> -};
> -
>   static struct device exynos4_dev = {
>   	.bus	=&exynos4_subsys,
>   };
> 
> -static struct device exynos5_dev = {
> -	.bus	=&exynos5_subsys,
> -};
> -
>   static int __init exynos_core_init(void)
>   {
> -	if (soc_is_exynos5250())
> -		return subsys_system_register(&exynos5_subsys, NULL);
> -	else
> -		return subsys_system_register(&exynos4_subsys, NULL);
> +	return subsys_system_register(&exynos4_subsys, NULL);
>   }
>   core_initcall(exynos_core_init);
> 
> @@ -662,10 +650,7 @@ static int __init exynos_init(void)
>   {
>   	printk(KERN_INFO "EXYNOS: Initializing architecture\n");
> 
> -	if (soc_is_exynos5250())
> -		return device_register(&exynos5_dev);
> -	else
> -		return device_register(&exynos4_dev);
> +	return device_register(&exynos4_dev);
>   }
> 
>   /* uart registration process */

^ permalink raw reply	[flat|nested] 62+ messages in thread

* [PATCH 01/12] ARM: Exynos: Remove a new bus_type instance for Exynos5
@ 2012-04-19  0:15     ` Kukjin Kim
  0 siblings, 0 replies; 62+ messages in thread
From: Kukjin Kim @ 2012-04-19  0:15 UTC (permalink / raw)
  To: linux-arm-kernel

Thomas Abraham wrote:
> A seperate bus_type instance is not required for Exynos5. The existing bus_type
> instance used with Exynos4 is sufficient for both Exynos4 and Exynos5. This
> also solves issue of uninitialized usage of exynos4_subsys in Exynos4 power

Yes, could be. BTW could you please check that with Jongpill's PM patch
for EXYNOS5? If just single bus_type supports EXYNOS4 and EXYNOS5, I'd
like to change its name to exynos_subsys.

Thanks.

Best regards,
Kgene.
--
Kukjin Kim <kgene.kim@samsung.com>, Senior Engineer,
SW Solution Development Team, Samsung Electronics Co., Ltd.

> management code that is reused for Exynos5 also.
> 
> Signed-off-by: Thomas Abraham<thomas.abraham@linaro.org>
> ---
>   arch/arm/mach-exynos/common.c |   19 ++-----------------
>   1 files changed, 2 insertions(+), 17 deletions(-)
> 
> diff --git a/arch/arm/mach-exynos/common.c b/arch/arm/mach-exynos/common.c
> index e9e353b..636d5f8 100644
> --- a/arch/arm/mach-exynos/common.c
> +++ b/arch/arm/mach-exynos/common.c
> @@ -557,25 +557,13 @@ struct bus_type exynos4_subsys = {
>   	.dev_name	= "exynos4-core",
>   };
> 
> -struct bus_type exynos5_subsys = {
> -	.name		= "exynos5-core",
> -	.dev_name	= "exynos5-core",
> -};
> -
>   static struct device exynos4_dev = {
>   	.bus	=&exynos4_subsys,
>   };
> 
> -static struct device exynos5_dev = {
> -	.bus	=&exynos5_subsys,
> -};
> -
>   static int __init exynos_core_init(void)
>   {
> -	if (soc_is_exynos5250())
> -		return subsys_system_register(&exynos5_subsys, NULL);
> -	else
> -		return subsys_system_register(&exynos4_subsys, NULL);
> +	return subsys_system_register(&exynos4_subsys, NULL);
>   }
>   core_initcall(exynos_core_init);
> 
> @@ -662,10 +650,7 @@ static int __init exynos_init(void)
>   {
>   	printk(KERN_INFO "EXYNOS: Initializing architecture\n");
> 
> -	if (soc_is_exynos5250())
> -		return device_register(&exynos5_dev);
> -	else
> -		return device_register(&exynos4_dev);
> +	return device_register(&exynos4_dev);
>   }
> 
>   /* uart registration process */

^ permalink raw reply	[flat|nested] 62+ messages in thread

* Re: [PATCH 12/12] ARM: Exynos5: Update device tree enabled machine file
  2012-04-17  5:46   ` Thomas Abraham
@ 2012-04-19  0:23     ` Kukjin Kim
  -1 siblings, 0 replies; 62+ messages in thread
From: Kukjin Kim @ 2012-04-19  0:23 UTC (permalink / raw)
  To: Thomas Abraham; +Cc: linux-samsung-soc, kgene.kim, linux-arm-kernel

Thomas Abraham wrote:
> Add AUXDATA for i2c and MDMA controllers of Exynos5.
> 
> Signed-off-by: Thomas Abraham<thomas.abraham@linaro.org>
> ---
>   arch/arm/mach-exynos/mach-exynos5-dt.c |    7 ++++++-
>   1 files changed, 6 insertions(+), 1 deletions(-)
> 
> diff --git a/arch/arm/mach-exynos/mach-exynos5-dt.c b/arch/arm/mach-exynos/mach-exynos5-dt.c
> index 4711c89..8adc061 100644
> --- a/arch/arm/mach-exynos/mach-exynos5-dt.c
> +++ b/arch/arm/mach-exynos/mach-exynos5-dt.c
> @@ -43,9 +43,14 @@ static const struct of_dev_auxdata exynos5250_auxdata_lookup[] __initconst = {
>   				"exynos4210-uart.2", NULL),
>   	OF_DEV_AUXDATA("samsung,exynos4210-uart", EXYNOS5_PA_UART3,
>   				"exynos4210-uart.3", NULL),
> +	OF_DEV_AUXDATA("samsung,s3c2440-i2c", EXYNOS5_PA_IIC(0),
> +				"s3c2440-i2c.0", NULL),
> +	OF_DEV_AUXDATA("samsung,s3c2440-i2c", EXYNOS5_PA_IIC(1),
> +				"s3c2440-i2c.1", NULL),
>   	OF_DEV_AUXDATA("arm,pl330", EXYNOS5_PA_PDMA0, "dma-pl330.0", NULL),
>   	OF_DEV_AUXDATA("arm,pl330", EXYNOS5_PA_PDMA1, "dma-pl330.1", NULL),
> -	OF_DEV_AUXDATA("arm,pl330", EXYNOS5_PA_MDMA1, "dma-pl330.2", NULL),
> +	OF_DEV_AUXDATA("arm,pl330", EXYNOS5_PA_MDMA0, "dma-pl330.2", NULL),
> +	OF_DEV_AUXDATA("arm,pl330", EXYNOS5_PA_MDMA1, "dma-pl330.3", NULL),

Probably, you missed my comments on your previous patches. Fixed on rc3.

So just need to update i2c stuff now.

Thanks.

Best regards,
Kgene.
--
Kukjin Kim <kgene.kim@samsung.com>, Senior Engineer,
SW Solution Development Team, Samsung Electronics Co., Ltd.

^ permalink raw reply	[flat|nested] 62+ messages in thread

* [PATCH 12/12] ARM: Exynos5: Update device tree enabled machine file
@ 2012-04-19  0:23     ` Kukjin Kim
  0 siblings, 0 replies; 62+ messages in thread
From: Kukjin Kim @ 2012-04-19  0:23 UTC (permalink / raw)
  To: linux-arm-kernel

Thomas Abraham wrote:
> Add AUXDATA for i2c and MDMA controllers of Exynos5.
> 
> Signed-off-by: Thomas Abraham<thomas.abraham@linaro.org>
> ---
>   arch/arm/mach-exynos/mach-exynos5-dt.c |    7 ++++++-
>   1 files changed, 6 insertions(+), 1 deletions(-)
> 
> diff --git a/arch/arm/mach-exynos/mach-exynos5-dt.c b/arch/arm/mach-exynos/mach-exynos5-dt.c
> index 4711c89..8adc061 100644
> --- a/arch/arm/mach-exynos/mach-exynos5-dt.c
> +++ b/arch/arm/mach-exynos/mach-exynos5-dt.c
> @@ -43,9 +43,14 @@ static const struct of_dev_auxdata exynos5250_auxdata_lookup[] __initconst = {
>   				"exynos4210-uart.2", NULL),
>   	OF_DEV_AUXDATA("samsung,exynos4210-uart", EXYNOS5_PA_UART3,
>   				"exynos4210-uart.3", NULL),
> +	OF_DEV_AUXDATA("samsung,s3c2440-i2c", EXYNOS5_PA_IIC(0),
> +				"s3c2440-i2c.0", NULL),
> +	OF_DEV_AUXDATA("samsung,s3c2440-i2c", EXYNOS5_PA_IIC(1),
> +				"s3c2440-i2c.1", NULL),
>   	OF_DEV_AUXDATA("arm,pl330", EXYNOS5_PA_PDMA0, "dma-pl330.0", NULL),
>   	OF_DEV_AUXDATA("arm,pl330", EXYNOS5_PA_PDMA1, "dma-pl330.1", NULL),
> -	OF_DEV_AUXDATA("arm,pl330", EXYNOS5_PA_MDMA1, "dma-pl330.2", NULL),
> +	OF_DEV_AUXDATA("arm,pl330", EXYNOS5_PA_MDMA0, "dma-pl330.2", NULL),
> +	OF_DEV_AUXDATA("arm,pl330", EXYNOS5_PA_MDMA1, "dma-pl330.3", NULL),

Probably, you missed my comments on your previous patches. Fixed on rc3.

So just need to update i2c stuff now.

Thanks.

Best regards,
Kgene.
--
Kukjin Kim <kgene.kim@samsung.com>, Senior Engineer,
SW Solution Development Team, Samsung Electronics Co., Ltd.

^ permalink raw reply	[flat|nested] 62+ messages in thread

* Re: [PATCH 03/12] ARM: Exynos5: Add watchdog timer clock instance
  2012-04-17  5:46   ` Thomas Abraham
@ 2012-04-19  0:28     ` Kukjin Kim
  -1 siblings, 0 replies; 62+ messages in thread
From: Kukjin Kim @ 2012-04-19  0:28 UTC (permalink / raw)
  To: Thomas Abraham; +Cc: linux-samsung-soc, kgene.kim, linux-arm-kernel

Thomas Abraham wrote:
> Add watchdog timer clock instance for Exynos5 watchdog controller.
> 
> Signed-off-by: Thomas Abraham<thomas.abraham@linaro.org>
> ---
>   arch/arm/mach-exynos/clock-exynos5.c |    5 +++++
>   1 files changed, 5 insertions(+), 0 deletions(-)
> 
> diff --git a/arch/arm/mach-exynos/clock-exynos5.c b/arch/arm/mach-exynos/clock-exynos5.c
> index ad3bec4..662615d 100644
> --- a/arch/arm/mach-exynos/clock-exynos5.c
> +++ b/arch/arm/mach-exynos/clock-exynos5.c
> @@ -474,6 +474,11 @@ static struct clk exynos5_init_clocks_off[] = {
>   		.enable		= exynos5_clk_ip_peris_ctrl,
>   		.ctrlbit	= (1<<  20),
>   	}, {
> +		.name		= "watchdog",
> +		.parent		=&exynos5_clk_aclk_66.clk,
> +		.enable		= exynos5_clk_ip_peris_ctrl,
> +		.ctrlbit	= (1<<  19),
> +	}, {
>   		.name		= "hsmmc",
>   		.devname	= "exynos4-sdhci.0",
>   		.parent		=&exynos5_clk_aclk_200.clk,

Looks ok, will apply.

Thanks.

Best regards,
Kgene.
--
Kukjin Kim <kgene.kim@samsung.com>, Senior Engineer,
SW Solution Development Team, Samsung Electronics Co., Ltd.

^ permalink raw reply	[flat|nested] 62+ messages in thread

* [PATCH 03/12] ARM: Exynos5: Add watchdog timer clock instance
@ 2012-04-19  0:28     ` Kukjin Kim
  0 siblings, 0 replies; 62+ messages in thread
From: Kukjin Kim @ 2012-04-19  0:28 UTC (permalink / raw)
  To: linux-arm-kernel

Thomas Abraham wrote:
> Add watchdog timer clock instance for Exynos5 watchdog controller.
> 
> Signed-off-by: Thomas Abraham<thomas.abraham@linaro.org>
> ---
>   arch/arm/mach-exynos/clock-exynos5.c |    5 +++++
>   1 files changed, 5 insertions(+), 0 deletions(-)
> 
> diff --git a/arch/arm/mach-exynos/clock-exynos5.c b/arch/arm/mach-exynos/clock-exynos5.c
> index ad3bec4..662615d 100644
> --- a/arch/arm/mach-exynos/clock-exynos5.c
> +++ b/arch/arm/mach-exynos/clock-exynos5.c
> @@ -474,6 +474,11 @@ static struct clk exynos5_init_clocks_off[] = {
>   		.enable		= exynos5_clk_ip_peris_ctrl,
>   		.ctrlbit	= (1<<  20),
>   	}, {
> +		.name		= "watchdog",
> +		.parent		=&exynos5_clk_aclk_66.clk,
> +		.enable		= exynos5_clk_ip_peris_ctrl,
> +		.ctrlbit	= (1<<  19),
> +	}, {
>   		.name		= "hsmmc",
>   		.devname	= "exynos4-sdhci.0",
>   		.parent		=&exynos5_clk_aclk_200.clk,

Looks ok, will apply.

Thanks.

Best regards,
Kgene.
--
Kukjin Kim <kgene.kim@samsung.com>, Senior Engineer,
SW Solution Development Team, Samsung Electronics Co., Ltd.

^ permalink raw reply	[flat|nested] 62+ messages in thread

* Re: [PATCH 04/12] ARM: Exynos5: Remove duplicated instantiation of pdma clock
  2012-04-17  5:46   ` Thomas Abraham
@ 2012-04-19  0:30     ` Kukjin Kim
  -1 siblings, 0 replies; 62+ messages in thread
From: Kukjin Kim @ 2012-04-19  0:30 UTC (permalink / raw)
  To: Thomas Abraham; +Cc: linux-samsung-soc, kgene.kim, linux-arm-kernel

Thomas Abraham wrote:
> The clock of both the peripheral dma controllers is controlled by a single
> clock gate. Hence remove the duplicate instantiation of the pdma clock.
> 
> Signed-off-by: Thomas Abraham<thomas.abraham@linaro.org>
> ---
>   arch/arm/mach-exynos/clock-exynos5.c |   17 ++++-------------
>   1 files changed, 4 insertions(+), 13 deletions(-)
> 
> diff --git a/arch/arm/mach-exynos/clock-exynos5.c b/arch/arm/mach-exynos/clock-exynos5.c
> index 662615d..fb95e9b 100644
> --- a/arch/arm/mach-exynos/clock-exynos5.c
> +++ b/arch/arm/mach-exynos/clock-exynos5.c
> @@ -762,16 +762,8 @@ static struct clk exynos5_init_clocks_on[] = {
>   	}
>   };
> 
> -static struct clk exynos5_clk_pdma0 = {
> +static struct clk exynos5_clk_pdma = {
>   	.name		= "dma",
> -	.devname	= "dma-pl330.0",
> -	.enable		= exynos5_clk_ip_fsys_ctrl,
> -	.ctrlbit	= (1<<  1),
> -};
> -
> -static struct clk exynos5_clk_pdma1 = {
> -	.name		= "dma",
> -	.devname	= "dma-pl330.1",
>   	.enable		= exynos5_clk_ip_fsys_ctrl,
>   	.ctrlbit	= (1<<  1),

Since this shuld be (1 << 2), this patch can be dropped.

As I know, Boojin's patch fixes this. If not, please fix this :)

Thanks.

Best regards,
Kgene.
--
Kukjin Kim <kgene.kim@samsung.com>, Senior Engineer,
SW Solution Development Team, Samsung Electronics Co., Ltd.

^ permalink raw reply	[flat|nested] 62+ messages in thread

* [PATCH 04/12] ARM: Exynos5: Remove duplicated instantiation of pdma clock
@ 2012-04-19  0:30     ` Kukjin Kim
  0 siblings, 0 replies; 62+ messages in thread
From: Kukjin Kim @ 2012-04-19  0:30 UTC (permalink / raw)
  To: linux-arm-kernel

Thomas Abraham wrote:
> The clock of both the peripheral dma controllers is controlled by a single
> clock gate. Hence remove the duplicate instantiation of the pdma clock.
> 
> Signed-off-by: Thomas Abraham<thomas.abraham@linaro.org>
> ---
>   arch/arm/mach-exynos/clock-exynos5.c |   17 ++++-------------
>   1 files changed, 4 insertions(+), 13 deletions(-)
> 
> diff --git a/arch/arm/mach-exynos/clock-exynos5.c b/arch/arm/mach-exynos/clock-exynos5.c
> index 662615d..fb95e9b 100644
> --- a/arch/arm/mach-exynos/clock-exynos5.c
> +++ b/arch/arm/mach-exynos/clock-exynos5.c
> @@ -762,16 +762,8 @@ static struct clk exynos5_init_clocks_on[] = {
>   	}
>   };
> 
> -static struct clk exynos5_clk_pdma0 = {
> +static struct clk exynos5_clk_pdma = {
>   	.name		= "dma",
> -	.devname	= "dma-pl330.0",
> -	.enable		= exynos5_clk_ip_fsys_ctrl,
> -	.ctrlbit	= (1<<  1),
> -};
> -
> -static struct clk exynos5_clk_pdma1 = {
> -	.name		= "dma",
> -	.devname	= "dma-pl330.1",
>   	.enable		= exynos5_clk_ip_fsys_ctrl,
>   	.ctrlbit	= (1<<  1),

Since this shuld be (1 << 2), this patch can be dropped.

As I know, Boojin's patch fixes this. If not, please fix this :)

Thanks.

Best regards,
Kgene.
--
Kukjin Kim <kgene.kim@samsung.com>, Senior Engineer,
SW Solution Development Team, Samsung Electronics Co., Ltd.

^ permalink raw reply	[flat|nested] 62+ messages in thread

* Re: [PATCH 08/12] gpio/samsung: add GPC4 bank instance
  2012-04-17  5:46   ` Thomas Abraham
@ 2012-04-19  0:36     ` Kukjin Kim
  -1 siblings, 0 replies; 62+ messages in thread
From: Kukjin Kim @ 2012-04-19  0:36 UTC (permalink / raw)
  To: Thomas Abraham
  Cc: linux-samsung-soc, kgene.kim, linux-arm-kernel, Sangsu Park,
	Grant Likely

Thomas Abraham wrote:
> From: Sangsu Park<sangsu4u.park@samsung.com>
> 
> Add GPC4 bank instance which is included in rev1 of Exynos5.
> 
> Cc: Grant Likely<grant.likely@secretlab.ca>
> Signed-off-by: Sangsu Park<sangsu4u.park@samsung.com>

Where is your sign??? Your sign MUST be included here.

> ---
>   arch/arm/mach-exynos/include/mach/gpio.h |    9 ++++++---
>   drivers/gpio/gpio-samsung.c              |    8 ++++++++
>   2 files changed, 14 insertions(+), 3 deletions(-)
> 
> diff --git a/arch/arm/mach-exynos/include/mach/gpio.h b/arch/arm/mach-exynos/include/mach/gpio.h
> index d7498af..df5612b 100644
> --- a/arch/arm/mach-exynos/include/mach/gpio.h
> +++ b/arch/arm/mach-exynos/include/mach/gpio.h
> @@ -153,10 +153,11 @@ enum exynos4_gpio_number {
>   #define EXYNOS5_GPIO_B2_NR	(4)
>   #define EXYNOS5_GPIO_B3_NR	(4)
>   #define EXYNOS5_GPIO_C0_NR	(7)
> -#define EXYNOS5_GPIO_C1_NR	(7)
> +#define EXYNOS5_GPIO_C1_NR	(4)
>   #define EXYNOS5_GPIO_C2_NR	(7)
>   #define EXYNOS5_GPIO_C3_NR	(7)
> -#define EXYNOS5_GPIO_D0_NR	(8)
> +#define EXYNOS5_GPIO_C4_NR	(8)

Should be 7. See the manual again :-(

> +#define EXYNOS5_GPIO_D0_NR	(4)
>   #define EXYNOS5_GPIO_D1_NR	(8)
>   #define EXYNOS5_GPIO_Y0_NR	(6)
>   #define EXYNOS5_GPIO_Y1_NR	(4)
> @@ -199,7 +200,8 @@ enum exynos5_gpio_number {
>   	EXYNOS5_GPIO_C1_START		= EXYNOS_GPIO_NEXT(EXYNOS5_GPIO_C0),
>   	EXYNOS5_GPIO_C2_START		= EXYNOS_GPIO_NEXT(EXYNOS5_GPIO_C1),
>   	EXYNOS5_GPIO_C3_START		= EXYNOS_GPIO_NEXT(EXYNOS5_GPIO_C2),
> -	EXYNOS5_GPIO_D0_START		= EXYNOS_GPIO_NEXT(EXYNOS5_GPIO_C3),
> +	EXYNOS5_GPIO_C4_START		= EXYNOS_GPIO_NEXT(EXYNOS5_GPIO_C3),
> +	EXYNOS5_GPIO_D0_START		= EXYNOS_GPIO_NEXT(EXYNOS5_GPIO_C4),
>   	EXYNOS5_GPIO_D1_START		= EXYNOS_GPIO_NEXT(EXYNOS5_GPIO_D0),
>   	EXYNOS5_GPIO_Y0_START		= EXYNOS_GPIO_NEXT(EXYNOS5_GPIO_D1),
>   	EXYNOS5_GPIO_Y1_START		= EXYNOS_GPIO_NEXT(EXYNOS5_GPIO_Y0),
> @@ -242,6 +244,7 @@ enum exynos5_gpio_number {
>   #define EXYNOS5_GPC1(_nr)	(EXYNOS5_GPIO_C1_START + (_nr))
>   #define EXYNOS5_GPC2(_nr)	(EXYNOS5_GPIO_C2_START + (_nr))
>   #define EXYNOS5_GPC3(_nr)	(EXYNOS5_GPIO_C3_START + (_nr))
> +#define EXYNOS5_GPC4(_nr)	(EXYNOS5_GPIO_C4_START + (_nr))
>   #define EXYNOS5_GPD0(_nr)	(EXYNOS5_GPIO_D0_START + (_nr))
>   #define EXYNOS5_GPD1(_nr)	(EXYNOS5_GPIO_D1_START + (_nr))
>   #define EXYNOS5_GPY0(_nr)	(EXYNOS5_GPIO_Y0_START + (_nr))
> diff --git a/drivers/gpio/gpio-samsung.c b/drivers/gpio/gpio-samsung.c
> index 4627787..0153bb9 100644
> --- a/drivers/gpio/gpio-samsung.c
> +++ b/drivers/gpio/gpio-samsung.c
> @@ -2452,6 +2452,12 @@ static struct samsung_gpio_chip exynos5_gpios_1[] = {
>   		},
>   	}, {
>   		.chip	= {
> +			.base	= EXYNOS5_GPC4(0),
> +			.ngpio	= EXYNOS5_GPIO_C4_NR,
> +			.label	= "GPC4",
> +		},
> +	}, {
> +		.chip	= {
>   			.base	= EXYNOS5_GPD0(0),
>   			.ngpio	= EXYNOS5_GPIO_D0_NR,
>   			.label	= "GPD0",
> @@ -2880,6 +2886,8 @@ static __init int samsung_gpiolib_init(void)
>   		for (i = 0; i<  4; i++, chip++, gpx_base += 0x20)
>   			chip->base = gpx_base;
> 
> +		exynos5_gpios_1[11].base = gpio_base1 + 0x2E0;
> +
>   		chip = exynos5_gpios_1;
>   		nr_chips = ARRAY_SIZE(exynos5_gpios_1);
> 

This is wrong. If you add GPC4 between GPC3 and GPD0, you need to
increase the gpx's counter like following and need to update
IRQ_GPIO1_NR_GROUPS as well.

diff --git a/drivers/gpio/gpio-samsung.c b/drivers/gpio/gpio-samsung.c
index 19d6fc0..1af0fa5 100644
--- a/drivers/gpio/gpio-samsung.c
+++ b/drivers/gpio/gpio-samsung.c
@@ -2875,7 +2875,7 @@ static __init int samsung_gpiolib_init(void)
                }

                /* need to set base address for gpx */
-               chip = &exynos5_gpios_1[20];
+               chip = &exynos5_gpios_1[21];
                gpx_base = gpio_base1 + 0xC00;
                for (i = 0; i < 4; i++, chip++, gpx_base += 0x20)
                        chip->base = gpx_base;

diff --git a/arch/arm/mach-exynos/include/mach/irqs.h
b/arch/arm/mach-exynos/inc
index 591e785..887788d 100644
--- a/arch/arm/mach-exynos/include/mach/irqs.h
+++ b/arch/arm/mach-exynos/include/mach/irqs.h
@@ -446,7 +446,7 @@

 #define EXYNOS5_MAX_COMBINER_NR                32

-#define EXYNOS5_IRQ_GPIO1_NR_GROUPS    13
+#define EXYNOS5_IRQ_GPIO1_NR_GROUPS    14
 #define EXYNOS5_IRQ_GPIO2_NR_GROUPS    9
 #define EXYNOS5_IRQ_GPIO3_NR_GROUPS    5
 #define EXYNOS5_IRQ_GPIO4_NR_GROUPS    1


Thanks.

Best regards,
Kgene.
--
Kukjin Kim <kgene.kim@samsung.com>, Senior Engineer,
SW Solution Development Team, Samsung Electronics Co., Ltd.

^ permalink raw reply related	[flat|nested] 62+ messages in thread

* [PATCH 08/12] gpio/samsung: add GPC4 bank instance
@ 2012-04-19  0:36     ` Kukjin Kim
  0 siblings, 0 replies; 62+ messages in thread
From: Kukjin Kim @ 2012-04-19  0:36 UTC (permalink / raw)
  To: linux-arm-kernel

Thomas Abraham wrote:
> From: Sangsu Park<sangsu4u.park@samsung.com>
> 
> Add GPC4 bank instance which is included in rev1 of Exynos5.
> 
> Cc: Grant Likely<grant.likely@secretlab.ca>
> Signed-off-by: Sangsu Park<sangsu4u.park@samsung.com>

Where is your sign??? Your sign MUST be included here.

> ---
>   arch/arm/mach-exynos/include/mach/gpio.h |    9 ++++++---
>   drivers/gpio/gpio-samsung.c              |    8 ++++++++
>   2 files changed, 14 insertions(+), 3 deletions(-)
> 
> diff --git a/arch/arm/mach-exynos/include/mach/gpio.h b/arch/arm/mach-exynos/include/mach/gpio.h
> index d7498af..df5612b 100644
> --- a/arch/arm/mach-exynos/include/mach/gpio.h
> +++ b/arch/arm/mach-exynos/include/mach/gpio.h
> @@ -153,10 +153,11 @@ enum exynos4_gpio_number {
>   #define EXYNOS5_GPIO_B2_NR	(4)
>   #define EXYNOS5_GPIO_B3_NR	(4)
>   #define EXYNOS5_GPIO_C0_NR	(7)
> -#define EXYNOS5_GPIO_C1_NR	(7)
> +#define EXYNOS5_GPIO_C1_NR	(4)
>   #define EXYNOS5_GPIO_C2_NR	(7)
>   #define EXYNOS5_GPIO_C3_NR	(7)
> -#define EXYNOS5_GPIO_D0_NR	(8)
> +#define EXYNOS5_GPIO_C4_NR	(8)

Should be 7. See the manual again :-(

> +#define EXYNOS5_GPIO_D0_NR	(4)
>   #define EXYNOS5_GPIO_D1_NR	(8)
>   #define EXYNOS5_GPIO_Y0_NR	(6)
>   #define EXYNOS5_GPIO_Y1_NR	(4)
> @@ -199,7 +200,8 @@ enum exynos5_gpio_number {
>   	EXYNOS5_GPIO_C1_START		= EXYNOS_GPIO_NEXT(EXYNOS5_GPIO_C0),
>   	EXYNOS5_GPIO_C2_START		= EXYNOS_GPIO_NEXT(EXYNOS5_GPIO_C1),
>   	EXYNOS5_GPIO_C3_START		= EXYNOS_GPIO_NEXT(EXYNOS5_GPIO_C2),
> -	EXYNOS5_GPIO_D0_START		= EXYNOS_GPIO_NEXT(EXYNOS5_GPIO_C3),
> +	EXYNOS5_GPIO_C4_START		= EXYNOS_GPIO_NEXT(EXYNOS5_GPIO_C3),
> +	EXYNOS5_GPIO_D0_START		= EXYNOS_GPIO_NEXT(EXYNOS5_GPIO_C4),
>   	EXYNOS5_GPIO_D1_START		= EXYNOS_GPIO_NEXT(EXYNOS5_GPIO_D0),
>   	EXYNOS5_GPIO_Y0_START		= EXYNOS_GPIO_NEXT(EXYNOS5_GPIO_D1),
>   	EXYNOS5_GPIO_Y1_START		= EXYNOS_GPIO_NEXT(EXYNOS5_GPIO_Y0),
> @@ -242,6 +244,7 @@ enum exynos5_gpio_number {
>   #define EXYNOS5_GPC1(_nr)	(EXYNOS5_GPIO_C1_START + (_nr))
>   #define EXYNOS5_GPC2(_nr)	(EXYNOS5_GPIO_C2_START + (_nr))
>   #define EXYNOS5_GPC3(_nr)	(EXYNOS5_GPIO_C3_START + (_nr))
> +#define EXYNOS5_GPC4(_nr)	(EXYNOS5_GPIO_C4_START + (_nr))
>   #define EXYNOS5_GPD0(_nr)	(EXYNOS5_GPIO_D0_START + (_nr))
>   #define EXYNOS5_GPD1(_nr)	(EXYNOS5_GPIO_D1_START + (_nr))
>   #define EXYNOS5_GPY0(_nr)	(EXYNOS5_GPIO_Y0_START + (_nr))
> diff --git a/drivers/gpio/gpio-samsung.c b/drivers/gpio/gpio-samsung.c
> index 4627787..0153bb9 100644
> --- a/drivers/gpio/gpio-samsung.c
> +++ b/drivers/gpio/gpio-samsung.c
> @@ -2452,6 +2452,12 @@ static struct samsung_gpio_chip exynos5_gpios_1[] = {
>   		},
>   	}, {
>   		.chip	= {
> +			.base	= EXYNOS5_GPC4(0),
> +			.ngpio	= EXYNOS5_GPIO_C4_NR,
> +			.label	= "GPC4",
> +		},
> +	}, {
> +		.chip	= {
>   			.base	= EXYNOS5_GPD0(0),
>   			.ngpio	= EXYNOS5_GPIO_D0_NR,
>   			.label	= "GPD0",
> @@ -2880,6 +2886,8 @@ static __init int samsung_gpiolib_init(void)
>   		for (i = 0; i<  4; i++, chip++, gpx_base += 0x20)
>   			chip->base = gpx_base;
> 
> +		exynos5_gpios_1[11].base = gpio_base1 + 0x2E0;
> +
>   		chip = exynos5_gpios_1;
>   		nr_chips = ARRAY_SIZE(exynos5_gpios_1);
> 

This is wrong. If you add GPC4 between GPC3 and GPD0, you need to
increase the gpx's counter like following and need to update
IRQ_GPIO1_NR_GROUPS as well.

diff --git a/drivers/gpio/gpio-samsung.c b/drivers/gpio/gpio-samsung.c
index 19d6fc0..1af0fa5 100644
--- a/drivers/gpio/gpio-samsung.c
+++ b/drivers/gpio/gpio-samsung.c
@@ -2875,7 +2875,7 @@ static __init int samsung_gpiolib_init(void)
                }

                /* need to set base address for gpx */
-               chip = &exynos5_gpios_1[20];
+               chip = &exynos5_gpios_1[21];
                gpx_base = gpio_base1 + 0xC00;
                for (i = 0; i < 4; i++, chip++, gpx_base += 0x20)
                        chip->base = gpx_base;

diff --git a/arch/arm/mach-exynos/include/mach/irqs.h
b/arch/arm/mach-exynos/inc
index 591e785..887788d 100644
--- a/arch/arm/mach-exynos/include/mach/irqs.h
+++ b/arch/arm/mach-exynos/include/mach/irqs.h
@@ -446,7 +446,7 @@

 #define EXYNOS5_MAX_COMBINER_NR                32

-#define EXYNOS5_IRQ_GPIO1_NR_GROUPS    13
+#define EXYNOS5_IRQ_GPIO1_NR_GROUPS    14
 #define EXYNOS5_IRQ_GPIO2_NR_GROUPS    9
 #define EXYNOS5_IRQ_GPIO3_NR_GROUPS    5
 #define EXYNOS5_IRQ_GPIO4_NR_GROUPS    1


Thanks.

Best regards,
Kgene.
--
Kukjin Kim <kgene.kim@samsung.com>, Senior Engineer,
SW Solution Development Team, Samsung Electronics Co., Ltd.

^ permalink raw reply related	[flat|nested] 62+ messages in thread

* Re: [PATCH 02/12] ARM: Exynos5: Fix incorrect initialization of GIC
  2012-04-17  5:46   ` Thomas Abraham
@ 2012-04-19  0:51     ` Kukjin Kim
  -1 siblings, 0 replies; 62+ messages in thread
From: Kukjin Kim @ 2012-04-19  0:51 UTC (permalink / raw)
  To: Thomas Abraham; +Cc: linux-samsung-soc, kgene.kim, linux-arm-kernel, chaos.youn

Thomas Abraham wrote:
> Use the of_irq_init() call to setup the gic which also properly registers
> the gic device node pointer with gic irq domain, without which all interrupt
> specifier translations for gic fail.
> 
> Signed-off-by: Thomas Abraham<thomas.abraham@linaro.org>
> ---
>   arch/arm/mach-exynos/common.c |    4 +++-
>   1 files changed, 3 insertions(+), 1 deletions(-)
> 
> diff --git a/arch/arm/mach-exynos/common.c b/arch/arm/mach-exynos/common.c
> index 636d5f8..35ac675 100644
> --- a/arch/arm/mach-exynos/common.c
> +++ b/arch/arm/mach-exynos/common.c
> @@ -532,11 +532,12 @@ void __init exynos4_init_irq(void)
>   	s5p_init_irq(NULL, 0);
>   }
> 
> +#ifdef CONFIG_ARCH_EXYNOS5

Why this is needed?

>   void __init exynos5_init_irq(void)
>   {
>   	int irq;
> 
> -	gic_init(0, IRQ_PPI(0), S5P_VA_GIC_DIST, S5P_VA_GIC_CPU);
> +	of_irq_init(exynos4_dt_irq_match);
> 
>   	for (irq = 0; irq<  EXYNOS5_MAX_COMBINER_NR; irq++) {
>   		combiner_init(irq, (void __iomem *)S5P_VA_COMBINER(irq),
> @@ -551,6 +552,7 @@ void __init exynos5_init_irq(void)
>   	 */
>   	s5p_init_irq(NULL, 0);
>   }
> +#endif /* CONFIG_ARCH_EXYNOS5 */
> 
>   struct bus_type exynos4_subsys = {
>   	.name		= "exynos4-core",

Thanks.

Best regards,
Kgene.
--
Kukjin Kim <kgene.kim@samsung.com>, Senior Engineer,
SW Solution Development Team, Samsung Electronics Co., Ltd.

^ permalink raw reply	[flat|nested] 62+ messages in thread

* [PATCH 02/12] ARM: Exynos5: Fix incorrect initialization of GIC
@ 2012-04-19  0:51     ` Kukjin Kim
  0 siblings, 0 replies; 62+ messages in thread
From: Kukjin Kim @ 2012-04-19  0:51 UTC (permalink / raw)
  To: linux-arm-kernel

Thomas Abraham wrote:
> Use the of_irq_init() call to setup the gic which also properly registers
> the gic device node pointer with gic irq domain, without which all interrupt
> specifier translations for gic fail.
> 
> Signed-off-by: Thomas Abraham<thomas.abraham@linaro.org>
> ---
>   arch/arm/mach-exynos/common.c |    4 +++-
>   1 files changed, 3 insertions(+), 1 deletions(-)
> 
> diff --git a/arch/arm/mach-exynos/common.c b/arch/arm/mach-exynos/common.c
> index 636d5f8..35ac675 100644
> --- a/arch/arm/mach-exynos/common.c
> +++ b/arch/arm/mach-exynos/common.c
> @@ -532,11 +532,12 @@ void __init exynos4_init_irq(void)
>   	s5p_init_irq(NULL, 0);
>   }
> 
> +#ifdef CONFIG_ARCH_EXYNOS5

Why this is needed?

>   void __init exynos5_init_irq(void)
>   {
>   	int irq;
> 
> -	gic_init(0, IRQ_PPI(0), S5P_VA_GIC_DIST, S5P_VA_GIC_CPU);
> +	of_irq_init(exynos4_dt_irq_match);
> 
>   	for (irq = 0; irq<  EXYNOS5_MAX_COMBINER_NR; irq++) {
>   		combiner_init(irq, (void __iomem *)S5P_VA_COMBINER(irq),
> @@ -551,6 +552,7 @@ void __init exynos5_init_irq(void)
>   	 */
>   	s5p_init_irq(NULL, 0);
>   }
> +#endif /* CONFIG_ARCH_EXYNOS5 */
> 
>   struct bus_type exynos4_subsys = {
>   	.name		= "exynos4-core",

Thanks.

Best regards,
Kgene.
--
Kukjin Kim <kgene.kim@samsung.com>, Senior Engineer,
SW Solution Development Team, Samsung Electronics Co., Ltd.

^ permalink raw reply	[flat|nested] 62+ messages in thread

* Re: [PATCH 10/12] ARM: Exynos: Redefine IRQ_MCT_L0,1 definition
  2012-04-17  5:46   ` Thomas Abraham
@ 2012-04-19  1:00     ` Kukjin Kim
  -1 siblings, 0 replies; 62+ messages in thread
From: Kukjin Kim @ 2012-04-19  1:00 UTC (permalink / raw)
  To: Thomas Abraham
  Cc: linux-samsung-soc, kgene.kim, linux-arm-kernel, Changhwan Youn

Thomas Abraham wrote:
> From: Changhwan Youn<chaos.youn@samsung.com>
> 
> Redefine IRQ_MCT_L0,1 irq definition as it is changed in rev1 of Exynos5.
> 
> Signed-off-by: Changhwan Youn<chaos.youn@samsung.com>

Basically, looks ok after initial reviewing but you need to add your
sign here. As you know, it is a legal issue and _very_ important.

Please resend with your sign after Changhwan's sign.

Thanks.

Best regards,
Kgene.
--
Kukjin Kim <kgene.kim@samsung.com>, Senior Engineer,
SW Solution Development Team, Samsung Electronics Co., Ltd.

^ permalink raw reply	[flat|nested] 62+ messages in thread

* [PATCH 10/12] ARM: Exynos: Redefine IRQ_MCT_L0,1 definition
@ 2012-04-19  1:00     ` Kukjin Kim
  0 siblings, 0 replies; 62+ messages in thread
From: Kukjin Kim @ 2012-04-19  1:00 UTC (permalink / raw)
  To: linux-arm-kernel

Thomas Abraham wrote:
> From: Changhwan Youn<chaos.youn@samsung.com>
> 
> Redefine IRQ_MCT_L0,1 irq definition as it is changed in rev1 of Exynos5.
> 
> Signed-off-by: Changhwan Youn<chaos.youn@samsung.com>

Basically, looks ok after initial reviewing but you need to add your
sign here. As you know, it is a legal issue and _very_ important.

Please resend with your sign after Changhwan's sign.

Thanks.

Best regards,
Kgene.
--
Kukjin Kim <kgene.kim@samsung.com>, Senior Engineer,
SW Solution Development Team, Samsung Electronics Co., Ltd.

^ permalink raw reply	[flat|nested] 62+ messages in thread

* Re: [PATCH 05/12] ARM: Exynos5: Add MDMA0 clock instance
  2012-04-17  5:46   ` Thomas Abraham
@ 2012-04-19  1:20     ` Kukjin Kim
  -1 siblings, 0 replies; 62+ messages in thread
From: Kukjin Kim @ 2012-04-19  1:20 UTC (permalink / raw)
  To: Thomas Abraham; +Cc: linux-samsung-soc, kgene.kim, linux-arm-kernel, boojin.kim

Thomas Abraham wrote:
> Add clock instance for MDMA0 controller.
> 
> Signed-off-by: Thomas Abraham<thomas.abraham@linaro.org>
> ---
>   arch/arm/mach-exynos/clock-exynos5.c |   11 +++++++++--
>   1 files changed, 9 insertions(+), 2 deletions(-)
> 
> diff --git a/arch/arm/mach-exynos/clock-exynos5.c b/arch/arm/mach-exynos/clock-exynos5.c
> index fb95e9b..0230ba8 100644
> --- a/arch/arm/mach-exynos/clock-exynos5.c
> +++ b/arch/arm/mach-exynos/clock-exynos5.c
> @@ -768,9 +768,14 @@ static struct clk exynos5_clk_pdma = {
>   	.ctrlbit	= (1<<  1),
>   };
> 
> +static struct clk exynos5_clk_mdma0 = {
> +	.name		= "dma",
> +	.enable		= exynos5_clk_ip_acp_ctrl,
> +	.ctrlbit	= (1<<  1),
> +};
> +
>   static struct clk exynos5_clk_mdma1 = {
>   	.name		= "dma",
> -	.devname	= "dma-pl330.2",
>   	.enable		= exynos5_clk_ip_gen_ctrl,
>   	.ctrlbit	= (1<<  4),
>   };
> @@ -1057,6 +1062,7 @@ static struct clksrc_clk *exynos5_sysclks[] = {
> 
>   static struct clk *exynos5_clk_cdev[] = {
>   	&exynos5_clk_pdma,
> +	&exynos5_clk_mdma0,
>   	&exynos5_clk_mdma1,
>   };
> 
> @@ -1082,7 +1088,8 @@ static struct clk_lookup exynos5_clk_lookup[] = {
>   	CLKDEV_INIT("exynos4-sdhci.3", "mmc_busclk.2",&exynos5_clk_sclk_mmc3.clk),
>   	CLKDEV_INIT("dma-pl330.0", "apb_pclk",&exynos5_clk_pdma),
>   	CLKDEV_INIT("dma-pl330.1", "apb_pclk",&exynos5_clk_pdma),
> -	CLKDEV_INIT("dma-pl330.2", "apb_pclk",&exynos5_clk_mdma1),
> +	CLKDEV_INIT("dma-pl330.2", "apb_pclk",&exynos5_clk_mdma0),
> +	CLKDEV_INIT("dma-pl330.3", "apb_pclk",&exynos5_clk_mdma1),
>   };
> 
>   static unsigned long exynos5_epll_get_rate(struct clk *clk)

Well, mdma0 will not be used so we don't need this.

Thanks.

Best regards,
Kgene.
--
Kukjin Kim <kgene.kim@samsung.com>, Senior Engineer,
SW Solution Development Team, Samsung Electronics Co., Ltd.

^ permalink raw reply	[flat|nested] 62+ messages in thread

* [PATCH 05/12] ARM: Exynos5: Add MDMA0 clock instance
@ 2012-04-19  1:20     ` Kukjin Kim
  0 siblings, 0 replies; 62+ messages in thread
From: Kukjin Kim @ 2012-04-19  1:20 UTC (permalink / raw)
  To: linux-arm-kernel

Thomas Abraham wrote:
> Add clock instance for MDMA0 controller.
> 
> Signed-off-by: Thomas Abraham<thomas.abraham@linaro.org>
> ---
>   arch/arm/mach-exynos/clock-exynos5.c |   11 +++++++++--
>   1 files changed, 9 insertions(+), 2 deletions(-)
> 
> diff --git a/arch/arm/mach-exynos/clock-exynos5.c b/arch/arm/mach-exynos/clock-exynos5.c
> index fb95e9b..0230ba8 100644
> --- a/arch/arm/mach-exynos/clock-exynos5.c
> +++ b/arch/arm/mach-exynos/clock-exynos5.c
> @@ -768,9 +768,14 @@ static struct clk exynos5_clk_pdma = {
>   	.ctrlbit	= (1<<  1),
>   };
> 
> +static struct clk exynos5_clk_mdma0 = {
> +	.name		= "dma",
> +	.enable		= exynos5_clk_ip_acp_ctrl,
> +	.ctrlbit	= (1<<  1),
> +};
> +
>   static struct clk exynos5_clk_mdma1 = {
>   	.name		= "dma",
> -	.devname	= "dma-pl330.2",
>   	.enable		= exynos5_clk_ip_gen_ctrl,
>   	.ctrlbit	= (1<<  4),
>   };
> @@ -1057,6 +1062,7 @@ static struct clksrc_clk *exynos5_sysclks[] = {
> 
>   static struct clk *exynos5_clk_cdev[] = {
>   	&exynos5_clk_pdma,
> +	&exynos5_clk_mdma0,
>   	&exynos5_clk_mdma1,
>   };
> 
> @@ -1082,7 +1088,8 @@ static struct clk_lookup exynos5_clk_lookup[] = {
>   	CLKDEV_INIT("exynos4-sdhci.3", "mmc_busclk.2",&exynos5_clk_sclk_mmc3.clk),
>   	CLKDEV_INIT("dma-pl330.0", "apb_pclk",&exynos5_clk_pdma),
>   	CLKDEV_INIT("dma-pl330.1", "apb_pclk",&exynos5_clk_pdma),
> -	CLKDEV_INIT("dma-pl330.2", "apb_pclk",&exynos5_clk_mdma1),
> +	CLKDEV_INIT("dma-pl330.2", "apb_pclk",&exynos5_clk_mdma0),
> +	CLKDEV_INIT("dma-pl330.3", "apb_pclk",&exynos5_clk_mdma1),
>   };
> 
>   static unsigned long exynos5_epll_get_rate(struct clk *clk)

Well, mdma0 will not be used so we don't need this.

Thanks.

Best regards,
Kgene.
--
Kukjin Kim <kgene.kim@samsung.com>, Senior Engineer,
SW Solution Development Team, Samsung Electronics Co., Ltd.

^ permalink raw reply	[flat|nested] 62+ messages in thread

end of thread, other threads:[~2012-04-19  1:20 UTC | newest]

Thread overview: 62+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2012-04-17  5:46 [PATCH 00/12] Updates for Exynos5250 Rev1.0 and device tree support Thomas Abraham
2012-04-17  5:46 ` Thomas Abraham
2012-04-17  5:46 ` [PATCH 01/12] ARM: Exynos: Remove a new bus_type instance for Exynos5 Thomas Abraham
2012-04-17  5:46   ` Thomas Abraham
2012-04-19  0:15   ` Kukjin Kim
2012-04-19  0:15     ` Kukjin Kim
2012-04-17  5:46 ` [PATCH 02/12] ARM: Exynos5: Fix incorrect initialization of GIC Thomas Abraham
2012-04-17  5:46   ` Thomas Abraham
2012-04-19  0:51   ` Kukjin Kim
2012-04-19  0:51     ` Kukjin Kim
2012-04-17  5:46 ` [PATCH 03/12] ARM: Exynos5: Add watchdog timer clock instance Thomas Abraham
2012-04-17  5:46   ` Thomas Abraham
2012-04-17  6:14   ` Kyungmin Park
2012-04-17  6:14     ` Kyungmin Park
2012-04-17  8:12     ` Thomas Abraham
2012-04-17  8:12       ` Thomas Abraham
2012-04-19  0:28   ` Kukjin Kim
2012-04-19  0:28     ` Kukjin Kim
2012-04-17  5:46 ` [PATCH 04/12] ARM: Exynos5: Remove duplicated instantiation of pdma clock Thomas Abraham
2012-04-17  5:46   ` Thomas Abraham
2012-04-19  0:30   ` Kukjin Kim
2012-04-19  0:30     ` Kukjin Kim
2012-04-17  5:46 ` [PATCH 05/12] ARM: Exynos5: Add MDMA0 clock instance Thomas Abraham
2012-04-17  5:46   ` Thomas Abraham
2012-04-19  1:20   ` Kukjin Kim
2012-04-19  1:20     ` Kukjin Kim
2012-04-17  5:46 ` [PATCH 06/12] rtc-s3c: Fix breakage introduced by S3C2443/S3C2416 support Thomas Abraham
2012-04-17  5:46   ` Thomas Abraham
2012-04-17  6:30   ` Kyungmin Park
2012-04-17  6:30     ` Kyungmin Park
2012-04-17  8:15     ` Thomas Abraham
2012-04-17  8:15       ` Thomas Abraham
2012-04-17  8:25       ` Kyungmin Park
2012-04-17  8:25         ` Kyungmin Park
2012-04-17  8:39         ` Thomas Abraham
2012-04-17  8:39           ` Thomas Abraham
2012-04-17  5:46 ` [PATCH 07/12] ARM: Exynos5: Modify the GIC physical address for static io-mapping Thomas Abraham
2012-04-17  5:46   ` Thomas Abraham
2012-04-17  6:31   ` Kyungmin Park
2012-04-17  6:31     ` Kyungmin Park
2012-04-17  8:19     ` Thomas Abraham
2012-04-17  8:19       ` Thomas Abraham
2012-04-17  5:46 ` [PATCH 08/12] gpio/samsung: add GPC4 bank instance Thomas Abraham
2012-04-17  5:46   ` Thomas Abraham
2012-04-17  6:33   ` Kyungmin Park
2012-04-17  6:33     ` Kyungmin Park
2012-04-17  8:24     ` Thomas Abraham
2012-04-17  8:24       ` Thomas Abraham
2012-04-19  0:36   ` Kukjin Kim
2012-04-19  0:36     ` Kukjin Kim
2012-04-17  5:46 ` [PATCH 09/12] ARM: Exynos5: Add pre-divider and fout mux clocks for bpll and mpll Thomas Abraham
2012-04-17  5:46   ` Thomas Abraham
2012-04-17  5:46 ` [PATCH 10/12] ARM: Exynos: Redefine IRQ_MCT_L0,1 definition Thomas Abraham
2012-04-17  5:46   ` Thomas Abraham
2012-04-19  1:00   ` Kukjin Kim
2012-04-19  1:00     ` Kukjin Kim
2012-04-17  5:46 ` [PATCH 11/12] ARM: Exynos5: Update device tree source files Thomas Abraham
2012-04-17  5:46   ` Thomas Abraham
2012-04-17  5:46 ` [PATCH 12/12] ARM: Exynos5: Update device tree enabled machine file Thomas Abraham
2012-04-17  5:46   ` Thomas Abraham
2012-04-19  0:23   ` Kukjin Kim
2012-04-19  0:23     ` Kukjin Kim

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.