All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH v5 0/6] Initial Device Tree support for S3C64xx
@ 2013-04-15 21:14 ` Tomasz Figa
  0 siblings, 0 replies; 62+ messages in thread
From: Tomasz Figa @ 2013-04-15 21:14 UTC (permalink / raw)
  To: linux-samsung-soc
  Cc: linux-arm-kernel, devicetree-discuss, kgene.kim, broonie,
	kwangwoo.lee, jacmet, augulis.darius, mcuelenaere, linux,
	Rob Herring, Mark Rutland, Tomasz Figa

This series adds Device Tree support for Samsung S3C64xx SoC series.

It fixes several problems preventing from booting an S3C64xx-based system
using Device Tree, adds all the infrastructure for Device Tree-based board
support, including mach-s3c64xx-dt and dts include files for S3C64xx SoCs,
and basic device tree source for FriendlyARM Mini6410 board.

Current support is very limited and allows only basic bootup with UART and
SDHCI, but should be fine as a start and will be extended in future,
hopefully with help of S3C64xx board maintainers.

This series depends on my other series reworking samsung-time for
multiplatform:
[PATCH v5 00/14] ARM: samsung-time: Prepare for multiplatform support
http://thread.gmane.org/gmane.linux.kernel.samsung-soc/17864

Changes since v4:
 - Rebased onto current for-next branch of Kgene's tree
 - Added support for pinctrl (driver merged through pinctrl tree)
 - Added labels to all nodes that can be overridden from board dts
 - Modified board dts to use the &label syntax to reference device nodes

Changes since v3:
 - Rebased onto current for-next branch of Kgene's tree
 - Updated timer node for next version of samsung-time patches
 - Replaced local s3c64xx_dt_init_irq with irqchip_init

Changes since v2:
 - Updated timer node for next version of samsung-time patches

Changes since v1:
 - Dropped two VIC-related patches that are no longer necessary
 - Added Device Tree-based instantation of system timers
 - Corrected VIC interrupt specifiers
 - Adjusted CPU compatible values and dropped @id

Tomasz Figa (6):
  ARM: common: vic: Parse interrupt and resume masks from device tree
  ARM: s3c64xx: Skip legacy EINT setup if pinctrl-s3c64xx driver is
    present
  gpio: samsung: Skip legacy GPIO registration if pinctrl-s3c64xx is
    present
  ARM: s3c64xx: Add board file for boot using Device Tree
  ARM: dts: Add basic dts include files for Samsung S3C64xx SoCs
  ARM: dts: Add dts file for S3C6410-based Mini6410 board

 Documentation/devicetree/bindings/arm/vic.txt |   6 +
 arch/arm/boot/dts/Makefile                    |   1 +
 arch/arm/boot/dts/s3c6400.dtsi                |  33 ++
 arch/arm/boot/dts/s3c6410-mini6410.dts        | 168 +++++++
 arch/arm/boot/dts/s3c6410.dtsi                |  33 ++
 arch/arm/boot/dts/s3c64xx-pinctrl.dtsi        | 683 ++++++++++++++++++++++++++
 arch/arm/boot/dts/s3c64xx.dtsi                | 136 +++++
 arch/arm/mach-s3c64xx/Kconfig                 |  16 +
 arch/arm/mach-s3c64xx/Makefile                |   1 +
 arch/arm/mach-s3c64xx/common.c                |  20 +-
 arch/arm/mach-s3c64xx/mach-s3c64xx-dt.c       |  83 ++++
 drivers/gpio/gpio-samsung.c                   |   4 +-
 drivers/irqchip/irq-vic.c                     |   7 +-
 13 files changed, 1188 insertions(+), 3 deletions(-)
 create mode 100644 arch/arm/boot/dts/s3c6400.dtsi
 create mode 100644 arch/arm/boot/dts/s3c6410-mini6410.dts
 create mode 100644 arch/arm/boot/dts/s3c6410.dtsi
 create mode 100644 arch/arm/boot/dts/s3c64xx-pinctrl.dtsi
 create mode 100644 arch/arm/boot/dts/s3c64xx.dtsi
 create mode 100644 arch/arm/mach-s3c64xx/mach-s3c64xx-dt.c

-- 
1.8.1.5

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

* [PATCH v5 0/6] Initial Device Tree support for S3C64xx
@ 2013-04-15 21:14 ` Tomasz Figa
  0 siblings, 0 replies; 62+ messages in thread
From: Tomasz Figa @ 2013-04-15 21:14 UTC (permalink / raw)
  To: linux-arm-kernel

This series adds Device Tree support for Samsung S3C64xx SoC series.

It fixes several problems preventing from booting an S3C64xx-based system
using Device Tree, adds all the infrastructure for Device Tree-based board
support, including mach-s3c64xx-dt and dts include files for S3C64xx SoCs,
and basic device tree source for FriendlyARM Mini6410 board.

Current support is very limited and allows only basic bootup with UART and
SDHCI, but should be fine as a start and will be extended in future,
hopefully with help of S3C64xx board maintainers.

This series depends on my other series reworking samsung-time for
multiplatform:
[PATCH v5 00/14] ARM: samsung-time: Prepare for multiplatform support
http://thread.gmane.org/gmane.linux.kernel.samsung-soc/17864

Changes since v4:
 - Rebased onto current for-next branch of Kgene's tree
 - Added support for pinctrl (driver merged through pinctrl tree)
 - Added labels to all nodes that can be overridden from board dts
 - Modified board dts to use the &label syntax to reference device nodes

Changes since v3:
 - Rebased onto current for-next branch of Kgene's tree
 - Updated timer node for next version of samsung-time patches
 - Replaced local s3c64xx_dt_init_irq with irqchip_init

Changes since v2:
 - Updated timer node for next version of samsung-time patches

Changes since v1:
 - Dropped two VIC-related patches that are no longer necessary
 - Added Device Tree-based instantation of system timers
 - Corrected VIC interrupt specifiers
 - Adjusted CPU compatible values and dropped @id

Tomasz Figa (6):
  ARM: common: vic: Parse interrupt and resume masks from device tree
  ARM: s3c64xx: Skip legacy EINT setup if pinctrl-s3c64xx driver is
    present
  gpio: samsung: Skip legacy GPIO registration if pinctrl-s3c64xx is
    present
  ARM: s3c64xx: Add board file for boot using Device Tree
  ARM: dts: Add basic dts include files for Samsung S3C64xx SoCs
  ARM: dts: Add dts file for S3C6410-based Mini6410 board

 Documentation/devicetree/bindings/arm/vic.txt |   6 +
 arch/arm/boot/dts/Makefile                    |   1 +
 arch/arm/boot/dts/s3c6400.dtsi                |  33 ++
 arch/arm/boot/dts/s3c6410-mini6410.dts        | 168 +++++++
 arch/arm/boot/dts/s3c6410.dtsi                |  33 ++
 arch/arm/boot/dts/s3c64xx-pinctrl.dtsi        | 683 ++++++++++++++++++++++++++
 arch/arm/boot/dts/s3c64xx.dtsi                | 136 +++++
 arch/arm/mach-s3c64xx/Kconfig                 |  16 +
 arch/arm/mach-s3c64xx/Makefile                |   1 +
 arch/arm/mach-s3c64xx/common.c                |  20 +-
 arch/arm/mach-s3c64xx/mach-s3c64xx-dt.c       |  83 ++++
 drivers/gpio/gpio-samsung.c                   |   4 +-
 drivers/irqchip/irq-vic.c                     |   7 +-
 13 files changed, 1188 insertions(+), 3 deletions(-)
 create mode 100644 arch/arm/boot/dts/s3c6400.dtsi
 create mode 100644 arch/arm/boot/dts/s3c6410-mini6410.dts
 create mode 100644 arch/arm/boot/dts/s3c6410.dtsi
 create mode 100644 arch/arm/boot/dts/s3c64xx-pinctrl.dtsi
 create mode 100644 arch/arm/boot/dts/s3c64xx.dtsi
 create mode 100644 arch/arm/mach-s3c64xx/mach-s3c64xx-dt.c

-- 
1.8.1.5

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

* [PATCH v5 1/6] ARM: common: vic: Parse interrupt and resume masks from device tree
  2013-04-15 21:14 ` Tomasz Figa
@ 2013-04-15 21:14   ` Tomasz Figa
  -1 siblings, 0 replies; 62+ messages in thread
From: Tomasz Figa @ 2013-04-15 21:14 UTC (permalink / raw)
  To: linux-samsung-soc
  Cc: linux-arm-kernel, devicetree-discuss, kgene.kim, broonie,
	kwangwoo.lee, jacmet, augulis.darius, mcuelenaere, linux,
	Rob Herring, Mark Rutland, Tomasz Figa

This patch extends vic_of_init to parse valid interrupt sources
and resume sources masks from device tree.

If mask values are not specified in device tree, all sources
are assumed to be valid, as before this patch.

Signed-off-by: Tomasz Figa <tomasz.figa@gmail.com>
---
 Documentation/devicetree/bindings/arm/vic.txt | 6 ++++++
 drivers/irqchip/irq-vic.c                     | 7 ++++++-
 2 files changed, 12 insertions(+), 1 deletion(-)

diff --git a/Documentation/devicetree/bindings/arm/vic.txt b/Documentation/devicetree/bindings/arm/vic.txt
index 266716b..bb7137c 100644
--- a/Documentation/devicetree/bindings/arm/vic.txt
+++ b/Documentation/devicetree/bindings/arm/vic.txt
@@ -18,6 +18,9 @@ Required properties:
 Optional properties:
 
 - interrupts : Interrupt source for parent controllers if the VIC is nested.
+- interrupt-mask : Bit mask of valid interrupt sources (defaults to all valid)
+- wakeup-mask : Bit mask of interrupt sources that can wake up the system
+  (defaults to all allowed)
 
 Example:
 
@@ -26,4 +29,7 @@ Example:
 		interrupt-controller;
 		#interrupt-cells = <1>;
 		reg = <0x60000 0x1000>;
+
+		interrupt-mask = <0xffffff7f>;
+		wakeup-mask = <0x0000ff7f>;
 	};
diff --git a/drivers/irqchip/irq-vic.c b/drivers/irqchip/irq-vic.c
index 3cf97aa..61602df 100644
--- a/drivers/irqchip/irq-vic.c
+++ b/drivers/irqchip/irq-vic.c
@@ -468,6 +468,8 @@ void __init vic_init(void __iomem *base, unsigned int irq_start,
 int __init vic_of_init(struct device_node *node, struct device_node *parent)
 {
 	void __iomem *regs;
+	u32 interrupt_mask = ~0;
+	u32 wakeup_mask = ~0;
 
 	if (WARN(parent, "non-root VICs are not supported"))
 		return -EINVAL;
@@ -476,10 +478,13 @@ int __init vic_of_init(struct device_node *node, struct device_node *parent)
 	if (WARN_ON(!regs))
 		return -EIO;
 
+	of_property_read_u32(node, "interrupt-mask", &interrupt_mask);
+	of_property_read_u32(node, "wakeup-mask", &wakeup_mask);
+
 	/*
 	 * Passing 0 as first IRQ makes the simple domain allocate descriptors
 	 */
-	__vic_init(regs, 0, ~0, ~0, node);
+	__vic_init(regs, 0, interrupt_mask, wakeup_mask, node);
 
 	return 0;
 }
-- 
1.8.1.5

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

* [PATCH v5 1/6] ARM: common: vic: Parse interrupt and resume masks from device tree
@ 2013-04-15 21:14   ` Tomasz Figa
  0 siblings, 0 replies; 62+ messages in thread
From: Tomasz Figa @ 2013-04-15 21:14 UTC (permalink / raw)
  To: linux-arm-kernel

This patch extends vic_of_init to parse valid interrupt sources
and resume sources masks from device tree.

If mask values are not specified in device tree, all sources
are assumed to be valid, as before this patch.

Signed-off-by: Tomasz Figa <tomasz.figa@gmail.com>
---
 Documentation/devicetree/bindings/arm/vic.txt | 6 ++++++
 drivers/irqchip/irq-vic.c                     | 7 ++++++-
 2 files changed, 12 insertions(+), 1 deletion(-)

diff --git a/Documentation/devicetree/bindings/arm/vic.txt b/Documentation/devicetree/bindings/arm/vic.txt
index 266716b..bb7137c 100644
--- a/Documentation/devicetree/bindings/arm/vic.txt
+++ b/Documentation/devicetree/bindings/arm/vic.txt
@@ -18,6 +18,9 @@ Required properties:
 Optional properties:
 
 - interrupts : Interrupt source for parent controllers if the VIC is nested.
+- interrupt-mask : Bit mask of valid interrupt sources (defaults to all valid)
+- wakeup-mask : Bit mask of interrupt sources that can wake up the system
+  (defaults to all allowed)
 
 Example:
 
@@ -26,4 +29,7 @@ Example:
 		interrupt-controller;
 		#interrupt-cells = <1>;
 		reg = <0x60000 0x1000>;
+
+		interrupt-mask = <0xffffff7f>;
+		wakeup-mask = <0x0000ff7f>;
 	};
diff --git a/drivers/irqchip/irq-vic.c b/drivers/irqchip/irq-vic.c
index 3cf97aa..61602df 100644
--- a/drivers/irqchip/irq-vic.c
+++ b/drivers/irqchip/irq-vic.c
@@ -468,6 +468,8 @@ void __init vic_init(void __iomem *base, unsigned int irq_start,
 int __init vic_of_init(struct device_node *node, struct device_node *parent)
 {
 	void __iomem *regs;
+	u32 interrupt_mask = ~0;
+	u32 wakeup_mask = ~0;
 
 	if (WARN(parent, "non-root VICs are not supported"))
 		return -EINVAL;
@@ -476,10 +478,13 @@ int __init vic_of_init(struct device_node *node, struct device_node *parent)
 	if (WARN_ON(!regs))
 		return -EIO;
 
+	of_property_read_u32(node, "interrupt-mask", &interrupt_mask);
+	of_property_read_u32(node, "wakeup-mask", &wakeup_mask);
+
 	/*
 	 * Passing 0 as first IRQ makes the simple domain allocate descriptors
 	 */
-	__vic_init(regs, 0, ~0, ~0, node);
+	__vic_init(regs, 0, interrupt_mask, wakeup_mask, node);
 
 	return 0;
 }
-- 
1.8.1.5

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

* [PATCH v5 2/6] ARM: s3c64xx: Skip legacy EINT setup if pinctrl-s3c64xx driver is present
  2013-04-15 21:14 ` Tomasz Figa
@ 2013-04-15 21:14   ` Tomasz Figa
  -1 siblings, 0 replies; 62+ messages in thread
From: Tomasz Figa @ 2013-04-15 21:14 UTC (permalink / raw)
  To: linux-samsung-soc
  Cc: linux-arm-kernel, devicetree-discuss, kgene.kim, broonie,
	kwangwoo.lee, jacmet, augulis.darius, mcuelenaere, linux,
	Rob Herring, Mark Rutland, Tomasz Figa

The new pinctrl-s3c64xx is responsible for EINT handling on DT-enabled
platforms.

Signed-off-by: Tomasz Figa <tomasz.figa@gmail.com>
---
 arch/arm/mach-s3c64xx/common.c | 20 +++++++++++++++++++-
 1 file changed, 19 insertions(+), 1 deletion(-)

diff --git a/arch/arm/mach-s3c64xx/common.c b/arch/arm/mach-s3c64xx/common.c
index e79ca92..866be9e 100644
--- a/arch/arm/mach-s3c64xx/common.c
+++ b/arch/arm/mach-s3c64xx/common.c
@@ -365,7 +365,25 @@ static void s3c_irq_demux_eint20_27(unsigned int irq, struct irq_desc *desc)
 static int __init s3c64xx_init_irq_eint(void)
 {
 	int irq;
-
+#if defined(CONFIG_PINCTRL_S3C64XX)
+	/*
+	* This gpio driver includes support for device tree support and there
+	* are platforms using it. In order to maintain compatibility with those
+	* platforms, and to allow non-dt Exynos4210 platforms to use this
+	* gpiolib support, a check is added to find out if there is a active
+	* pin-controller driver support available. If it is available, this
+	* gpiolib support is ignored and the gpiolib support available in
+	* pin-controller driver is used. This is a temporary check and will go
+	* away when all of the Exynos4210 platforms have switched to using
+	* device tree and the pin-ctrl driver.
+	*/
+	struct device_node *pctrl_np;
+
+	pctrl_np = of_find_compatible_node(NULL, NULL,
+						"samsung,s3c64xx-pinctrl");
+	if (pctrl_np && of_device_is_available(pctrl_np))
+		return -ENODEV;
+#endif
 	for (irq = IRQ_EINT(0); irq <= IRQ_EINT(27); irq++) {
 		irq_set_chip_and_handler(irq, &s3c_irq_eint, handle_level_irq);
 		irq_set_chip_data(irq, (void *)eint_irq_to_bit(irq));
-- 
1.8.1.5

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

* [PATCH v5 2/6] ARM: s3c64xx: Skip legacy EINT setup if pinctrl-s3c64xx driver is present
@ 2013-04-15 21:14   ` Tomasz Figa
  0 siblings, 0 replies; 62+ messages in thread
From: Tomasz Figa @ 2013-04-15 21:14 UTC (permalink / raw)
  To: linux-arm-kernel

The new pinctrl-s3c64xx is responsible for EINT handling on DT-enabled
platforms.

Signed-off-by: Tomasz Figa <tomasz.figa@gmail.com>
---
 arch/arm/mach-s3c64xx/common.c | 20 +++++++++++++++++++-
 1 file changed, 19 insertions(+), 1 deletion(-)

diff --git a/arch/arm/mach-s3c64xx/common.c b/arch/arm/mach-s3c64xx/common.c
index e79ca92..866be9e 100644
--- a/arch/arm/mach-s3c64xx/common.c
+++ b/arch/arm/mach-s3c64xx/common.c
@@ -365,7 +365,25 @@ static void s3c_irq_demux_eint20_27(unsigned int irq, struct irq_desc *desc)
 static int __init s3c64xx_init_irq_eint(void)
 {
 	int irq;
-
+#if defined(CONFIG_PINCTRL_S3C64XX)
+	/*
+	* This gpio driver includes support for device tree support and there
+	* are platforms using it. In order to maintain compatibility with those
+	* platforms, and to allow non-dt Exynos4210 platforms to use this
+	* gpiolib support, a check is added to find out if there is a active
+	* pin-controller driver support available. If it is available, this
+	* gpiolib support is ignored and the gpiolib support available in
+	* pin-controller driver is used. This is a temporary check and will go
+	* away when all of the Exynos4210 platforms have switched to using
+	* device tree and the pin-ctrl driver.
+	*/
+	struct device_node *pctrl_np;
+
+	pctrl_np = of_find_compatible_node(NULL, NULL,
+						"samsung,s3c64xx-pinctrl");
+	if (pctrl_np && of_device_is_available(pctrl_np))
+		return -ENODEV;
+#endif
 	for (irq = IRQ_EINT(0); irq <= IRQ_EINT(27); irq++) {
 		irq_set_chip_and_handler(irq, &s3c_irq_eint, handle_level_irq);
 		irq_set_chip_data(irq, (void *)eint_irq_to_bit(irq));
-- 
1.8.1.5

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

* [PATCH v5 3/6] gpio: samsung: Skip legacy GPIO registration if pinctrl-s3c64xx is present
  2013-04-15 21:14 ` Tomasz Figa
@ 2013-04-15 21:14   ` Tomasz Figa
  -1 siblings, 0 replies; 62+ messages in thread
From: Tomasz Figa @ 2013-04-15 21:14 UTC (permalink / raw)
  To: linux-samsung-soc
  Cc: linux-arm-kernel, devicetree-discuss, kgene.kim, broonie,
	kwangwoo.lee, jacmet, augulis.darius, mcuelenaere, linux,
	Rob Herring, Mark Rutland, Tomasz Figa

The new driver handles GPIO on DT-enabled platforms.

Signed-off-by: Tomasz Figa <tomasz.figa@gmail.com>
---
 drivers/gpio/gpio-samsung.c | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/drivers/gpio/gpio-samsung.c b/drivers/gpio/gpio-samsung.c
index 99e0fa4..dc06a6f 100644
--- a/drivers/gpio/gpio-samsung.c
+++ b/drivers/gpio/gpio-samsung.c
@@ -3012,7 +3012,7 @@ static __init int samsung_gpiolib_init(void)
 	int i, nr_chips;
 	int group = 0;
 
-#if defined(CONFIG_PINCTRL_EXYNOS) || defined(CONFIG_PINCTRL_EXYNOS5440)
+#if defined(CONFIG_PINCTRL_SAMSUNG) || defined(CONFIG_PINCTRL_EXYNOS5440)
 	/*
 	* This gpio driver includes support for device tree support and there
 	* are platforms using it. In order to maintain compatibility with those
@@ -3026,10 +3026,12 @@ static __init int samsung_gpiolib_init(void)
 	*/
 	struct device_node *pctrl_np;
 	static const struct of_device_id exynos_pinctrl_ids[] = {
+		{ .compatible = "samsung,s3c64xx-pinctrl", },
 		{ .compatible = "samsung,exynos4210-pinctrl", },
 		{ .compatible = "samsung,exynos4x12-pinctrl", },
 		{ .compatible = "samsung,exynos5250-pinctrl", },
 		{ .compatible = "samsung,exynos5440-pinctrl", },
+		{ },
 	};
 	for_each_matching_node(pctrl_np, exynos_pinctrl_ids)
 		if (pctrl_np && of_device_is_available(pctrl_np))
-- 
1.8.1.5

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

* [PATCH v5 3/6] gpio: samsung: Skip legacy GPIO registration if pinctrl-s3c64xx is present
@ 2013-04-15 21:14   ` Tomasz Figa
  0 siblings, 0 replies; 62+ messages in thread
From: Tomasz Figa @ 2013-04-15 21:14 UTC (permalink / raw)
  To: linux-arm-kernel

The new driver handles GPIO on DT-enabled platforms.

Signed-off-by: Tomasz Figa <tomasz.figa@gmail.com>
---
 drivers/gpio/gpio-samsung.c | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/drivers/gpio/gpio-samsung.c b/drivers/gpio/gpio-samsung.c
index 99e0fa4..dc06a6f 100644
--- a/drivers/gpio/gpio-samsung.c
+++ b/drivers/gpio/gpio-samsung.c
@@ -3012,7 +3012,7 @@ static __init int samsung_gpiolib_init(void)
 	int i, nr_chips;
 	int group = 0;
 
-#if defined(CONFIG_PINCTRL_EXYNOS) || defined(CONFIG_PINCTRL_EXYNOS5440)
+#if defined(CONFIG_PINCTRL_SAMSUNG) || defined(CONFIG_PINCTRL_EXYNOS5440)
 	/*
 	* This gpio driver includes support for device tree support and there
 	* are platforms using it. In order to maintain compatibility with those
@@ -3026,10 +3026,12 @@ static __init int samsung_gpiolib_init(void)
 	*/
 	struct device_node *pctrl_np;
 	static const struct of_device_id exynos_pinctrl_ids[] = {
+		{ .compatible = "samsung,s3c64xx-pinctrl", },
 		{ .compatible = "samsung,exynos4210-pinctrl", },
 		{ .compatible = "samsung,exynos4x12-pinctrl", },
 		{ .compatible = "samsung,exynos5250-pinctrl", },
 		{ .compatible = "samsung,exynos5440-pinctrl", },
+		{ },
 	};
 	for_each_matching_node(pctrl_np, exynos_pinctrl_ids)
 		if (pctrl_np && of_device_is_available(pctrl_np))
-- 
1.8.1.5

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

* [PATCH v5 4/6] ARM: s3c64xx: Add board file for boot using Device Tree
  2013-04-15 21:14 ` Tomasz Figa
@ 2013-04-15 21:14   ` Tomasz Figa
  -1 siblings, 0 replies; 62+ messages in thread
From: Tomasz Figa @ 2013-04-15 21:14 UTC (permalink / raw)
  To: linux-samsung-soc
  Cc: linux-arm-kernel, devicetree-discuss, kgene.kim, broonie,
	kwangwoo.lee, jacmet, augulis.darius, mcuelenaere, linux,
	Rob Herring, Mark Rutland, Tomasz Figa

This patch adds board file that will be used to boot S3C64xx-based boards
using Device Tree.

Signed-off-by: Tomasz Figa <tomasz.figa@gmail.com>
---
 arch/arm/mach-s3c64xx/Kconfig           | 16 +++++++
 arch/arm/mach-s3c64xx/Makefile          |  1 +
 arch/arm/mach-s3c64xx/mach-s3c64xx-dt.c | 83 +++++++++++++++++++++++++++++++++
 3 files changed, 100 insertions(+)
 create mode 100644 arch/arm/mach-s3c64xx/mach-s3c64xx-dt.c

diff --git a/arch/arm/mach-s3c64xx/Kconfig b/arch/arm/mach-s3c64xx/Kconfig
index 283cb77..184d53c 100644
--- a/arch/arm/mach-s3c64xx/Kconfig
+++ b/arch/arm/mach-s3c64xx/Kconfig
@@ -311,3 +311,19 @@ config MACH_WLF_CRAGG_6410
 	select SAMSUNG_GPIO_EXTRA128
 	help
 	  Machine support for the Wolfson Cragganmore S3C6410 variant.
+
+config MACH_S3C64XX_DT
+	bool "Samsung S3C6400/S3C6410 machine using Device Tree"
+	select CLKSRC_OF
+	select CPU_S3C6400
+	select CPU_S3C6410
+	select PINCTRL
+	select PINCTRL_S3C64XX
+	select USE_OF
+	help
+	  Machine support for Samsung S3C6400/S3C6410 machines with Device Tree
+	  enabled.
+	  Select this if a fdt blob is available for your S3C64XX SoC based
+	  board.
+	  Note: This is under development and not all peripherals can be
+	  supported with this machine file.
diff --git a/arch/arm/mach-s3c64xx/Makefile b/arch/arm/mach-s3c64xx/Makefile
index 31d0c91..5e5eb4b 100644
--- a/arch/arm/mach-s3c64xx/Makefile
+++ b/arch/arm/mach-s3c64xx/Makefile
@@ -57,3 +57,4 @@ obj-$(CONFIG_MACH_SMARTQ7)		+= mach-smartq7.o
 obj-$(CONFIG_MACH_SMDK6400)		+= mach-smdk6400.o
 obj-$(CONFIG_MACH_SMDK6410)		+= mach-smdk6410.o
 obj-$(CONFIG_MACH_WLF_CRAGG_6410)	+= mach-crag6410.o mach-crag6410-module.o
+obj-$(CONFIG_MACH_S3C64XX_DT)		+= mach-s3c64xx-dt.o
diff --git a/arch/arm/mach-s3c64xx/mach-s3c64xx-dt.c b/arch/arm/mach-s3c64xx/mach-s3c64xx-dt.c
new file mode 100644
index 0000000..10b76cc
--- /dev/null
+++ b/arch/arm/mach-s3c64xx/mach-s3c64xx-dt.c
@@ -0,0 +1,83 @@
+/*
+ * Samsung's S3C64XX flattened device tree enabled machine
+ *
+ * Copyright (c) 2013 Tomasz Figa <tomasz.figa@gmail.com>
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License version 2 as
+ * published by the Free Software Foundation.
+*/
+
+#include <linux/clocksource.h>
+#include <linux/irqchip.h>
+#include <linux/of_irq.h>
+#include <linux/of_platform.h>
+#include <linux/serial_core.h>
+
+#include <asm/mach/arch.h>
+#include <mach/map.h>
+
+#include <plat/cpu.h>
+#include <plat/regs-serial.h>
+
+#include "common.h"
+
+/*
+ * The following lookup table is used to override device names when devices
+ * are registered from device tree. This is temporarily added to enable
+ * device tree support addition for the S3C64xx architecture.
+ *
+ * For drivers that require platform data to be provided from the machine
+ * file, a platform data pointer can also be supplied along with the
+ * devices names. Usually, the platform data elements that cannot be parsed
+ * from the device tree by the drivers (example: function pointers) are
+ * supplied. But it should be noted that this is a temporary mechanism and
+ * at some point, the drivers should be capable of parsing all the platform
+ * data from the device tree.
+ */
+static const struct of_dev_auxdata s3c64xx_auxdata_lookup[] __initconst = {
+	OF_DEV_AUXDATA("samsung,s3c6400-uart", 0x7f005000,
+				"s3c6400-uart.0", NULL),
+	OF_DEV_AUXDATA("samsung,s3c6400-uart", 0x7f005400,
+				"s3c6400-uart.1", NULL),
+	OF_DEV_AUXDATA("samsung,s3c6400-uart", 0x7f005800,
+				"s3c6400-uart.2", NULL),
+	OF_DEV_AUXDATA("samsung,s3c6400-uart", 0x7f005c00,
+				"s3c6400-uart.3", NULL),
+	OF_DEV_AUXDATA("samsung,s3c6410-sdhci", 0x7c200000,
+				"s3c-sdhci.0", NULL),
+	OF_DEV_AUXDATA("samsung,s3c6410-sdhci", 0x7c300000,
+				"s3c-sdhci.1", NULL),
+	OF_DEV_AUXDATA("samsung,s3c6410-sdhci", 0x7c400000,
+				"s3c-sdhci.2", NULL),
+	{},
+};
+
+static void __init s3c64xx_dt_map_io(void)
+{
+	s3c64xx_init_io(NULL, 0);
+	s3c24xx_init_clocks(12000000);
+}
+
+static void __init s3c64xx_dt_machine_init(void)
+{
+	of_platform_populate(NULL, of_default_bus_match_table,
+						s3c64xx_auxdata_lookup, NULL);
+}
+
+static char const *s3c64xx_dt_compat[] __initdata = {
+	"samsung,s3c6400",
+	"samsung,s3c6410",
+	NULL
+};
+
+DT_MACHINE_START(S3C6400_DT, "Samsung S3C64xx (Flattened Device Tree)")
+	/* Maintainer: Tomasz Figa <tomasz.figa@gmail.com> */
+	.init_irq	= irqchip_init,
+	.map_io		= s3c64xx_dt_map_io,
+	.init_machine	= s3c64xx_dt_machine_init,
+	.init_late	= s3c64xx_init_late,
+	.init_time	= clocksource_of_init,
+	.dt_compat	= s3c64xx_dt_compat,
+	.restart        = s3c64xx_restart,
+MACHINE_END
-- 
1.8.1.5

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

* [PATCH v5 4/6] ARM: s3c64xx: Add board file for boot using Device Tree
@ 2013-04-15 21:14   ` Tomasz Figa
  0 siblings, 0 replies; 62+ messages in thread
From: Tomasz Figa @ 2013-04-15 21:14 UTC (permalink / raw)
  To: linux-arm-kernel

This patch adds board file that will be used to boot S3C64xx-based boards
using Device Tree.

Signed-off-by: Tomasz Figa <tomasz.figa@gmail.com>
---
 arch/arm/mach-s3c64xx/Kconfig           | 16 +++++++
 arch/arm/mach-s3c64xx/Makefile          |  1 +
 arch/arm/mach-s3c64xx/mach-s3c64xx-dt.c | 83 +++++++++++++++++++++++++++++++++
 3 files changed, 100 insertions(+)
 create mode 100644 arch/arm/mach-s3c64xx/mach-s3c64xx-dt.c

diff --git a/arch/arm/mach-s3c64xx/Kconfig b/arch/arm/mach-s3c64xx/Kconfig
index 283cb77..184d53c 100644
--- a/arch/arm/mach-s3c64xx/Kconfig
+++ b/arch/arm/mach-s3c64xx/Kconfig
@@ -311,3 +311,19 @@ config MACH_WLF_CRAGG_6410
 	select SAMSUNG_GPIO_EXTRA128
 	help
 	  Machine support for the Wolfson Cragganmore S3C6410 variant.
+
+config MACH_S3C64XX_DT
+	bool "Samsung S3C6400/S3C6410 machine using Device Tree"
+	select CLKSRC_OF
+	select CPU_S3C6400
+	select CPU_S3C6410
+	select PINCTRL
+	select PINCTRL_S3C64XX
+	select USE_OF
+	help
+	  Machine support for Samsung S3C6400/S3C6410 machines with Device Tree
+	  enabled.
+	  Select this if a fdt blob is available for your S3C64XX SoC based
+	  board.
+	  Note: This is under development and not all peripherals can be
+	  supported with this machine file.
diff --git a/arch/arm/mach-s3c64xx/Makefile b/arch/arm/mach-s3c64xx/Makefile
index 31d0c91..5e5eb4b 100644
--- a/arch/arm/mach-s3c64xx/Makefile
+++ b/arch/arm/mach-s3c64xx/Makefile
@@ -57,3 +57,4 @@ obj-$(CONFIG_MACH_SMARTQ7)		+= mach-smartq7.o
 obj-$(CONFIG_MACH_SMDK6400)		+= mach-smdk6400.o
 obj-$(CONFIG_MACH_SMDK6410)		+= mach-smdk6410.o
 obj-$(CONFIG_MACH_WLF_CRAGG_6410)	+= mach-crag6410.o mach-crag6410-module.o
+obj-$(CONFIG_MACH_S3C64XX_DT)		+= mach-s3c64xx-dt.o
diff --git a/arch/arm/mach-s3c64xx/mach-s3c64xx-dt.c b/arch/arm/mach-s3c64xx/mach-s3c64xx-dt.c
new file mode 100644
index 0000000..10b76cc
--- /dev/null
+++ b/arch/arm/mach-s3c64xx/mach-s3c64xx-dt.c
@@ -0,0 +1,83 @@
+/*
+ * Samsung's S3C64XX flattened device tree enabled machine
+ *
+ * Copyright (c) 2013 Tomasz Figa <tomasz.figa@gmail.com>
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License version 2 as
+ * published by the Free Software Foundation.
+*/
+
+#include <linux/clocksource.h>
+#include <linux/irqchip.h>
+#include <linux/of_irq.h>
+#include <linux/of_platform.h>
+#include <linux/serial_core.h>
+
+#include <asm/mach/arch.h>
+#include <mach/map.h>
+
+#include <plat/cpu.h>
+#include <plat/regs-serial.h>
+
+#include "common.h"
+
+/*
+ * The following lookup table is used to override device names when devices
+ * are registered from device tree. This is temporarily added to enable
+ * device tree support addition for the S3C64xx architecture.
+ *
+ * For drivers that require platform data to be provided from the machine
+ * file, a platform data pointer can also be supplied along with the
+ * devices names. Usually, the platform data elements that cannot be parsed
+ * from the device tree by the drivers (example: function pointers) are
+ * supplied. But it should be noted that this is a temporary mechanism and
+ * at some point, the drivers should be capable of parsing all the platform
+ * data from the device tree.
+ */
+static const struct of_dev_auxdata s3c64xx_auxdata_lookup[] __initconst = {
+	OF_DEV_AUXDATA("samsung,s3c6400-uart", 0x7f005000,
+				"s3c6400-uart.0", NULL),
+	OF_DEV_AUXDATA("samsung,s3c6400-uart", 0x7f005400,
+				"s3c6400-uart.1", NULL),
+	OF_DEV_AUXDATA("samsung,s3c6400-uart", 0x7f005800,
+				"s3c6400-uart.2", NULL),
+	OF_DEV_AUXDATA("samsung,s3c6400-uart", 0x7f005c00,
+				"s3c6400-uart.3", NULL),
+	OF_DEV_AUXDATA("samsung,s3c6410-sdhci", 0x7c200000,
+				"s3c-sdhci.0", NULL),
+	OF_DEV_AUXDATA("samsung,s3c6410-sdhci", 0x7c300000,
+				"s3c-sdhci.1", NULL),
+	OF_DEV_AUXDATA("samsung,s3c6410-sdhci", 0x7c400000,
+				"s3c-sdhci.2", NULL),
+	{},
+};
+
+static void __init s3c64xx_dt_map_io(void)
+{
+	s3c64xx_init_io(NULL, 0);
+	s3c24xx_init_clocks(12000000);
+}
+
+static void __init s3c64xx_dt_machine_init(void)
+{
+	of_platform_populate(NULL, of_default_bus_match_table,
+						s3c64xx_auxdata_lookup, NULL);
+}
+
+static char const *s3c64xx_dt_compat[] __initdata = {
+	"samsung,s3c6400",
+	"samsung,s3c6410",
+	NULL
+};
+
+DT_MACHINE_START(S3C6400_DT, "Samsung S3C64xx (Flattened Device Tree)")
+	/* Maintainer: Tomasz Figa <tomasz.figa@gmail.com> */
+	.init_irq	= irqchip_init,
+	.map_io		= s3c64xx_dt_map_io,
+	.init_machine	= s3c64xx_dt_machine_init,
+	.init_late	= s3c64xx_init_late,
+	.init_time	= clocksource_of_init,
+	.dt_compat	= s3c64xx_dt_compat,
+	.restart        = s3c64xx_restart,
+MACHINE_END
-- 
1.8.1.5

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

* [PATCH v5 5/6] ARM: dts: Add basic dts include files for Samsung S3C64xx SoCs
  2013-04-15 21:14 ` Tomasz Figa
@ 2013-04-15 21:14   ` Tomasz Figa
  -1 siblings, 0 replies; 62+ messages in thread
From: Tomasz Figa @ 2013-04-15 21:14 UTC (permalink / raw)
  To: linux-samsung-soc
  Cc: linux-arm-kernel, devicetree-discuss, kgene.kim, broonie,
	kwangwoo.lee, jacmet, augulis.darius, mcuelenaere, linux,
	Rob Herring, Mark Rutland, Tomasz Figa

This patch adds basic device tree definitions for Samsung S3C64xx SoCs.

Since all the SoCs in the series are very similar, the files are created
hierarchically - one file for the whole series and then separate files
for particular SoCs including the common one.

Signed-off-by: Tomasz Figa <tomasz.figa@gmail.com>
---
 arch/arm/boot/dts/s3c6400.dtsi         |  33 ++
 arch/arm/boot/dts/s3c6410.dtsi         |  33 ++
 arch/arm/boot/dts/s3c64xx-pinctrl.dtsi | 683 +++++++++++++++++++++++++++++++++
 arch/arm/boot/dts/s3c64xx.dtsi         | 136 +++++++
 4 files changed, 885 insertions(+)
 create mode 100644 arch/arm/boot/dts/s3c6400.dtsi
 create mode 100644 arch/arm/boot/dts/s3c6410.dtsi
 create mode 100644 arch/arm/boot/dts/s3c64xx-pinctrl.dtsi
 create mode 100644 arch/arm/boot/dts/s3c64xx.dtsi

diff --git a/arch/arm/boot/dts/s3c6400.dtsi b/arch/arm/boot/dts/s3c6400.dtsi
new file mode 100644
index 0000000..76106b8
--- /dev/null
+++ b/arch/arm/boot/dts/s3c6400.dtsi
@@ -0,0 +1,33 @@
+/*
+ * Samsung's S3C6400 SoC device tree source
+ *
+ * Copyright (c) 2013 Tomasz Figa <tomasz.figa@gmail.com>
+ *
+ * Samsung's S3C6400 SoC device nodes are listed in this file. S3C6400
+ * based board files can include this file and provide values for board specfic
+ * bindings.
+ *
+ * Note: This file does not include device nodes for all the controllers in
+ * S3C6400 SoC. As device tree coverage for S3C6400 increases, additional
+ * nodes can be added to this file.
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License version 2 as
+ * published by the Free Software Foundation.
+*/
+
+/include/ "s3c64xx.dtsi"
+
+/ {
+	compatible = "samsung,s3c6400";
+
+	vic0: interrupt-controller@71200000 {
+		interrupt-mask = <0xfffffe1f>;
+		wakeup-mask = <0x00200004>;
+	};
+
+	vic1: interrupt-controller@71300000 {
+		interrupt-mask = <0xffffffff>;
+		wakeup-mask = <0x53020000>;
+	};
+};
diff --git a/arch/arm/boot/dts/s3c6410.dtsi b/arch/arm/boot/dts/s3c6410.dtsi
new file mode 100644
index 0000000..4a74df9
--- /dev/null
+++ b/arch/arm/boot/dts/s3c6410.dtsi
@@ -0,0 +1,33 @@
+/*
+ * Samsung's S3C6410 SoC device tree source
+ *
+ * Copyright (c) 2013 Tomasz Figa <tomasz.figa@gmail.com>
+ *
+ * Samsung's S3C6410 SoC device nodes are listed in this file. S3C6410
+ * based board files can include this file and provide values for board specfic
+ * bindings.
+ *
+ * Note: This file does not include device nodes for all the controllers in
+ * S3C6410 SoC. As device tree coverage for S3C6410 increases, additional
+ * nodes can be added to this file.
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License version 2 as
+ * published by the Free Software Foundation.
+*/
+
+/include/ "s3c64xx.dtsi"
+
+/ {
+	compatible = "samsung,s3c6410";
+
+	vic0: interrupt-controller@71200000 {
+		interrupt-mask = <0xffffff7f>;
+		wakeup-mask = <0x00200004>;
+	};
+
+	vic1: interrupt-controller@71300000 {
+		interrupt-mask = <0xffffffff>;
+		wakeup-mask = <0x53020000>;
+	};
+};
diff --git a/arch/arm/boot/dts/s3c64xx-pinctrl.dtsi b/arch/arm/boot/dts/s3c64xx-pinctrl.dtsi
new file mode 100644
index 0000000..738017f
--- /dev/null
+++ b/arch/arm/boot/dts/s3c64xx-pinctrl.dtsi
@@ -0,0 +1,683 @@
+/*
+ * Samsung's S3C64xx SoC series common device tree source
+ * - pin control-related definitions
+ *
+ * Copyright (c) 2013 Tomasz Figa <tomasz.figa@gmail.com>
+ *
+ * Samsung's S3C64xx SoCs pin banks, pin-mux and pin-config options are
+ * listed as device tree nodes in this file.
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License version 2 as
+ * published by the Free Software Foundation.
+ */
+
+&pinctrl0 {
+	/*
+	 * Pin banks
+	 */
+
+	gpa: gpa {
+		gpio-controller;
+		#gpio-cells = <2>;
+		interrupt-controller;
+		#interrupt-cells = <2>;
+	};
+
+	gpb: gpb {
+		gpio-controller;
+		#gpio-cells = <2>;
+		interrupt-controller;
+		#interrupt-cells = <2>;
+	};
+
+	gpc: gpc {
+		gpio-controller;
+		#gpio-cells = <2>;
+		interrupt-controller;
+		#interrupt-cells = <2>;
+	};
+
+	gpd: gpd {
+		gpio-controller;
+		#gpio-cells = <2>;
+		interrupt-controller;
+		#interrupt-cells = <2>;
+	};
+
+	gpe: gpe {
+		gpio-controller;
+		#gpio-cells = <2>;
+	};
+
+	gpf: gpf {
+		gpio-controller;
+		#gpio-cells = <2>;
+		interrupt-controller;
+		#interrupt-cells = <2>;
+	};
+
+	gpg: gpg {
+		gpio-controller;
+		#gpio-cells = <2>;
+		interrupt-controller;
+		#interrupt-cells = <2>;
+	};
+
+	gph: gph {
+		gpio-controller;
+		#gpio-cells = <2>;
+		interrupt-controller;
+		#interrupt-cells = <2>;
+	};
+
+	gpi: gpi {
+		gpio-controller;
+		#gpio-cells = <2>;
+	};
+
+	gpj: gpj {
+		gpio-controller;
+		#gpio-cells = <2>;
+	};
+
+	gpk: gpk {
+		gpio-controller;
+		#gpio-cells = <2>;
+	};
+
+	gpl: gpl {
+		gpio-controller;
+		#gpio-cells = <2>;
+		interrupt-controller;
+		#interrupt-cells = <2>;
+	};
+
+	gpm: gpm {
+		gpio-controller;
+		#gpio-cells = <2>;
+		interrupt-controller;
+		#interrupt-cells = <2>;
+	};
+
+	gpn: gpn {
+		gpio-controller;
+		#gpio-cells = <2>;
+		interrupt-controller;
+		#interrupt-cells = <2>;
+	};
+
+	gpo: gpo {
+		gpio-controller;
+		#gpio-cells = <2>;
+		interrupt-controller;
+		#interrupt-cells = <2>;
+	};
+
+	gpp: gpp {
+		gpio-controller;
+		#gpio-cells = <2>;
+		interrupt-controller;
+		#interrupt-cells = <2>;
+	};
+
+	gpq: gpq {
+		gpio-controller;
+		#gpio-cells = <2>;
+		interrupt-controller;
+		#interrupt-cells = <2>;
+	};
+
+	/*
+	 * Pin groups
+	 */
+
+	uart0_data: uart0-data {
+		samsung,pins = "gpa-0", "gpa-1";
+		samsung,pin-function = <2>;
+		samsung,pin-pud = <0>;
+	};
+
+	uart0_fctl: uart0-fctl {
+		samsung,pins = "gpa-2", "gpa-3";
+		samsung,pin-function = <2>;
+		samsung,pin-pud = <0>;
+	};
+
+	uart1_data: uart1-data {
+		samsung,pins = "gpa-4", "gpa-5";
+		samsung,pin-function = <2>;
+		samsung,pin-pud = <0>;
+	};
+
+	uart1_fctl: uart1-fctl {
+		samsung,pins = "gpa-6", "gpa-7";
+		samsung,pin-function = <2>;
+		samsung,pin-pud = <0>;
+	};
+
+	uart2_data: uart2-data {
+		samsung,pins = "gpb-0", "gpb-1";
+		samsung,pin-function = <2>;
+		samsung,pin-pud = <0>;
+	};
+
+	uart3_data: uart3-data {
+		samsung,pins = "gpb-2", "gpb-3";
+		samsung,pin-function = <2>;
+		samsung,pin-pud = <0>;
+	};
+
+	ext_dma_0: ext-dma-0 {
+		samsung,pins = "gpb-0", "gpb-1";
+		samsung,pin-function = <3>;
+		samsung,pid-pud = <0>;
+	};
+
+	ext_dma_1: ext-dma-1 {
+		samsung,pins = "gpb-2", "gpb-3";
+		samsung,pin-function = <4>;
+		samsung,pid-pud = <0>;
+	};
+
+	irda_data_0: irda-data-0 {
+		samsung,pins = "gpb-0", "gpb-1";
+		samsung,pin-function = <4>;
+		samsung,pid-pud = <0>;
+	};
+
+	irda_data_1: irda-data-1 {
+		samsung,pins = "gpb-2", "gpb-3";
+		samsung,pin-function = <3>;
+		samsung,pid-pud = <0>;
+	};
+
+	irda_sdbw: irda-sdbw {
+		samsung,pins = "gpb-4";
+		samsung,pin-function = <2>;
+		samsung,pid-pud = <0>;
+	};
+
+	i2c0_bus: i2c0-bus {
+		samsung,pins = "gpb-5", "gpb-6";
+		samsung,pin-function = <2>;
+		samsung,pin-pud = <2>;
+	};
+
+	i2c1_bus: i2c1-bus {
+		/* S3C6410-only */
+		samsung,pins = "gpb-2", "gpb-3";
+		samsung,pin-function = <6>;
+		samsung,pin-pud = <2>;
+	};
+
+	spi0_bus: spi0-bus {
+		samsung,pins = "gpc-0", "gpc-1", "gpc-2";
+		samsung,pin-function = <2>;
+		samsung,pin-pud = <2>;
+	};
+
+	spi0_cs: spi0-cs {
+		samsung,pins = "gpc-3";
+		samsung,pin-function = <2>;
+		samsung,pid-pud = <0>;
+	};
+
+	spi1_bus: spi1-bus {
+		samsung,pins = "gpc-4", "gpc-5", "gpc-6";
+		samsung,pin-function = <2>;
+		samsung,pin-pud = <2>;
+	};
+
+	spi1_cs: spi1-cs {
+		samsung,pins = "gpc-7";
+		samsung,pin-function = <2>;
+		samsung,pid-pud = <0>;
+	};
+
+	sd0_cmd: sd0-cmd {
+		samsung,pins = "gpg-1";
+		samsung,pin-function = <2>;
+		samsung,pin-pud = <0>;
+	};
+
+	sd0_clk: sd0-clk {
+		samsung,pins = "gpg-0";
+		samsung,pin-function = <2>;
+		samsung,pin-pud = <0>;
+	};
+
+	sd0_bus1: sd0-bus1 {
+		samsung,pins = "gpg-2";
+		samsung,pin-function = <2>;
+		samsung,pin-pud = <0>;
+	};
+
+	sd0_bus4: sd0-bus4 {
+		samsung,pins = "gpg-2", "gpg-3", "gpg-4", "gpg-5";
+		samsung,pin-function = <2>;
+		samsung,pin-pud = <0>;
+	};
+
+	sd0_cd: sd0-cd {
+		samsung,pins = "gpg-6";
+		samsung,pin-function = <2>;
+		samsung,pin-pud = <2>;
+	};
+
+	sd1_cmd: sd1-cmd {
+		samsung,pins = "gph-1";
+		samsung,pin-function = <2>;
+		samsung,pin-pud = <0>;
+	};
+
+	sd1_clk: sd1-clk {
+		samsung,pins = "gph-0";
+		samsung,pin-function = <2>;
+		samsung,pin-pud = <0>;
+	};
+
+	sd1_bus1: sd1-bus1 {
+		samsung,pins = "gph-2";
+		samsung,pin-function = <2>;
+		samsung,pin-pud = <0>;
+	};
+
+	sd1_bus4: sd1-bus4 {
+		samsung,pins = "gph-2", "gph-3", "gph-4", "gph-5";
+		samsung,pin-function = <2>;
+		samsung,pin-pud = <0>;
+	};
+
+	sd1_bus8: sd1-bus8 {
+		samsung,pins = "gph-2", "gph-3", "gph-4", "gph-5",
+				"gph-6", "gph-7", "gph-8", "gph-9";
+		samsung,pin-function = <2>;
+		samsung,pin-pud = <0>;
+	};
+
+	sd1_cd: sd1-cd {
+		samsung,pins = "gpg-6";
+		samsung,pin-function = <3>;
+		samsung,pin-pud = <2>;
+	};
+
+	sd2_cmd: sd2-cmd {
+		samsung,pins = "gpc-4";
+		samsung,pin-function = <3>;
+		samsung,pin-pud = <0>;
+	};
+
+	sd2_clk: sd2-clk {
+		samsung,pins = "gpc-5";
+		samsung,pin-function = <3>;
+		samsung,pin-pud = <0>;
+	};
+
+	sd2_bus1: sd2-bus1 {
+		samsung,pins = "gph-6";
+		samsung,pin-function = <3>;
+		samsung,pin-pud = <0>;
+	};
+
+	sd2_bus4: sd2-bus4 {
+		samsung,pins = "gph-6", "gph-7", "gph-8", "gph-9";
+		samsung,pin-function = <3>;
+		samsung,pin-pud = <0>;
+	};
+
+	i2s0_bus: i2s0-bus {
+		samsung,pins = "gpd-0", "gpd-2", "gpd-3", "gpd-4";
+		samsung,pin-function = <3>;
+		samsung,pid-pud = <0>;
+	};
+
+	i2s0_cdclk: i2s0-cdclk {
+		samsung,pins = "gpd-1";
+		samsung,pin-function = <3>;
+		samsung,pid-pud = <0>;
+	};
+
+	i2s1_bus: i2s1-bus {
+		samsung,pins = "gpe-0", "gpe-2", "gpe-3", "gpe-4";
+		samsung,pin-function = <3>;
+		samsung,pid-pud = <0>;
+	};
+
+	i2s1_cdclk: i2s1-cdclk {
+		samsung,pins = "gpe-1";
+		samsung,pin-function = <3>;
+		samsung,pid-pud = <0>;
+	};
+
+	i2s2_bus: i2s2-bus {
+		/* S3C6410-only */
+		samsung,pins = "gpc-4", "gpc-5", "gpc-6", "gph-6",
+				"gph-8", "gph-9";
+		samsung,pin-function = <5>;
+		samsung,pid-pud = <0>;
+	};
+
+	i2s2_cdclk: i2s2-cdclk {
+		/* S3C6410-only */
+		samsung,pins = "gph-7";
+		samsung,pin-function = <5>;
+		samsung,pid-pud = <0>;
+	};
+
+	pcm0_bus: pcm0-bus {
+		samsung,pins = "gpd-0", "gpd-2", "gpd-3", "gpd-4";
+		samsung,pin-function = <2>;
+		samsung,pid-pud = <0>;
+	};
+
+	pcm0_extclk: pcm0-extclk {
+		samsung,pins = "gpd-1";
+		samsung,pin-function = <2>;
+		samsung,pid-pud = <0>;
+	};
+
+	pcm1_bus: pcm1-bus {
+		samsung,pins = "gpe-0", "gpe-2", "gpe-3", "gpe-4";
+		samsung,pin-function = <2>;
+		samsung,pid-pud = <0>;
+	};
+
+	pcm1_extclk: pcm1-extclk {
+		samsung,pins = "gpe-1";
+		samsung,pin-function = <2>;
+		samsung,pid-pud = <0>;
+	};
+
+	ac97_bus_0: ac97-bus-0 {
+		samsung,pins = "gpd-0", "gpd-1", "gpd-2", "gpd-3", "gpd-4";
+		samsung,pin-function = <4>;
+		samsung,pid-pud = <0>;
+	};
+
+	ac97_bus_1: ac97-bus-1 {
+		samsung,pins = "gpe-0", "gpe-1", "gpe-2", "gpe-3", "gpe-4";
+		samsung,pin-function = <4>;
+		samsung,pid-pud = <0>;
+	};
+
+	cam_port: cam-port {
+		samsung,pins = "gpf-0", "gpf-1", "gpf-2", "gpf-4",
+				"gpf-5", "gpf-6", "gpf-7", "gpf-8",
+				"gpf-9", "gpf-10", "gpf-11", "gpf-12";
+		samsung,pin-function = <2>;
+		samsung,pid-pud = <0>;
+	};
+
+	cam_rst: cam-rst {
+		samsung,pins = "gpf-3";
+		samsung,pin-function = <2>;
+		samsung,pid-pud = <0>;
+	};
+
+	cam_field: cam-field {
+		/* S3C6410-only */
+		samsung,pins = "gpb-4";
+		samsung,pin-function = <3>;
+		samsung,pid-pud = <0>;
+	};
+
+	pwm_extclk: pwm-extclk {
+		samsung,pins = "gpf-13";
+		samsung,pin-function = <2>;
+		samsung,pid-pud = <0>;
+	};
+
+	pwm0_out: pwm0-out {
+		samsung,pins = "gpf-14";
+		samsung,pin-function = <2>;
+		samsung,pid-pud = <0>;
+	};
+
+	pwm1_out: pwm1-out {
+		samsung,pins = "gpf-15";
+		samsung,pin-function = <2>;
+		samsung,pid-pud = <0>;
+	};
+
+	clkout0: clkout-0 {
+		samsung,pins = "gpf-14";
+		samsung,pin-function = <3>;
+		samsung,pid-pud = <0>;
+	};
+
+	keypad_col0_0: keypad-col0-0 {
+		samsung,pins = "gph-0";
+		samsung,pin-function = <4>;
+		samsung,pin-pud = <0>;
+	};
+
+	keypad_col1_0: keypad-col1-0 {
+		samsung,pins = "gph-1";
+		samsung,pin-function = <4>;
+		samsung,pin-pud = <0>;
+	};
+
+	keypad_col2_0: keypad-col2-0 {
+		samsung,pins = "gph-2";
+		samsung,pin-function = <4>;
+		samsung,pin-pud = <0>;
+	};
+
+	keypad_col3_0: keypad-col3-0 {
+		samsung,pins = "gph-3";
+		samsung,pin-function = <4>;
+		samsung,pin-pud = <0>;
+	};
+
+	keypad_col4_0: keypad-col4-0 {
+		samsung,pins = "gph-4";
+		samsung,pin-function = <4>;
+		samsung,pin-pud = <0>;
+	};
+
+	keypad_col5_0: keypad-col5-0 {
+		samsung,pins = "gph-5";
+		samsung,pin-function = <4>;
+		samsung,pin-pud = <0>;
+	};
+
+	keypad_col6_0: keypad-col6-0 {
+		samsung,pins = "gph-6";
+		samsung,pin-function = <4>;
+		samsung,pin-pud = <0>;
+	};
+
+	keypad_col7_0: keypad-col7-0 {
+		samsung,pins = "gph-7";
+		samsung,pin-function = <4>;
+		samsung,pin-pud = <0>;
+	};
+
+	keypad_col0_1: keypad-col0-1 {
+		samsung,pins = "gpl-0";
+		samsung,pin-function = <3>;
+		samsung,pin-pud = <0>;
+	};
+
+	keypad_col1_1: keypad-col1-1 {
+		samsung,pins = "gpl-1";
+		samsung,pin-function = <3>;
+		samsung,pin-pud = <0>;
+	};
+
+	keypad_col2_1: keypad-col2-1 {
+		samsung,pins = "gpl-2";
+		samsung,pin-function = <3>;
+		samsung,pin-pud = <0>;
+	};
+
+	keypad_col3_1: keypad-col3-1 {
+		samsung,pins = "gpl-3";
+		samsung,pin-function = <3>;
+		samsung,pin-pud = <0>;
+	};
+
+	keypad_col4_1: keypad-col4-1 {
+		samsung,pins = "gpl-4";
+		samsung,pin-function = <3>;
+		samsung,pin-pud = <0>;
+	};
+
+	keypad_col5_1: keypad-col5-1 {
+		samsung,pins = "gpl-5";
+		samsung,pin-function = <3>;
+		samsung,pin-pud = <0>;
+	};
+
+	keypad_col6_1: keypad-col6-1 {
+		samsung,pins = "gpl-6";
+		samsung,pin-function = <3>;
+		samsung,pin-pud = <0>;
+	};
+
+	keypad_col7_1: keypad-col7-1 {
+		samsung,pins = "gpl-7";
+		samsung,pin-function = <3>;
+		samsung,pin-pud = <0>;
+	};
+
+	keypad_row0_0: keypad-row0-0 {
+		samsung,pins = "gpk-8";
+		samsung,pin-function = <3>;
+		samsung,pin-pud = <0>;
+	};
+
+	keypad_row1_0: keypad-row1-0 {
+		samsung,pins = "gpk-9";
+		samsung,pin-function = <3>;
+		samsung,pin-pud = <0>;
+	};
+
+	keypad_row2_0: keypad-row2-0 {
+		samsung,pins = "gpk-10";
+		samsung,pin-function = <3>;
+		samsung,pin-pud = <0>;
+	};
+
+	keypad_row3_0: keypad-row3-0 {
+		samsung,pins = "gpk-11";
+		samsung,pin-function = <3>;
+		samsung,pin-pud = <0>;
+	};
+
+	keypad_row4_0: keypad-row4-0 {
+		samsung,pins = "gpk-12";
+		samsung,pin-function = <3>;
+		samsung,pin-pud = <0>;
+	};
+
+	keypad_row5_0: keypad-row5-0 {
+		samsung,pins = "gpk-13";
+		samsung,pin-function = <3>;
+		samsung,pin-pud = <0>;
+	};
+
+	keypad_row6_0: keypad-row6-0 {
+		samsung,pins = "gpk-14";
+		samsung,pin-function = <3>;
+		samsung,pin-pud = <0>;
+	};
+
+	keypad_row7_0: keypad-row7-0 {
+		samsung,pins = "gpk-15";
+		samsung,pin-function = <3>;
+		samsung,pin-pud = <0>;
+	};
+
+	keypad_row0_1: keypad-row0-1 {
+		samsung,pins = "gpn-0";
+		samsung,pin-function = <3>;
+		samsung,pin-pud = <0>;
+	};
+
+	keypad_row1_1: keypad-row1-1 {
+		samsung,pins = "gpn-1";
+		samsung,pin-function = <3>;
+		samsung,pin-pud = <0>;
+	};
+
+	keypad_row2_1: keypad-row2-1 {
+		samsung,pins = "gpn-2";
+		samsung,pin-function = <3>;
+		samsung,pin-pud = <0>;
+	};
+
+	keypad_row3_1: keypad-row3-1 {
+		samsung,pins = "gpn-3";
+		samsung,pin-function = <3>;
+		samsung,pin-pud = <0>;
+	};
+
+	keypad_row4_1: keypad-row4-1 {
+		samsung,pins = "gpn-4";
+		samsung,pin-function = <3>;
+		samsung,pin-pud = <0>;
+	};
+
+	keypad_row5_1: keypad-row5-1 {
+		samsung,pins = "gpn-5";
+		samsung,pin-function = <3>;
+		samsung,pin-pud = <0>;
+	};
+
+	keypad_row6_1: keypad-row6-1 {
+		samsung,pins = "gpn-6";
+		samsung,pin-function = <3>;
+		samsung,pin-pud = <0>;
+	};
+
+	keypad_row7_1: keypad-row7-1 {
+		samsung,pins = "gpn-7";
+		samsung,pin-function = <3>;
+		samsung,pin-pud = <0>;
+	};
+
+	lcd_ctrl: lcd-ctrl {
+		samsung,pins = "gpj-8", "gpj-9", "gpj-10", "gpj-11";
+		samsung,pin-function = <2>;
+		samsung,pin-pud = <0>;
+	};
+
+	lcd_data16: lcd-data-width16 {
+		samsung,pins = "gpi-3", "gpi-4", "gpi-5", "gpi-6",
+				"gpi-7", "gpi-10", "gpi-11", "gpi-12",
+				"gpi-13", "gpi-14", "gpi-15", "gpj-3",
+				"gpj-4", "gpj-5", "gpj-6", "gpj-7";
+		samsung,pin-function = <2>;
+		samsung,pin-pud = <0>;
+	};
+
+	lcd_data18: lcd-data-width18 {
+		samsung,pins = "gpi-2", "gpi-3", "gpi-4", "gpi-5",
+				"gpi-6", "gpi-7", "gpi-10", "gpi-11",
+				"gpi-12", "gpi-13", "gpi-14", "gpi-15",
+				"gpj-2", "gpj-3", "gpj-4", "gpj-5",
+				"gpj-6", "gpj-7";
+		samsung,pin-function = <2>;
+		samsung,pin-pud = <0>;
+	};
+
+	lcd_data24: lcd-data-width24 {
+		samsung,pins = "gpi-0", "gpi-1", "gpi-2", "gpi-3",
+				"gpi-4", "gpi-5", "gpi-6", "gpi-7",
+				"gpi-8", "gpi-9", "gpi-10", "gpi-11",
+				"gpi-12", "gpi-13", "gpi-14", "gpi-15",
+				"gpj-0", "gpj-1", "gpj-2", "gpj-3",
+				"gpj-4", "gpj-5", "gpj-6", "gpj-7";
+		samsung,pin-function = <2>;
+		samsung,pin-pud = <0>;
+	};
+
+	hsi_bus: hsi-bus {
+		samsung,pins = "gpk-0", "gpk-1", "gpk-2", "gpk-3",
+				"gpk-4", "gpk-5", "gpk-6", "gpk-7";
+		samsung,pin-function = <3>;
+		samsung,pin-pud = <0>;
+	};
+};
diff --git a/arch/arm/boot/dts/s3c64xx.dtsi b/arch/arm/boot/dts/s3c64xx.dtsi
new file mode 100644
index 0000000..f86c0e4
--- /dev/null
+++ b/arch/arm/boot/dts/s3c64xx.dtsi
@@ -0,0 +1,136 @@
+/*
+ * Samsung's S3C64xx SoC series common device tree source
+ *
+ * Copyright (c) 2013 Tomasz Figa <tomasz.figa@gmail.com>
+ *
+ * Samsung's S3C64xx SoC series device nodes are listed in this file.
+ * Particular SoCs from S3C64xx series can include this file and provide
+ * values for SoCs specfic bindings.
+ *
+ * Note: This file does not include device nodes for all the controllers in
+ * S3C64xx SoCs. As device tree coverage for S3C64xx increases, additional
+ * nodes can be added to this file.
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License version 2 as
+ * published by the Free Software Foundation.
+ */
+
+/include/ "skeleton.dtsi"
+
+/ {
+	aliases {
+		pinctrl0 = &pinctrl0;
+	};
+
+	cpus {
+		cpu {
+			compatible = "arm,arm1176jzf-s", "arm,arm1176";
+		};
+	};
+
+	vic0: interrupt-controller@71200000 {
+		compatible = "arm,pl192-vic";
+		interrupt-controller;
+		reg = <0x71200000 0x1000>;
+		#interrupt-cells = <1>;
+	};
+
+	vic1: interrupt-controller@71300000 {
+		compatible = "arm,pl192-vic";
+		interrupt-controller;
+		reg = <0x71300000 0x1000>;
+		#interrupt-cells = <1>;
+	};
+
+	pinctrl0: pinctrl@7f008000 {
+		compatible = "samsung,s3c64xx-pinctrl";
+		reg = <0x7f008000 0x1000>;
+		interrupt-parent = <&vic1>;
+		interrupts = <21>;
+
+		pctrl_int_map: pinctrl-interrupt-map {
+			interrupt-map = <0 &vic0 0>,
+					<1 &vic0 1>,
+					<2 &vic1 0>,
+					<3 &vic1 1>;
+			#address-cells = <0>;
+			#size-cells = <0>;
+			#interrupt-cells = <1>;
+		};
+
+		wakeup-interrupt-controller {
+			compatible = "samsung,s3c64xx-wakeup-eint";
+			interrupts = <0>, <1>, <2>, <3>;
+			interrupt-parent = <&pctrl_int_map>;
+		};
+	};
+
+	pwm: pwm@7f006000 {
+		compatible = "samsung,s3c6400-pwm";
+		reg = <0x7f006000 0x1000>;
+		interrupt-parent = <&vic0>;
+		interrupts = <23>, <24>, <25>, <27>, <28>;
+		samsung,pwm-outputs = <0>, <1>;
+		#pwm-cells = <3>;
+		status = "disabled";
+	};
+
+	uart0: serial@7f005000 {
+		compatible = "samsung,s3c6400-uart";
+		reg = <0x7f005000 0x100>;
+		interrupt-parent = <&vic1>;
+		interrupts = <5>;
+		status = "disabled";
+	};
+
+	uart1: serial@7f005400 {
+		compatible = "samsung,s3c6400-uart";
+		reg = <0x7f005400 0x100>;
+		interrupt-parent = <&vic1>;
+		interrupts = <6>;
+		status = "disabled";
+	};
+
+	uart2: serial@7f005800 {
+		compatible = "samsung,s3c6400-uart";
+		reg = <0x7f005800 0x100>;
+		interrupt-parent = <&vic1>;
+		interrupts = <7>;
+		status = "disabled";
+	};
+
+	uart3: serial@7f005c00 {
+		compatible = "samsung,s3c6400-uart";
+		reg = <0x7f005c00 0x100>;
+		interrupt-parent = <&vic1>;
+		interrupts = <8>;
+		status = "disabled";
+	};
+
+	sdhci0: sdhci@7c200000 {
+		compatible = "samsung,s3c6410-sdhci";
+		reg = <0x7c200000 0x100>;
+		interrupt-parent = <&vic1>;
+		interrupts = <24>;
+		status = "disabled";
+	};
+
+	sdhci1: sdhci@7c300000 {
+		compatible = "samsung,s3c6410-sdhci";
+		reg = <0x7c300000 0x100>;
+		interrupt-parent = <&vic1>;
+		interrupts = <25>;
+		status = "disabled";
+	};
+
+	sdhci2: sdhci@7c400000 {
+		compatible = "samsung,s3c6410-sdhci";
+		reg = <0x7c400000 0x100>;
+		interrupt-parent = <&vic1>;
+		interrupts = <17>;
+		status = "disabled";
+	};
+};
+
+/include/ "s3c64xx-pinctrl.dtsi"
-- 
1.8.1.5

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

* [PATCH v5 5/6] ARM: dts: Add basic dts include files for Samsung S3C64xx SoCs
@ 2013-04-15 21:14   ` Tomasz Figa
  0 siblings, 0 replies; 62+ messages in thread
From: Tomasz Figa @ 2013-04-15 21:14 UTC (permalink / raw)
  To: linux-arm-kernel

This patch adds basic device tree definitions for Samsung S3C64xx SoCs.

Since all the SoCs in the series are very similar, the files are created
hierarchically - one file for the whole series and then separate files
for particular SoCs including the common one.

Signed-off-by: Tomasz Figa <tomasz.figa@gmail.com>
---
 arch/arm/boot/dts/s3c6400.dtsi         |  33 ++
 arch/arm/boot/dts/s3c6410.dtsi         |  33 ++
 arch/arm/boot/dts/s3c64xx-pinctrl.dtsi | 683 +++++++++++++++++++++++++++++++++
 arch/arm/boot/dts/s3c64xx.dtsi         | 136 +++++++
 4 files changed, 885 insertions(+)
 create mode 100644 arch/arm/boot/dts/s3c6400.dtsi
 create mode 100644 arch/arm/boot/dts/s3c6410.dtsi
 create mode 100644 arch/arm/boot/dts/s3c64xx-pinctrl.dtsi
 create mode 100644 arch/arm/boot/dts/s3c64xx.dtsi

diff --git a/arch/arm/boot/dts/s3c6400.dtsi b/arch/arm/boot/dts/s3c6400.dtsi
new file mode 100644
index 0000000..76106b8
--- /dev/null
+++ b/arch/arm/boot/dts/s3c6400.dtsi
@@ -0,0 +1,33 @@
+/*
+ * Samsung's S3C6400 SoC device tree source
+ *
+ * Copyright (c) 2013 Tomasz Figa <tomasz.figa@gmail.com>
+ *
+ * Samsung's S3C6400 SoC device nodes are listed in this file. S3C6400
+ * based board files can include this file and provide values for board specfic
+ * bindings.
+ *
+ * Note: This file does not include device nodes for all the controllers in
+ * S3C6400 SoC. As device tree coverage for S3C6400 increases, additional
+ * nodes can be added to this file.
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License version 2 as
+ * published by the Free Software Foundation.
+*/
+
+/include/ "s3c64xx.dtsi"
+
+/ {
+	compatible = "samsung,s3c6400";
+
+	vic0: interrupt-controller at 71200000 {
+		interrupt-mask = <0xfffffe1f>;
+		wakeup-mask = <0x00200004>;
+	};
+
+	vic1: interrupt-controller at 71300000 {
+		interrupt-mask = <0xffffffff>;
+		wakeup-mask = <0x53020000>;
+	};
+};
diff --git a/arch/arm/boot/dts/s3c6410.dtsi b/arch/arm/boot/dts/s3c6410.dtsi
new file mode 100644
index 0000000..4a74df9
--- /dev/null
+++ b/arch/arm/boot/dts/s3c6410.dtsi
@@ -0,0 +1,33 @@
+/*
+ * Samsung's S3C6410 SoC device tree source
+ *
+ * Copyright (c) 2013 Tomasz Figa <tomasz.figa@gmail.com>
+ *
+ * Samsung's S3C6410 SoC device nodes are listed in this file. S3C6410
+ * based board files can include this file and provide values for board specfic
+ * bindings.
+ *
+ * Note: This file does not include device nodes for all the controllers in
+ * S3C6410 SoC. As device tree coverage for S3C6410 increases, additional
+ * nodes can be added to this file.
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License version 2 as
+ * published by the Free Software Foundation.
+*/
+
+/include/ "s3c64xx.dtsi"
+
+/ {
+	compatible = "samsung,s3c6410";
+
+	vic0: interrupt-controller at 71200000 {
+		interrupt-mask = <0xffffff7f>;
+		wakeup-mask = <0x00200004>;
+	};
+
+	vic1: interrupt-controller at 71300000 {
+		interrupt-mask = <0xffffffff>;
+		wakeup-mask = <0x53020000>;
+	};
+};
diff --git a/arch/arm/boot/dts/s3c64xx-pinctrl.dtsi b/arch/arm/boot/dts/s3c64xx-pinctrl.dtsi
new file mode 100644
index 0000000..738017f
--- /dev/null
+++ b/arch/arm/boot/dts/s3c64xx-pinctrl.dtsi
@@ -0,0 +1,683 @@
+/*
+ * Samsung's S3C64xx SoC series common device tree source
+ * - pin control-related definitions
+ *
+ * Copyright (c) 2013 Tomasz Figa <tomasz.figa@gmail.com>
+ *
+ * Samsung's S3C64xx SoCs pin banks, pin-mux and pin-config options are
+ * listed as device tree nodes in this file.
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License version 2 as
+ * published by the Free Software Foundation.
+ */
+
+&pinctrl0 {
+	/*
+	 * Pin banks
+	 */
+
+	gpa: gpa {
+		gpio-controller;
+		#gpio-cells = <2>;
+		interrupt-controller;
+		#interrupt-cells = <2>;
+	};
+
+	gpb: gpb {
+		gpio-controller;
+		#gpio-cells = <2>;
+		interrupt-controller;
+		#interrupt-cells = <2>;
+	};
+
+	gpc: gpc {
+		gpio-controller;
+		#gpio-cells = <2>;
+		interrupt-controller;
+		#interrupt-cells = <2>;
+	};
+
+	gpd: gpd {
+		gpio-controller;
+		#gpio-cells = <2>;
+		interrupt-controller;
+		#interrupt-cells = <2>;
+	};
+
+	gpe: gpe {
+		gpio-controller;
+		#gpio-cells = <2>;
+	};
+
+	gpf: gpf {
+		gpio-controller;
+		#gpio-cells = <2>;
+		interrupt-controller;
+		#interrupt-cells = <2>;
+	};
+
+	gpg: gpg {
+		gpio-controller;
+		#gpio-cells = <2>;
+		interrupt-controller;
+		#interrupt-cells = <2>;
+	};
+
+	gph: gph {
+		gpio-controller;
+		#gpio-cells = <2>;
+		interrupt-controller;
+		#interrupt-cells = <2>;
+	};
+
+	gpi: gpi {
+		gpio-controller;
+		#gpio-cells = <2>;
+	};
+
+	gpj: gpj {
+		gpio-controller;
+		#gpio-cells = <2>;
+	};
+
+	gpk: gpk {
+		gpio-controller;
+		#gpio-cells = <2>;
+	};
+
+	gpl: gpl {
+		gpio-controller;
+		#gpio-cells = <2>;
+		interrupt-controller;
+		#interrupt-cells = <2>;
+	};
+
+	gpm: gpm {
+		gpio-controller;
+		#gpio-cells = <2>;
+		interrupt-controller;
+		#interrupt-cells = <2>;
+	};
+
+	gpn: gpn {
+		gpio-controller;
+		#gpio-cells = <2>;
+		interrupt-controller;
+		#interrupt-cells = <2>;
+	};
+
+	gpo: gpo {
+		gpio-controller;
+		#gpio-cells = <2>;
+		interrupt-controller;
+		#interrupt-cells = <2>;
+	};
+
+	gpp: gpp {
+		gpio-controller;
+		#gpio-cells = <2>;
+		interrupt-controller;
+		#interrupt-cells = <2>;
+	};
+
+	gpq: gpq {
+		gpio-controller;
+		#gpio-cells = <2>;
+		interrupt-controller;
+		#interrupt-cells = <2>;
+	};
+
+	/*
+	 * Pin groups
+	 */
+
+	uart0_data: uart0-data {
+		samsung,pins = "gpa-0", "gpa-1";
+		samsung,pin-function = <2>;
+		samsung,pin-pud = <0>;
+	};
+
+	uart0_fctl: uart0-fctl {
+		samsung,pins = "gpa-2", "gpa-3";
+		samsung,pin-function = <2>;
+		samsung,pin-pud = <0>;
+	};
+
+	uart1_data: uart1-data {
+		samsung,pins = "gpa-4", "gpa-5";
+		samsung,pin-function = <2>;
+		samsung,pin-pud = <0>;
+	};
+
+	uart1_fctl: uart1-fctl {
+		samsung,pins = "gpa-6", "gpa-7";
+		samsung,pin-function = <2>;
+		samsung,pin-pud = <0>;
+	};
+
+	uart2_data: uart2-data {
+		samsung,pins = "gpb-0", "gpb-1";
+		samsung,pin-function = <2>;
+		samsung,pin-pud = <0>;
+	};
+
+	uart3_data: uart3-data {
+		samsung,pins = "gpb-2", "gpb-3";
+		samsung,pin-function = <2>;
+		samsung,pin-pud = <0>;
+	};
+
+	ext_dma_0: ext-dma-0 {
+		samsung,pins = "gpb-0", "gpb-1";
+		samsung,pin-function = <3>;
+		samsung,pid-pud = <0>;
+	};
+
+	ext_dma_1: ext-dma-1 {
+		samsung,pins = "gpb-2", "gpb-3";
+		samsung,pin-function = <4>;
+		samsung,pid-pud = <0>;
+	};
+
+	irda_data_0: irda-data-0 {
+		samsung,pins = "gpb-0", "gpb-1";
+		samsung,pin-function = <4>;
+		samsung,pid-pud = <0>;
+	};
+
+	irda_data_1: irda-data-1 {
+		samsung,pins = "gpb-2", "gpb-3";
+		samsung,pin-function = <3>;
+		samsung,pid-pud = <0>;
+	};
+
+	irda_sdbw: irda-sdbw {
+		samsung,pins = "gpb-4";
+		samsung,pin-function = <2>;
+		samsung,pid-pud = <0>;
+	};
+
+	i2c0_bus: i2c0-bus {
+		samsung,pins = "gpb-5", "gpb-6";
+		samsung,pin-function = <2>;
+		samsung,pin-pud = <2>;
+	};
+
+	i2c1_bus: i2c1-bus {
+		/* S3C6410-only */
+		samsung,pins = "gpb-2", "gpb-3";
+		samsung,pin-function = <6>;
+		samsung,pin-pud = <2>;
+	};
+
+	spi0_bus: spi0-bus {
+		samsung,pins = "gpc-0", "gpc-1", "gpc-2";
+		samsung,pin-function = <2>;
+		samsung,pin-pud = <2>;
+	};
+
+	spi0_cs: spi0-cs {
+		samsung,pins = "gpc-3";
+		samsung,pin-function = <2>;
+		samsung,pid-pud = <0>;
+	};
+
+	spi1_bus: spi1-bus {
+		samsung,pins = "gpc-4", "gpc-5", "gpc-6";
+		samsung,pin-function = <2>;
+		samsung,pin-pud = <2>;
+	};
+
+	spi1_cs: spi1-cs {
+		samsung,pins = "gpc-7";
+		samsung,pin-function = <2>;
+		samsung,pid-pud = <0>;
+	};
+
+	sd0_cmd: sd0-cmd {
+		samsung,pins = "gpg-1";
+		samsung,pin-function = <2>;
+		samsung,pin-pud = <0>;
+	};
+
+	sd0_clk: sd0-clk {
+		samsung,pins = "gpg-0";
+		samsung,pin-function = <2>;
+		samsung,pin-pud = <0>;
+	};
+
+	sd0_bus1: sd0-bus1 {
+		samsung,pins = "gpg-2";
+		samsung,pin-function = <2>;
+		samsung,pin-pud = <0>;
+	};
+
+	sd0_bus4: sd0-bus4 {
+		samsung,pins = "gpg-2", "gpg-3", "gpg-4", "gpg-5";
+		samsung,pin-function = <2>;
+		samsung,pin-pud = <0>;
+	};
+
+	sd0_cd: sd0-cd {
+		samsung,pins = "gpg-6";
+		samsung,pin-function = <2>;
+		samsung,pin-pud = <2>;
+	};
+
+	sd1_cmd: sd1-cmd {
+		samsung,pins = "gph-1";
+		samsung,pin-function = <2>;
+		samsung,pin-pud = <0>;
+	};
+
+	sd1_clk: sd1-clk {
+		samsung,pins = "gph-0";
+		samsung,pin-function = <2>;
+		samsung,pin-pud = <0>;
+	};
+
+	sd1_bus1: sd1-bus1 {
+		samsung,pins = "gph-2";
+		samsung,pin-function = <2>;
+		samsung,pin-pud = <0>;
+	};
+
+	sd1_bus4: sd1-bus4 {
+		samsung,pins = "gph-2", "gph-3", "gph-4", "gph-5";
+		samsung,pin-function = <2>;
+		samsung,pin-pud = <0>;
+	};
+
+	sd1_bus8: sd1-bus8 {
+		samsung,pins = "gph-2", "gph-3", "gph-4", "gph-5",
+				"gph-6", "gph-7", "gph-8", "gph-9";
+		samsung,pin-function = <2>;
+		samsung,pin-pud = <0>;
+	};
+
+	sd1_cd: sd1-cd {
+		samsung,pins = "gpg-6";
+		samsung,pin-function = <3>;
+		samsung,pin-pud = <2>;
+	};
+
+	sd2_cmd: sd2-cmd {
+		samsung,pins = "gpc-4";
+		samsung,pin-function = <3>;
+		samsung,pin-pud = <0>;
+	};
+
+	sd2_clk: sd2-clk {
+		samsung,pins = "gpc-5";
+		samsung,pin-function = <3>;
+		samsung,pin-pud = <0>;
+	};
+
+	sd2_bus1: sd2-bus1 {
+		samsung,pins = "gph-6";
+		samsung,pin-function = <3>;
+		samsung,pin-pud = <0>;
+	};
+
+	sd2_bus4: sd2-bus4 {
+		samsung,pins = "gph-6", "gph-7", "gph-8", "gph-9";
+		samsung,pin-function = <3>;
+		samsung,pin-pud = <0>;
+	};
+
+	i2s0_bus: i2s0-bus {
+		samsung,pins = "gpd-0", "gpd-2", "gpd-3", "gpd-4";
+		samsung,pin-function = <3>;
+		samsung,pid-pud = <0>;
+	};
+
+	i2s0_cdclk: i2s0-cdclk {
+		samsung,pins = "gpd-1";
+		samsung,pin-function = <3>;
+		samsung,pid-pud = <0>;
+	};
+
+	i2s1_bus: i2s1-bus {
+		samsung,pins = "gpe-0", "gpe-2", "gpe-3", "gpe-4";
+		samsung,pin-function = <3>;
+		samsung,pid-pud = <0>;
+	};
+
+	i2s1_cdclk: i2s1-cdclk {
+		samsung,pins = "gpe-1";
+		samsung,pin-function = <3>;
+		samsung,pid-pud = <0>;
+	};
+
+	i2s2_bus: i2s2-bus {
+		/* S3C6410-only */
+		samsung,pins = "gpc-4", "gpc-5", "gpc-6", "gph-6",
+				"gph-8", "gph-9";
+		samsung,pin-function = <5>;
+		samsung,pid-pud = <0>;
+	};
+
+	i2s2_cdclk: i2s2-cdclk {
+		/* S3C6410-only */
+		samsung,pins = "gph-7";
+		samsung,pin-function = <5>;
+		samsung,pid-pud = <0>;
+	};
+
+	pcm0_bus: pcm0-bus {
+		samsung,pins = "gpd-0", "gpd-2", "gpd-3", "gpd-4";
+		samsung,pin-function = <2>;
+		samsung,pid-pud = <0>;
+	};
+
+	pcm0_extclk: pcm0-extclk {
+		samsung,pins = "gpd-1";
+		samsung,pin-function = <2>;
+		samsung,pid-pud = <0>;
+	};
+
+	pcm1_bus: pcm1-bus {
+		samsung,pins = "gpe-0", "gpe-2", "gpe-3", "gpe-4";
+		samsung,pin-function = <2>;
+		samsung,pid-pud = <0>;
+	};
+
+	pcm1_extclk: pcm1-extclk {
+		samsung,pins = "gpe-1";
+		samsung,pin-function = <2>;
+		samsung,pid-pud = <0>;
+	};
+
+	ac97_bus_0: ac97-bus-0 {
+		samsung,pins = "gpd-0", "gpd-1", "gpd-2", "gpd-3", "gpd-4";
+		samsung,pin-function = <4>;
+		samsung,pid-pud = <0>;
+	};
+
+	ac97_bus_1: ac97-bus-1 {
+		samsung,pins = "gpe-0", "gpe-1", "gpe-2", "gpe-3", "gpe-4";
+		samsung,pin-function = <4>;
+		samsung,pid-pud = <0>;
+	};
+
+	cam_port: cam-port {
+		samsung,pins = "gpf-0", "gpf-1", "gpf-2", "gpf-4",
+				"gpf-5", "gpf-6", "gpf-7", "gpf-8",
+				"gpf-9", "gpf-10", "gpf-11", "gpf-12";
+		samsung,pin-function = <2>;
+		samsung,pid-pud = <0>;
+	};
+
+	cam_rst: cam-rst {
+		samsung,pins = "gpf-3";
+		samsung,pin-function = <2>;
+		samsung,pid-pud = <0>;
+	};
+
+	cam_field: cam-field {
+		/* S3C6410-only */
+		samsung,pins = "gpb-4";
+		samsung,pin-function = <3>;
+		samsung,pid-pud = <0>;
+	};
+
+	pwm_extclk: pwm-extclk {
+		samsung,pins = "gpf-13";
+		samsung,pin-function = <2>;
+		samsung,pid-pud = <0>;
+	};
+
+	pwm0_out: pwm0-out {
+		samsung,pins = "gpf-14";
+		samsung,pin-function = <2>;
+		samsung,pid-pud = <0>;
+	};
+
+	pwm1_out: pwm1-out {
+		samsung,pins = "gpf-15";
+		samsung,pin-function = <2>;
+		samsung,pid-pud = <0>;
+	};
+
+	clkout0: clkout-0 {
+		samsung,pins = "gpf-14";
+		samsung,pin-function = <3>;
+		samsung,pid-pud = <0>;
+	};
+
+	keypad_col0_0: keypad-col0-0 {
+		samsung,pins = "gph-0";
+		samsung,pin-function = <4>;
+		samsung,pin-pud = <0>;
+	};
+
+	keypad_col1_0: keypad-col1-0 {
+		samsung,pins = "gph-1";
+		samsung,pin-function = <4>;
+		samsung,pin-pud = <0>;
+	};
+
+	keypad_col2_0: keypad-col2-0 {
+		samsung,pins = "gph-2";
+		samsung,pin-function = <4>;
+		samsung,pin-pud = <0>;
+	};
+
+	keypad_col3_0: keypad-col3-0 {
+		samsung,pins = "gph-3";
+		samsung,pin-function = <4>;
+		samsung,pin-pud = <0>;
+	};
+
+	keypad_col4_0: keypad-col4-0 {
+		samsung,pins = "gph-4";
+		samsung,pin-function = <4>;
+		samsung,pin-pud = <0>;
+	};
+
+	keypad_col5_0: keypad-col5-0 {
+		samsung,pins = "gph-5";
+		samsung,pin-function = <4>;
+		samsung,pin-pud = <0>;
+	};
+
+	keypad_col6_0: keypad-col6-0 {
+		samsung,pins = "gph-6";
+		samsung,pin-function = <4>;
+		samsung,pin-pud = <0>;
+	};
+
+	keypad_col7_0: keypad-col7-0 {
+		samsung,pins = "gph-7";
+		samsung,pin-function = <4>;
+		samsung,pin-pud = <0>;
+	};
+
+	keypad_col0_1: keypad-col0-1 {
+		samsung,pins = "gpl-0";
+		samsung,pin-function = <3>;
+		samsung,pin-pud = <0>;
+	};
+
+	keypad_col1_1: keypad-col1-1 {
+		samsung,pins = "gpl-1";
+		samsung,pin-function = <3>;
+		samsung,pin-pud = <0>;
+	};
+
+	keypad_col2_1: keypad-col2-1 {
+		samsung,pins = "gpl-2";
+		samsung,pin-function = <3>;
+		samsung,pin-pud = <0>;
+	};
+
+	keypad_col3_1: keypad-col3-1 {
+		samsung,pins = "gpl-3";
+		samsung,pin-function = <3>;
+		samsung,pin-pud = <0>;
+	};
+
+	keypad_col4_1: keypad-col4-1 {
+		samsung,pins = "gpl-4";
+		samsung,pin-function = <3>;
+		samsung,pin-pud = <0>;
+	};
+
+	keypad_col5_1: keypad-col5-1 {
+		samsung,pins = "gpl-5";
+		samsung,pin-function = <3>;
+		samsung,pin-pud = <0>;
+	};
+
+	keypad_col6_1: keypad-col6-1 {
+		samsung,pins = "gpl-6";
+		samsung,pin-function = <3>;
+		samsung,pin-pud = <0>;
+	};
+
+	keypad_col7_1: keypad-col7-1 {
+		samsung,pins = "gpl-7";
+		samsung,pin-function = <3>;
+		samsung,pin-pud = <0>;
+	};
+
+	keypad_row0_0: keypad-row0-0 {
+		samsung,pins = "gpk-8";
+		samsung,pin-function = <3>;
+		samsung,pin-pud = <0>;
+	};
+
+	keypad_row1_0: keypad-row1-0 {
+		samsung,pins = "gpk-9";
+		samsung,pin-function = <3>;
+		samsung,pin-pud = <0>;
+	};
+
+	keypad_row2_0: keypad-row2-0 {
+		samsung,pins = "gpk-10";
+		samsung,pin-function = <3>;
+		samsung,pin-pud = <0>;
+	};
+
+	keypad_row3_0: keypad-row3-0 {
+		samsung,pins = "gpk-11";
+		samsung,pin-function = <3>;
+		samsung,pin-pud = <0>;
+	};
+
+	keypad_row4_0: keypad-row4-0 {
+		samsung,pins = "gpk-12";
+		samsung,pin-function = <3>;
+		samsung,pin-pud = <0>;
+	};
+
+	keypad_row5_0: keypad-row5-0 {
+		samsung,pins = "gpk-13";
+		samsung,pin-function = <3>;
+		samsung,pin-pud = <0>;
+	};
+
+	keypad_row6_0: keypad-row6-0 {
+		samsung,pins = "gpk-14";
+		samsung,pin-function = <3>;
+		samsung,pin-pud = <0>;
+	};
+
+	keypad_row7_0: keypad-row7-0 {
+		samsung,pins = "gpk-15";
+		samsung,pin-function = <3>;
+		samsung,pin-pud = <0>;
+	};
+
+	keypad_row0_1: keypad-row0-1 {
+		samsung,pins = "gpn-0";
+		samsung,pin-function = <3>;
+		samsung,pin-pud = <0>;
+	};
+
+	keypad_row1_1: keypad-row1-1 {
+		samsung,pins = "gpn-1";
+		samsung,pin-function = <3>;
+		samsung,pin-pud = <0>;
+	};
+
+	keypad_row2_1: keypad-row2-1 {
+		samsung,pins = "gpn-2";
+		samsung,pin-function = <3>;
+		samsung,pin-pud = <0>;
+	};
+
+	keypad_row3_1: keypad-row3-1 {
+		samsung,pins = "gpn-3";
+		samsung,pin-function = <3>;
+		samsung,pin-pud = <0>;
+	};
+
+	keypad_row4_1: keypad-row4-1 {
+		samsung,pins = "gpn-4";
+		samsung,pin-function = <3>;
+		samsung,pin-pud = <0>;
+	};
+
+	keypad_row5_1: keypad-row5-1 {
+		samsung,pins = "gpn-5";
+		samsung,pin-function = <3>;
+		samsung,pin-pud = <0>;
+	};
+
+	keypad_row6_1: keypad-row6-1 {
+		samsung,pins = "gpn-6";
+		samsung,pin-function = <3>;
+		samsung,pin-pud = <0>;
+	};
+
+	keypad_row7_1: keypad-row7-1 {
+		samsung,pins = "gpn-7";
+		samsung,pin-function = <3>;
+		samsung,pin-pud = <0>;
+	};
+
+	lcd_ctrl: lcd-ctrl {
+		samsung,pins = "gpj-8", "gpj-9", "gpj-10", "gpj-11";
+		samsung,pin-function = <2>;
+		samsung,pin-pud = <0>;
+	};
+
+	lcd_data16: lcd-data-width16 {
+		samsung,pins = "gpi-3", "gpi-4", "gpi-5", "gpi-6",
+				"gpi-7", "gpi-10", "gpi-11", "gpi-12",
+				"gpi-13", "gpi-14", "gpi-15", "gpj-3",
+				"gpj-4", "gpj-5", "gpj-6", "gpj-7";
+		samsung,pin-function = <2>;
+		samsung,pin-pud = <0>;
+	};
+
+	lcd_data18: lcd-data-width18 {
+		samsung,pins = "gpi-2", "gpi-3", "gpi-4", "gpi-5",
+				"gpi-6", "gpi-7", "gpi-10", "gpi-11",
+				"gpi-12", "gpi-13", "gpi-14", "gpi-15",
+				"gpj-2", "gpj-3", "gpj-4", "gpj-5",
+				"gpj-6", "gpj-7";
+		samsung,pin-function = <2>;
+		samsung,pin-pud = <0>;
+	};
+
+	lcd_data24: lcd-data-width24 {
+		samsung,pins = "gpi-0", "gpi-1", "gpi-2", "gpi-3",
+				"gpi-4", "gpi-5", "gpi-6", "gpi-7",
+				"gpi-8", "gpi-9", "gpi-10", "gpi-11",
+				"gpi-12", "gpi-13", "gpi-14", "gpi-15",
+				"gpj-0", "gpj-1", "gpj-2", "gpj-3",
+				"gpj-4", "gpj-5", "gpj-6", "gpj-7";
+		samsung,pin-function = <2>;
+		samsung,pin-pud = <0>;
+	};
+
+	hsi_bus: hsi-bus {
+		samsung,pins = "gpk-0", "gpk-1", "gpk-2", "gpk-3",
+				"gpk-4", "gpk-5", "gpk-6", "gpk-7";
+		samsung,pin-function = <3>;
+		samsung,pin-pud = <0>;
+	};
+};
diff --git a/arch/arm/boot/dts/s3c64xx.dtsi b/arch/arm/boot/dts/s3c64xx.dtsi
new file mode 100644
index 0000000..f86c0e4
--- /dev/null
+++ b/arch/arm/boot/dts/s3c64xx.dtsi
@@ -0,0 +1,136 @@
+/*
+ * Samsung's S3C64xx SoC series common device tree source
+ *
+ * Copyright (c) 2013 Tomasz Figa <tomasz.figa@gmail.com>
+ *
+ * Samsung's S3C64xx SoC series device nodes are listed in this file.
+ * Particular SoCs from S3C64xx series can include this file and provide
+ * values for SoCs specfic bindings.
+ *
+ * Note: This file does not include device nodes for all the controllers in
+ * S3C64xx SoCs. As device tree coverage for S3C64xx increases, additional
+ * nodes can be added to this file.
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License version 2 as
+ * published by the Free Software Foundation.
+ */
+
+/include/ "skeleton.dtsi"
+
+/ {
+	aliases {
+		pinctrl0 = &pinctrl0;
+	};
+
+	cpus {
+		cpu {
+			compatible = "arm,arm1176jzf-s", "arm,arm1176";
+		};
+	};
+
+	vic0: interrupt-controller at 71200000 {
+		compatible = "arm,pl192-vic";
+		interrupt-controller;
+		reg = <0x71200000 0x1000>;
+		#interrupt-cells = <1>;
+	};
+
+	vic1: interrupt-controller at 71300000 {
+		compatible = "arm,pl192-vic";
+		interrupt-controller;
+		reg = <0x71300000 0x1000>;
+		#interrupt-cells = <1>;
+	};
+
+	pinctrl0: pinctrl at 7f008000 {
+		compatible = "samsung,s3c64xx-pinctrl";
+		reg = <0x7f008000 0x1000>;
+		interrupt-parent = <&vic1>;
+		interrupts = <21>;
+
+		pctrl_int_map: pinctrl-interrupt-map {
+			interrupt-map = <0 &vic0 0>,
+					<1 &vic0 1>,
+					<2 &vic1 0>,
+					<3 &vic1 1>;
+			#address-cells = <0>;
+			#size-cells = <0>;
+			#interrupt-cells = <1>;
+		};
+
+		wakeup-interrupt-controller {
+			compatible = "samsung,s3c64xx-wakeup-eint";
+			interrupts = <0>, <1>, <2>, <3>;
+			interrupt-parent = <&pctrl_int_map>;
+		};
+	};
+
+	pwm: pwm at 7f006000 {
+		compatible = "samsung,s3c6400-pwm";
+		reg = <0x7f006000 0x1000>;
+		interrupt-parent = <&vic0>;
+		interrupts = <23>, <24>, <25>, <27>, <28>;
+		samsung,pwm-outputs = <0>, <1>;
+		#pwm-cells = <3>;
+		status = "disabled";
+	};
+
+	uart0: serial at 7f005000 {
+		compatible = "samsung,s3c6400-uart";
+		reg = <0x7f005000 0x100>;
+		interrupt-parent = <&vic1>;
+		interrupts = <5>;
+		status = "disabled";
+	};
+
+	uart1: serial at 7f005400 {
+		compatible = "samsung,s3c6400-uart";
+		reg = <0x7f005400 0x100>;
+		interrupt-parent = <&vic1>;
+		interrupts = <6>;
+		status = "disabled";
+	};
+
+	uart2: serial at 7f005800 {
+		compatible = "samsung,s3c6400-uart";
+		reg = <0x7f005800 0x100>;
+		interrupt-parent = <&vic1>;
+		interrupts = <7>;
+		status = "disabled";
+	};
+
+	uart3: serial at 7f005c00 {
+		compatible = "samsung,s3c6400-uart";
+		reg = <0x7f005c00 0x100>;
+		interrupt-parent = <&vic1>;
+		interrupts = <8>;
+		status = "disabled";
+	};
+
+	sdhci0: sdhci at 7c200000 {
+		compatible = "samsung,s3c6410-sdhci";
+		reg = <0x7c200000 0x100>;
+		interrupt-parent = <&vic1>;
+		interrupts = <24>;
+		status = "disabled";
+	};
+
+	sdhci1: sdhci at 7c300000 {
+		compatible = "samsung,s3c6410-sdhci";
+		reg = <0x7c300000 0x100>;
+		interrupt-parent = <&vic1>;
+		interrupts = <25>;
+		status = "disabled";
+	};
+
+	sdhci2: sdhci at 7c400000 {
+		compatible = "samsung,s3c6410-sdhci";
+		reg = <0x7c400000 0x100>;
+		interrupt-parent = <&vic1>;
+		interrupts = <17>;
+		status = "disabled";
+	};
+};
+
+/include/ "s3c64xx-pinctrl.dtsi"
-- 
1.8.1.5

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

* [PATCH v5 6/6] ARM: dts: Add dts file for S3C6410-based Mini6410 board
  2013-04-15 21:14 ` Tomasz Figa
@ 2013-04-15 21:14   ` Tomasz Figa
  -1 siblings, 0 replies; 62+ messages in thread
From: Tomasz Figa @ 2013-04-15 21:14 UTC (permalink / raw)
  To: linux-samsung-soc
  Cc: linux-arm-kernel, devicetree-discuss, kgene.kim, broonie,
	kwangwoo.lee, jacmet, augulis.darius, mcuelenaere, linux,
	Rob Herring, Mark Rutland, Tomasz Figa

This patch adds basic device tree sources for FriendlyARM Mini6410 board
based on Samsung S3C6410 SoC.

Signed-off-by: Tomasz Figa <tomasz.figa@gmail.com>
---
 arch/arm/boot/dts/Makefile             |   1 +
 arch/arm/boot/dts/s3c6410-mini6410.dts | 168 +++++++++++++++++++++++++++++++++
 2 files changed, 169 insertions(+)
 create mode 100644 arch/arm/boot/dts/s3c6410-mini6410.dts

diff --git a/arch/arm/boot/dts/Makefile b/arch/arm/boot/dts/Makefile
index 11fef62..5885c37 100644
--- a/arch/arm/boot/dts/Makefile
+++ b/arch/arm/boot/dts/Makefile
@@ -138,6 +138,7 @@ dtb-$(CONFIG_ARCH_U8500) += snowball.dtb \
 	hrefprev60.dtb \
 	hrefv60plus.dtb \
 	ccu9540.dtb
+dtb-$(CONFIG_ARCH_S3C64XX) += s3c6410-mini6410.dtb
 dtb-$(CONFIG_ARCH_SHMOBILE) += emev2-kzm9d.dtb \
 	r8a7740-armadillo800eva.dtb \
 	sh73a0-kzm9g.dtb \
diff --git a/arch/arm/boot/dts/s3c6410-mini6410.dts b/arch/arm/boot/dts/s3c6410-mini6410.dts
new file mode 100644
index 0000000..679b1bb
--- /dev/null
+++ b/arch/arm/boot/dts/s3c6410-mini6410.dts
@@ -0,0 +1,168 @@
+/*
+ * Samsung's S3C6410 based Mini6410 board device tree source
+ *
+ * Copyright (c) 2013 Tomasz Figa <tomasz.figa@gmail.com>
+ *
+ * Device tree source file for FriendlyARM Mini6410 board which is based on
+ * Samsung's S3C6410 SoC.
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License version 2 as
+ * published by the Free Software Foundation.
+*/
+
+/dts-v1/;
+/include/ "s3c6410.dtsi"
+
+/ {
+	model = "FriendlyARM Mini6410 board based on S3C6410";
+	compatible = "friendlyarm,mini6410", "samsung,s3c6410";
+
+	memory {
+		reg = <0x50000000 0x10000000>;
+	};
+
+	chosen {
+		bootargs = "console=ttySAC0,115200n8 earlyprintk rootwait root=/dev/mmcblk0p1";
+	};
+
+	gpio-keys {
+		compatible = "gpio-keys";
+		pinctrl-names = "default";
+		pinctrl-0 = <&gpio_keys>;
+		autorepeat;
+
+		button-k1 {
+			label = "K1";
+			gpios = <&gpn 0 1>;
+			linux,code = <2>;
+			debounce-interval = <20>;
+		};
+
+		button-k2 {
+			label = "K2";
+			gpios = <&gpn 1 1>;
+			linux,code = <3>;
+			debounce-interval = <20>;
+		};
+
+		button-k3 {
+			label = "K3";
+			gpios = <&gpn 2 1>;
+			linux,code = <4>;
+			debounce-interval = <20>;
+		};
+
+		button-k4 {
+			label = "K4";
+			gpios = <&gpn 3 1>;
+			linux,code = <5>;
+			debounce-interval = <20>;
+		};
+
+		button-k5 {
+			label = "K5";
+			gpios = <&gpn 4 1>;
+			linux,code = <6>;
+			debounce-interval = <20>;
+		};
+
+		button-k6 {
+			label = "K6";
+			gpios = <&gpn 5 1>;
+			linux,code = <7>;
+			debounce-interval = <20>;
+		};
+
+		button-k7 {
+			label = "K7";
+			gpios = <&gpl 11 1>;
+			linux,code = <8>;
+			debounce-interval = <20>;
+		};
+
+		button-k8 {
+			label = "K8";
+			gpios = <&gpl 12 1>;
+			linux,code = <9>;
+			debounce-interval = <20>;
+		};
+	};
+
+	leds {
+		compatible = "gpio-leds";
+		pinctrl-names = "default";
+		pinctrl-0 = <&gpio_leds>;
+
+		led-1 {
+			label = "LED1";
+			gpios = <&gpk 4 1>;
+			linux,default-trigger = "heartbeat";
+		};
+
+		led-2 {
+			label = "LED2";
+			gpios = <&gpk 5 1>;
+			linux,default-trigger = "mmc0";
+		};
+
+		led-3 {
+			label = "LED3";
+			gpios = <&gpk 6 1>;
+		};
+
+		led-4 {
+			label = "LED4";
+			gpios = <&gpk 7 1>;
+		};
+	};
+};
+
+&pinctrl0 {
+	gpio_leds: gpio-leds {
+		samsung,pins = "gpk-4", "gpk-5", "gpk-6", "gpk-7";
+		samsung,pin-function = <1>;
+		samsung,pin-pud = <0>;
+	};
+
+	gpio_keys: gpio-keys {
+		samsung,pins = "gpn-0", "gpn-1", "gpn-2", "gpn-3",
+				"gpn-4", "gpn-5", "gpl-11", "gpl-12";
+		samsung,pin-pud = <0>;
+	};
+};
+
+&pwm {
+	status = "okay";
+};
+
+&uart0 {
+	pinctrl-names = "default";
+	pinctrl-0 = <&uart0_data>;
+	status = "okay";
+};
+
+&uart1 {
+	pinctrl-names = "default";
+	pinctrl-0 = <&uart1_data>, <&uart1_fctl>;
+	status = "okay";
+};
+
+&uart2 {
+	pinctrl-names = "default";
+	pinctrl-0 = <&uart2_data>;
+	status = "okay";
+};
+
+&uart3 {
+	pinctrl-names = "default";
+	pinctrl-0 = <&uart3_data>;
+	status = "okay";
+};
+
+&sdhci0 {
+	pinctrl-names = "default";
+	pinctrl-0 = <&sd0_clk>, <&sd0_cmd>, <&sd0_cd>, <&sd0_bus4>;
+	bus-width = <4>;
+	status = "okay";
+};
-- 
1.8.1.5

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

* [PATCH v5 6/6] ARM: dts: Add dts file for S3C6410-based Mini6410 board
@ 2013-04-15 21:14   ` Tomasz Figa
  0 siblings, 0 replies; 62+ messages in thread
From: Tomasz Figa @ 2013-04-15 21:14 UTC (permalink / raw)
  To: linux-arm-kernel

This patch adds basic device tree sources for FriendlyARM Mini6410 board
based on Samsung S3C6410 SoC.

Signed-off-by: Tomasz Figa <tomasz.figa@gmail.com>
---
 arch/arm/boot/dts/Makefile             |   1 +
 arch/arm/boot/dts/s3c6410-mini6410.dts | 168 +++++++++++++++++++++++++++++++++
 2 files changed, 169 insertions(+)
 create mode 100644 arch/arm/boot/dts/s3c6410-mini6410.dts

diff --git a/arch/arm/boot/dts/Makefile b/arch/arm/boot/dts/Makefile
index 11fef62..5885c37 100644
--- a/arch/arm/boot/dts/Makefile
+++ b/arch/arm/boot/dts/Makefile
@@ -138,6 +138,7 @@ dtb-$(CONFIG_ARCH_U8500) += snowball.dtb \
 	hrefprev60.dtb \
 	hrefv60plus.dtb \
 	ccu9540.dtb
+dtb-$(CONFIG_ARCH_S3C64XX) += s3c6410-mini6410.dtb
 dtb-$(CONFIG_ARCH_SHMOBILE) += emev2-kzm9d.dtb \
 	r8a7740-armadillo800eva.dtb \
 	sh73a0-kzm9g.dtb \
diff --git a/arch/arm/boot/dts/s3c6410-mini6410.dts b/arch/arm/boot/dts/s3c6410-mini6410.dts
new file mode 100644
index 0000000..679b1bb
--- /dev/null
+++ b/arch/arm/boot/dts/s3c6410-mini6410.dts
@@ -0,0 +1,168 @@
+/*
+ * Samsung's S3C6410 based Mini6410 board device tree source
+ *
+ * Copyright (c) 2013 Tomasz Figa <tomasz.figa@gmail.com>
+ *
+ * Device tree source file for FriendlyARM Mini6410 board which is based on
+ * Samsung's S3C6410 SoC.
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License version 2 as
+ * published by the Free Software Foundation.
+*/
+
+/dts-v1/;
+/include/ "s3c6410.dtsi"
+
+/ {
+	model = "FriendlyARM Mini6410 board based on S3C6410";
+	compatible = "friendlyarm,mini6410", "samsung,s3c6410";
+
+	memory {
+		reg = <0x50000000 0x10000000>;
+	};
+
+	chosen {
+		bootargs = "console=ttySAC0,115200n8 earlyprintk rootwait root=/dev/mmcblk0p1";
+	};
+
+	gpio-keys {
+		compatible = "gpio-keys";
+		pinctrl-names = "default";
+		pinctrl-0 = <&gpio_keys>;
+		autorepeat;
+
+		button-k1 {
+			label = "K1";
+			gpios = <&gpn 0 1>;
+			linux,code = <2>;
+			debounce-interval = <20>;
+		};
+
+		button-k2 {
+			label = "K2";
+			gpios = <&gpn 1 1>;
+			linux,code = <3>;
+			debounce-interval = <20>;
+		};
+
+		button-k3 {
+			label = "K3";
+			gpios = <&gpn 2 1>;
+			linux,code = <4>;
+			debounce-interval = <20>;
+		};
+
+		button-k4 {
+			label = "K4";
+			gpios = <&gpn 3 1>;
+			linux,code = <5>;
+			debounce-interval = <20>;
+		};
+
+		button-k5 {
+			label = "K5";
+			gpios = <&gpn 4 1>;
+			linux,code = <6>;
+			debounce-interval = <20>;
+		};
+
+		button-k6 {
+			label = "K6";
+			gpios = <&gpn 5 1>;
+			linux,code = <7>;
+			debounce-interval = <20>;
+		};
+
+		button-k7 {
+			label = "K7";
+			gpios = <&gpl 11 1>;
+			linux,code = <8>;
+			debounce-interval = <20>;
+		};
+
+		button-k8 {
+			label = "K8";
+			gpios = <&gpl 12 1>;
+			linux,code = <9>;
+			debounce-interval = <20>;
+		};
+	};
+
+	leds {
+		compatible = "gpio-leds";
+		pinctrl-names = "default";
+		pinctrl-0 = <&gpio_leds>;
+
+		led-1 {
+			label = "LED1";
+			gpios = <&gpk 4 1>;
+			linux,default-trigger = "heartbeat";
+		};
+
+		led-2 {
+			label = "LED2";
+			gpios = <&gpk 5 1>;
+			linux,default-trigger = "mmc0";
+		};
+
+		led-3 {
+			label = "LED3";
+			gpios = <&gpk 6 1>;
+		};
+
+		led-4 {
+			label = "LED4";
+			gpios = <&gpk 7 1>;
+		};
+	};
+};
+
+&pinctrl0 {
+	gpio_leds: gpio-leds {
+		samsung,pins = "gpk-4", "gpk-5", "gpk-6", "gpk-7";
+		samsung,pin-function = <1>;
+		samsung,pin-pud = <0>;
+	};
+
+	gpio_keys: gpio-keys {
+		samsung,pins = "gpn-0", "gpn-1", "gpn-2", "gpn-3",
+				"gpn-4", "gpn-5", "gpl-11", "gpl-12";
+		samsung,pin-pud = <0>;
+	};
+};
+
+&pwm {
+	status = "okay";
+};
+
+&uart0 {
+	pinctrl-names = "default";
+	pinctrl-0 = <&uart0_data>;
+	status = "okay";
+};
+
+&uart1 {
+	pinctrl-names = "default";
+	pinctrl-0 = <&uart1_data>, <&uart1_fctl>;
+	status = "okay";
+};
+
+&uart2 {
+	pinctrl-names = "default";
+	pinctrl-0 = <&uart2_data>;
+	status = "okay";
+};
+
+&uart3 {
+	pinctrl-names = "default";
+	pinctrl-0 = <&uart3_data>;
+	status = "okay";
+};
+
+&sdhci0 {
+	pinctrl-names = "default";
+	pinctrl-0 = <&sd0_clk>, <&sd0_cmd>, <&sd0_cd>, <&sd0_bus4>;
+	bus-width = <4>;
+	status = "okay";
+};
-- 
1.8.1.5

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

* Re: [PATCH v5 5/6] ARM: dts: Add basic dts include files for Samsung S3C64xx SoCs
  2013-04-15 21:14   ` Tomasz Figa
@ 2013-04-16 13:09     ` Rob Herring
  -1 siblings, 0 replies; 62+ messages in thread
From: Rob Herring @ 2013-04-16 13:09 UTC (permalink / raw)
  To: Tomasz Figa
  Cc: linux-samsung-soc, linux-arm-kernel, devicetree-discuss,
	kgene.kim, broonie, kwangwoo.lee, jacmet, augulis.darius,
	mcuelenaere, linux, Mark Rutland

On 04/15/2013 04:14 PM, Tomasz Figa wrote:
> This patch adds basic device tree definitions for Samsung S3C64xx SoCs.
> 
> Since all the SoCs in the series are very similar, the files are created
> hierarchically - one file for the whole series and then separate files
> for particular SoCs including the common one.
> 
> Signed-off-by: Tomasz Figa <tomasz.figa@gmail.com>
> ---
>  arch/arm/boot/dts/s3c6400.dtsi         |  33 ++
>  arch/arm/boot/dts/s3c6410.dtsi         |  33 ++
>  arch/arm/boot/dts/s3c64xx-pinctrl.dtsi | 683 +++++++++++++++++++++++++++++++++
>  arch/arm/boot/dts/s3c64xx.dtsi         | 136 +++++++
>  4 files changed, 885 insertions(+)
>  create mode 100644 arch/arm/boot/dts/s3c6400.dtsi
>  create mode 100644 arch/arm/boot/dts/s3c6410.dtsi
>  create mode 100644 arch/arm/boot/dts/s3c64xx-pinctrl.dtsi
>  create mode 100644 arch/arm/boot/dts/s3c64xx.dtsi
> 

[...]

> +
> +	vic0: interrupt-controller@71200000 {

These nodes should be off a "simple-bus" node.

Rob

> +		compatible = "arm,pl192-vic";
> +		interrupt-controller;
> +		reg = <0x71200000 0x1000>;
> +		#interrupt-cells = <1>;
> +	};
> +
> +	vic1: interrupt-controller@71300000 {
> +		compatible = "arm,pl192-vic";
> +		interrupt-controller;
> +		reg = <0x71300000 0x1000>;
> +		#interrupt-cells = <1>;
> +	};
> +
> +	pinctrl0: pinctrl@7f008000 {
> +		compatible = "samsung,s3c64xx-pinctrl";
> +		reg = <0x7f008000 0x1000>;
> +		interrupt-parent = <&vic1>;
> +		interrupts = <21>;
> +
> +		pctrl_int_map: pinctrl-interrupt-map {
> +			interrupt-map = <0 &vic0 0>,
> +					<1 &vic0 1>,
> +					<2 &vic1 0>,
> +					<3 &vic1 1>;
> +			#address-cells = <0>;
> +			#size-cells = <0>;
> +			#interrupt-cells = <1>;
> +		};
> +
> +		wakeup-interrupt-controller {
> +			compatible = "samsung,s3c64xx-wakeup-eint";
> +			interrupts = <0>, <1>, <2>, <3>;
> +			interrupt-parent = <&pctrl_int_map>;
> +		};
> +	};
> +
> +	pwm: pwm@7f006000 {
> +		compatible = "samsung,s3c6400-pwm";
> +		reg = <0x7f006000 0x1000>;
> +		interrupt-parent = <&vic0>;
> +		interrupts = <23>, <24>, <25>, <27>, <28>;
> +		samsung,pwm-outputs = <0>, <1>;
> +		#pwm-cells = <3>;
> +		status = "disabled";
> +	};
> +
> +	uart0: serial@7f005000 {
> +		compatible = "samsung,s3c6400-uart";
> +		reg = <0x7f005000 0x100>;
> +		interrupt-parent = <&vic1>;
> +		interrupts = <5>;
> +		status = "disabled";
> +	};
> +
> +	uart1: serial@7f005400 {
> +		compatible = "samsung,s3c6400-uart";
> +		reg = <0x7f005400 0x100>;
> +		interrupt-parent = <&vic1>;
> +		interrupts = <6>;
> +		status = "disabled";
> +	};
> +
> +	uart2: serial@7f005800 {
> +		compatible = "samsung,s3c6400-uart";
> +		reg = <0x7f005800 0x100>;
> +		interrupt-parent = <&vic1>;
> +		interrupts = <7>;
> +		status = "disabled";
> +	};
> +
> +	uart3: serial@7f005c00 {
> +		compatible = "samsung,s3c6400-uart";
> +		reg = <0x7f005c00 0x100>;
> +		interrupt-parent = <&vic1>;
> +		interrupts = <8>;
> +		status = "disabled";
> +	};
> +
> +	sdhci0: sdhci@7c200000 {
> +		compatible = "samsung,s3c6410-sdhci";
> +		reg = <0x7c200000 0x100>;
> +		interrupt-parent = <&vic1>;
> +		interrupts = <24>;
> +		status = "disabled";
> +	};
> +
> +	sdhci1: sdhci@7c300000 {
> +		compatible = "samsung,s3c6410-sdhci";
> +		reg = <0x7c300000 0x100>;
> +		interrupt-parent = <&vic1>;
> +		interrupts = <25>;
> +		status = "disabled";
> +	};
> +
> +	sdhci2: sdhci@7c400000 {
> +		compatible = "samsung,s3c6410-sdhci";
> +		reg = <0x7c400000 0x100>;
> +		interrupt-parent = <&vic1>;
> +		interrupts = <17>;
> +		status = "disabled";
> +	};
> +};
> +
> +/include/ "s3c64xx-pinctrl.dtsi"
> 

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

* [PATCH v5 5/6] ARM: dts: Add basic dts include files for Samsung S3C64xx SoCs
@ 2013-04-16 13:09     ` Rob Herring
  0 siblings, 0 replies; 62+ messages in thread
From: Rob Herring @ 2013-04-16 13:09 UTC (permalink / raw)
  To: linux-arm-kernel

On 04/15/2013 04:14 PM, Tomasz Figa wrote:
> This patch adds basic device tree definitions for Samsung S3C64xx SoCs.
> 
> Since all the SoCs in the series are very similar, the files are created
> hierarchically - one file for the whole series and then separate files
> for particular SoCs including the common one.
> 
> Signed-off-by: Tomasz Figa <tomasz.figa@gmail.com>
> ---
>  arch/arm/boot/dts/s3c6400.dtsi         |  33 ++
>  arch/arm/boot/dts/s3c6410.dtsi         |  33 ++
>  arch/arm/boot/dts/s3c64xx-pinctrl.dtsi | 683 +++++++++++++++++++++++++++++++++
>  arch/arm/boot/dts/s3c64xx.dtsi         | 136 +++++++
>  4 files changed, 885 insertions(+)
>  create mode 100644 arch/arm/boot/dts/s3c6400.dtsi
>  create mode 100644 arch/arm/boot/dts/s3c6410.dtsi
>  create mode 100644 arch/arm/boot/dts/s3c64xx-pinctrl.dtsi
>  create mode 100644 arch/arm/boot/dts/s3c64xx.dtsi
> 

[...]

> +
> +	vic0: interrupt-controller at 71200000 {

These nodes should be off a "simple-bus" node.

Rob

> +		compatible = "arm,pl192-vic";
> +		interrupt-controller;
> +		reg = <0x71200000 0x1000>;
> +		#interrupt-cells = <1>;
> +	};
> +
> +	vic1: interrupt-controller at 71300000 {
> +		compatible = "arm,pl192-vic";
> +		interrupt-controller;
> +		reg = <0x71300000 0x1000>;
> +		#interrupt-cells = <1>;
> +	};
> +
> +	pinctrl0: pinctrl at 7f008000 {
> +		compatible = "samsung,s3c64xx-pinctrl";
> +		reg = <0x7f008000 0x1000>;
> +		interrupt-parent = <&vic1>;
> +		interrupts = <21>;
> +
> +		pctrl_int_map: pinctrl-interrupt-map {
> +			interrupt-map = <0 &vic0 0>,
> +					<1 &vic0 1>,
> +					<2 &vic1 0>,
> +					<3 &vic1 1>;
> +			#address-cells = <0>;
> +			#size-cells = <0>;
> +			#interrupt-cells = <1>;
> +		};
> +
> +		wakeup-interrupt-controller {
> +			compatible = "samsung,s3c64xx-wakeup-eint";
> +			interrupts = <0>, <1>, <2>, <3>;
> +			interrupt-parent = <&pctrl_int_map>;
> +		};
> +	};
> +
> +	pwm: pwm at 7f006000 {
> +		compatible = "samsung,s3c6400-pwm";
> +		reg = <0x7f006000 0x1000>;
> +		interrupt-parent = <&vic0>;
> +		interrupts = <23>, <24>, <25>, <27>, <28>;
> +		samsung,pwm-outputs = <0>, <1>;
> +		#pwm-cells = <3>;
> +		status = "disabled";
> +	};
> +
> +	uart0: serial at 7f005000 {
> +		compatible = "samsung,s3c6400-uart";
> +		reg = <0x7f005000 0x100>;
> +		interrupt-parent = <&vic1>;
> +		interrupts = <5>;
> +		status = "disabled";
> +	};
> +
> +	uart1: serial at 7f005400 {
> +		compatible = "samsung,s3c6400-uart";
> +		reg = <0x7f005400 0x100>;
> +		interrupt-parent = <&vic1>;
> +		interrupts = <6>;
> +		status = "disabled";
> +	};
> +
> +	uart2: serial at 7f005800 {
> +		compatible = "samsung,s3c6400-uart";
> +		reg = <0x7f005800 0x100>;
> +		interrupt-parent = <&vic1>;
> +		interrupts = <7>;
> +		status = "disabled";
> +	};
> +
> +	uart3: serial at 7f005c00 {
> +		compatible = "samsung,s3c6400-uart";
> +		reg = <0x7f005c00 0x100>;
> +		interrupt-parent = <&vic1>;
> +		interrupts = <8>;
> +		status = "disabled";
> +	};
> +
> +	sdhci0: sdhci at 7c200000 {
> +		compatible = "samsung,s3c6410-sdhci";
> +		reg = <0x7c200000 0x100>;
> +		interrupt-parent = <&vic1>;
> +		interrupts = <24>;
> +		status = "disabled";
> +	};
> +
> +	sdhci1: sdhci at 7c300000 {
> +		compatible = "samsung,s3c6410-sdhci";
> +		reg = <0x7c300000 0x100>;
> +		interrupt-parent = <&vic1>;
> +		interrupts = <25>;
> +		status = "disabled";
> +	};
> +
> +	sdhci2: sdhci at 7c400000 {
> +		compatible = "samsung,s3c6410-sdhci";
> +		reg = <0x7c400000 0x100>;
> +		interrupt-parent = <&vic1>;
> +		interrupts = <17>;
> +		status = "disabled";
> +	};
> +};
> +
> +/include/ "s3c64xx-pinctrl.dtsi"
> 

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

* Re: [PATCH v5 5/6] ARM: dts: Add basic dts include files for Samsung S3C64xx SoCs
  2013-04-16 13:09     ` Rob Herring
@ 2013-04-16 13:19       ` Tomasz Figa
  -1 siblings, 0 replies; 62+ messages in thread
From: Tomasz Figa @ 2013-04-16 13:19 UTC (permalink / raw)
  To: Rob Herring
  Cc: Tomasz Figa, linux-samsung-soc, linux-arm-kernel,
	devicetree-discuss, kgene.kim, broonie, kwangwoo.lee, jacmet,
	augulis.darius, mcuelenaere, linux, Mark Rutland

On Tuesday 16 of April 2013 08:09:10 Rob Herring wrote:
> On 04/15/2013 04:14 PM, Tomasz Figa wrote:
> > This patch adds basic device tree definitions for Samsung S3C64xx SoCs.
> > 
> > Since all the SoCs in the series are very similar, the files are created
> > hierarchically - one file for the whole series and then separate files
> > for particular SoCs including the common one.
> > 
> > Signed-off-by: Tomasz Figa <tomasz.figa@gmail.com>
> > ---
> > 
> >  arch/arm/boot/dts/s3c6400.dtsi         |  33 ++
> >  arch/arm/boot/dts/s3c6410.dtsi         |  33 ++
> >  arch/arm/boot/dts/s3c64xx-pinctrl.dtsi | 683
> >  +++++++++++++++++++++++++++++++++ arch/arm/boot/dts/s3c64xx.dtsi        
> >  | 136 +++++++
> >  4 files changed, 885 insertions(+)
> >  create mode 100644 arch/arm/boot/dts/s3c6400.dtsi
> >  create mode 100644 arch/arm/boot/dts/s3c6410.dtsi
> >  create mode 100644 arch/arm/boot/dts/s3c64xx-pinctrl.dtsi
> >  create mode 100644 arch/arm/boot/dts/s3c64xx.dtsi
> 
> [...]
> 
> > +
> > +	vic0: interrupt-controller@71200000 {
> 
> These nodes should be off a "simple-bus" node.

Hmm, is there any reason behind it?

I thought simple bus was just a convenient helper to represent hierarchical 
bus structures if one has a need to do so.

Best regards,
Tomasz

> Rob
> 
> > +		compatible = "arm,pl192-vic";
> > +		interrupt-controller;
> > +		reg = <0x71200000 0x1000>;
> > +		#interrupt-cells = <1>;
> > +	};
> > +
> > +	vic1: interrupt-controller@71300000 {
> > +		compatible = "arm,pl192-vic";
> > +		interrupt-controller;
> > +		reg = <0x71300000 0x1000>;
> > +		#interrupt-cells = <1>;
> > +	};
> > +
> > +	pinctrl0: pinctrl@7f008000 {
> > +		compatible = "samsung,s3c64xx-pinctrl";
> > +		reg = <0x7f008000 0x1000>;
> > +		interrupt-parent = <&vic1>;
> > +		interrupts = <21>;
> > +
> > +		pctrl_int_map: pinctrl-interrupt-map {
> > +			interrupt-map = <0 &vic0 0>,
> > +					<1 &vic0 1>,
> > +					<2 &vic1 0>,
> > +					<3 &vic1 1>;
> > +			#address-cells = <0>;
> > +			#size-cells = <0>;
> > +			#interrupt-cells = <1>;
> > +		};
> > +
> > +		wakeup-interrupt-controller {
> > +			compatible = "samsung,s3c64xx-wakeup-eint";
> > +			interrupts = <0>, <1>, <2>, <3>;
> > +			interrupt-parent = <&pctrl_int_map>;
> > +		};
> > +	};
> > +
> > +	pwm: pwm@7f006000 {
> > +		compatible = "samsung,s3c6400-pwm";
> > +		reg = <0x7f006000 0x1000>;
> > +		interrupt-parent = <&vic0>;
> > +		interrupts = <23>, <24>, <25>, <27>, <28>;
> > +		samsung,pwm-outputs = <0>, <1>;
> > +		#pwm-cells = <3>;
> > +		status = "disabled";
> > +	};
> > +
> > +	uart0: serial@7f005000 {
> > +		compatible = "samsung,s3c6400-uart";
> > +		reg = <0x7f005000 0x100>;
> > +		interrupt-parent = <&vic1>;
> > +		interrupts = <5>;
> > +		status = "disabled";
> > +	};
> > +
> > +	uart1: serial@7f005400 {
> > +		compatible = "samsung,s3c6400-uart";
> > +		reg = <0x7f005400 0x100>;
> > +		interrupt-parent = <&vic1>;
> > +		interrupts = <6>;
> > +		status = "disabled";
> > +	};
> > +
> > +	uart2: serial@7f005800 {
> > +		compatible = "samsung,s3c6400-uart";
> > +		reg = <0x7f005800 0x100>;
> > +		interrupt-parent = <&vic1>;
> > +		interrupts = <7>;
> > +		status = "disabled";
> > +	};
> > +
> > +	uart3: serial@7f005c00 {
> > +		compatible = "samsung,s3c6400-uart";
> > +		reg = <0x7f005c00 0x100>;
> > +		interrupt-parent = <&vic1>;
> > +		interrupts = <8>;
> > +		status = "disabled";
> > +	};
> > +
> > +	sdhci0: sdhci@7c200000 {
> > +		compatible = "samsung,s3c6410-sdhci";
> > +		reg = <0x7c200000 0x100>;
> > +		interrupt-parent = <&vic1>;
> > +		interrupts = <24>;
> > +		status = "disabled";
> > +	};
> > +
> > +	sdhci1: sdhci@7c300000 {
> > +		compatible = "samsung,s3c6410-sdhci";
> > +		reg = <0x7c300000 0x100>;
> > +		interrupt-parent = <&vic1>;
> > +		interrupts = <25>;
> > +		status = "disabled";
> > +	};
> > +
> > +	sdhci2: sdhci@7c400000 {
> > +		compatible = "samsung,s3c6410-sdhci";
> > +		reg = <0x7c400000 0x100>;
> > +		interrupt-parent = <&vic1>;
> > +		interrupts = <17>;
> > +		status = "disabled";
> > +	};
> > +};
> > +
> > +/include/ "s3c64xx-pinctrl.dtsi"
> 
> --
> 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
-- 
Tomasz Figa
Samsung Poland R&D Center
SW Solution Development, Kernel and System Framework

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

* [PATCH v5 5/6] ARM: dts: Add basic dts include files for Samsung S3C64xx SoCs
@ 2013-04-16 13:19       ` Tomasz Figa
  0 siblings, 0 replies; 62+ messages in thread
From: Tomasz Figa @ 2013-04-16 13:19 UTC (permalink / raw)
  To: linux-arm-kernel

On Tuesday 16 of April 2013 08:09:10 Rob Herring wrote:
> On 04/15/2013 04:14 PM, Tomasz Figa wrote:
> > This patch adds basic device tree definitions for Samsung S3C64xx SoCs.
> > 
> > Since all the SoCs in the series are very similar, the files are created
> > hierarchically - one file for the whole series and then separate files
> > for particular SoCs including the common one.
> > 
> > Signed-off-by: Tomasz Figa <tomasz.figa@gmail.com>
> > ---
> > 
> >  arch/arm/boot/dts/s3c6400.dtsi         |  33 ++
> >  arch/arm/boot/dts/s3c6410.dtsi         |  33 ++
> >  arch/arm/boot/dts/s3c64xx-pinctrl.dtsi | 683
> >  +++++++++++++++++++++++++++++++++ arch/arm/boot/dts/s3c64xx.dtsi        
> >  | 136 +++++++
> >  4 files changed, 885 insertions(+)
> >  create mode 100644 arch/arm/boot/dts/s3c6400.dtsi
> >  create mode 100644 arch/arm/boot/dts/s3c6410.dtsi
> >  create mode 100644 arch/arm/boot/dts/s3c64xx-pinctrl.dtsi
> >  create mode 100644 arch/arm/boot/dts/s3c64xx.dtsi
> 
> [...]
> 
> > +
> > +	vic0: interrupt-controller at 71200000 {
> 
> These nodes should be off a "simple-bus" node.

Hmm, is there any reason behind it?

I thought simple bus was just a convenient helper to represent hierarchical 
bus structures if one has a need to do so.

Best regards,
Tomasz

> Rob
> 
> > +		compatible = "arm,pl192-vic";
> > +		interrupt-controller;
> > +		reg = <0x71200000 0x1000>;
> > +		#interrupt-cells = <1>;
> > +	};
> > +
> > +	vic1: interrupt-controller at 71300000 {
> > +		compatible = "arm,pl192-vic";
> > +		interrupt-controller;
> > +		reg = <0x71300000 0x1000>;
> > +		#interrupt-cells = <1>;
> > +	};
> > +
> > +	pinctrl0: pinctrl at 7f008000 {
> > +		compatible = "samsung,s3c64xx-pinctrl";
> > +		reg = <0x7f008000 0x1000>;
> > +		interrupt-parent = <&vic1>;
> > +		interrupts = <21>;
> > +
> > +		pctrl_int_map: pinctrl-interrupt-map {
> > +			interrupt-map = <0 &vic0 0>,
> > +					<1 &vic0 1>,
> > +					<2 &vic1 0>,
> > +					<3 &vic1 1>;
> > +			#address-cells = <0>;
> > +			#size-cells = <0>;
> > +			#interrupt-cells = <1>;
> > +		};
> > +
> > +		wakeup-interrupt-controller {
> > +			compatible = "samsung,s3c64xx-wakeup-eint";
> > +			interrupts = <0>, <1>, <2>, <3>;
> > +			interrupt-parent = <&pctrl_int_map>;
> > +		};
> > +	};
> > +
> > +	pwm: pwm at 7f006000 {
> > +		compatible = "samsung,s3c6400-pwm";
> > +		reg = <0x7f006000 0x1000>;
> > +		interrupt-parent = <&vic0>;
> > +		interrupts = <23>, <24>, <25>, <27>, <28>;
> > +		samsung,pwm-outputs = <0>, <1>;
> > +		#pwm-cells = <3>;
> > +		status = "disabled";
> > +	};
> > +
> > +	uart0: serial at 7f005000 {
> > +		compatible = "samsung,s3c6400-uart";
> > +		reg = <0x7f005000 0x100>;
> > +		interrupt-parent = <&vic1>;
> > +		interrupts = <5>;
> > +		status = "disabled";
> > +	};
> > +
> > +	uart1: serial at 7f005400 {
> > +		compatible = "samsung,s3c6400-uart";
> > +		reg = <0x7f005400 0x100>;
> > +		interrupt-parent = <&vic1>;
> > +		interrupts = <6>;
> > +		status = "disabled";
> > +	};
> > +
> > +	uart2: serial at 7f005800 {
> > +		compatible = "samsung,s3c6400-uart";
> > +		reg = <0x7f005800 0x100>;
> > +		interrupt-parent = <&vic1>;
> > +		interrupts = <7>;
> > +		status = "disabled";
> > +	};
> > +
> > +	uart3: serial at 7f005c00 {
> > +		compatible = "samsung,s3c6400-uart";
> > +		reg = <0x7f005c00 0x100>;
> > +		interrupt-parent = <&vic1>;
> > +		interrupts = <8>;
> > +		status = "disabled";
> > +	};
> > +
> > +	sdhci0: sdhci at 7c200000 {
> > +		compatible = "samsung,s3c6410-sdhci";
> > +		reg = <0x7c200000 0x100>;
> > +		interrupt-parent = <&vic1>;
> > +		interrupts = <24>;
> > +		status = "disabled";
> > +	};
> > +
> > +	sdhci1: sdhci at 7c300000 {
> > +		compatible = "samsung,s3c6410-sdhci";
> > +		reg = <0x7c300000 0x100>;
> > +		interrupt-parent = <&vic1>;
> > +		interrupts = <25>;
> > +		status = "disabled";
> > +	};
> > +
> > +	sdhci2: sdhci at 7c400000 {
> > +		compatible = "samsung,s3c6410-sdhci";
> > +		reg = <0x7c400000 0x100>;
> > +		interrupt-parent = <&vic1>;
> > +		interrupts = <17>;
> > +		status = "disabled";
> > +	};
> > +};
> > +
> > +/include/ "s3c64xx-pinctrl.dtsi"
> 
> --
> 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
-- 
Tomasz Figa
Samsung Poland R&D Center
SW Solution Development, Kernel and System Framework

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

* Re: [PATCH v5 2/6] ARM: s3c64xx: Skip legacy EINT setup if pinctrl-s3c64xx driver is present
  2013-04-15 21:14   ` Tomasz Figa
@ 2013-04-16 16:26     ` Mark Brown
  -1 siblings, 0 replies; 62+ messages in thread
From: Mark Brown @ 2013-04-16 16:26 UTC (permalink / raw)
  To: Tomasz Figa
  Cc: linux-samsung-soc, linux-arm-kernel, devicetree-discuss,
	kgene.kim, kwangwoo.lee, jacmet, augulis.darius, mcuelenaere,
	linux, Rob Herring, Mark Rutland

[-- Attachment #1: Type: text/plain, Size: 380 bytes --]

On Mon, Apr 15, 2013 at 11:14:39PM +0200, Tomasz Figa wrote:

> +	* This gpio driver includes support for device tree support and there
> +	* are platforms using it. In order to maintain compatibility with those
> +	* platforms, and to allow non-dt Exynos4210 platforms to use this
> +	* gpiolib support, a check is added to find out if there is a active

Cut'n'paste error here.

[-- Attachment #2: Digital signature --]
[-- Type: application/pgp-signature, Size: 836 bytes --]

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

* [PATCH v5 2/6] ARM: s3c64xx: Skip legacy EINT setup if pinctrl-s3c64xx driver is present
@ 2013-04-16 16:26     ` Mark Brown
  0 siblings, 0 replies; 62+ messages in thread
From: Mark Brown @ 2013-04-16 16:26 UTC (permalink / raw)
  To: linux-arm-kernel

On Mon, Apr 15, 2013 at 11:14:39PM +0200, Tomasz Figa wrote:

> +	* This gpio driver includes support for device tree support and there
> +	* are platforms using it. In order to maintain compatibility with those
> +	* platforms, and to allow non-dt Exynos4210 platforms to use this
> +	* gpiolib support, a check is added to find out if there is a active

Cut'n'paste error here.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 836 bytes
Desc: Digital signature
URL: <http://lists.infradead.org/pipermail/linux-arm-kernel/attachments/20130416/32076ae8/attachment.sig>

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

* Re: [PATCH v5 3/6] gpio: samsung: Skip legacy GPIO registration if pinctrl-s3c64xx is present
  2013-04-15 21:14   ` Tomasz Figa
@ 2013-04-16 16:27     ` Mark Brown
  -1 siblings, 0 replies; 62+ messages in thread
From: Mark Brown @ 2013-04-16 16:27 UTC (permalink / raw)
  To: Tomasz Figa
  Cc: linux-samsung-soc, linux-arm-kernel, devicetree-discuss,
	kgene.kim, kwangwoo.lee, jacmet, augulis.darius, mcuelenaere,
	linux, Rob Herring, Mark Rutland

[-- Attachment #1: Type: text/plain, Size: 350 bytes --]

On Mon, Apr 15, 2013 at 11:14:40PM +0200, Tomasz Figa wrote:

>  		{ .compatible = "samsung,exynos4x12-pinctrl", },
>  		{ .compatible = "samsung,exynos5250-pinctrl", },
>  		{ .compatible = "samsung,exynos5440-pinctrl", },
> +		{ },

Strictly speaking this is a separate bug fix (though I see that's
already in -next separately anyway so whatever).

[-- Attachment #2: Digital signature --]
[-- Type: application/pgp-signature, Size: 836 bytes --]

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

* [PATCH v5 3/6] gpio: samsung: Skip legacy GPIO registration if pinctrl-s3c64xx is present
@ 2013-04-16 16:27     ` Mark Brown
  0 siblings, 0 replies; 62+ messages in thread
From: Mark Brown @ 2013-04-16 16:27 UTC (permalink / raw)
  To: linux-arm-kernel

On Mon, Apr 15, 2013 at 11:14:40PM +0200, Tomasz Figa wrote:

>  		{ .compatible = "samsung,exynos4x12-pinctrl", },
>  		{ .compatible = "samsung,exynos5250-pinctrl", },
>  		{ .compatible = "samsung,exynos5440-pinctrl", },
> +		{ },

Strictly speaking this is a separate bug fix (though I see that's
already in -next separately anyway so whatever).
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 836 bytes
Desc: Digital signature
URL: <http://lists.infradead.org/pipermail/linux-arm-kernel/attachments/20130416/a1200eaa/attachment.sig>

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

* Re: [PATCH v5 0/6] Initial Device Tree support for S3C64xx
  2013-04-15 21:14 ` Tomasz Figa
@ 2013-04-16 16:33   ` Mark Brown
  -1 siblings, 0 replies; 62+ messages in thread
From: Mark Brown @ 2013-04-16 16:33 UTC (permalink / raw)
  To: Tomasz Figa
  Cc: linux-samsung-soc, linux-arm-kernel, devicetree-discuss,
	kgene.kim, kwangwoo.lee, jacmet, augulis.darius, mcuelenaere,
	linux, Rob Herring, Mark Rutland

[-- Attachment #1: Type: text/plain, Size: 746 bytes --]

On Mon, Apr 15, 2013 at 11:14:37PM +0200, Tomasz Figa wrote:
> This series adds Device Tree support for Samsung S3C64xx SoC series.
> 
> It fixes several problems preventing from booting an S3C64xx-based system
> using Device Tree, adds all the infrastructure for Device Tree-based board
> support, including mach-s3c64xx-dt and dts include files for S3C64xx SoCs,
> and basic device tree source for FriendlyARM Mini6410 board.

I tried to test this but the pinctrl driver doesn't build in -next
(drivers/pinctrl/pinctrl-s3c64xx.c:418:9: error: undefined identifier
'chained_irq_enter') - will check properly tomorrow, need to leave now.
But that's separate anyway. :P

Reviewed-by: Mark Brown <broonie@opensource.wolfsonmicro.com>

[-- Attachment #2: Digital signature --]
[-- Type: application/pgp-signature, Size: 836 bytes --]

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

* [PATCH v5 0/6] Initial Device Tree support for S3C64xx
@ 2013-04-16 16:33   ` Mark Brown
  0 siblings, 0 replies; 62+ messages in thread
From: Mark Brown @ 2013-04-16 16:33 UTC (permalink / raw)
  To: linux-arm-kernel

On Mon, Apr 15, 2013 at 11:14:37PM +0200, Tomasz Figa wrote:
> This series adds Device Tree support for Samsung S3C64xx SoC series.
> 
> It fixes several problems preventing from booting an S3C64xx-based system
> using Device Tree, adds all the infrastructure for Device Tree-based board
> support, including mach-s3c64xx-dt and dts include files for S3C64xx SoCs,
> and basic device tree source for FriendlyARM Mini6410 board.

I tried to test this but the pinctrl driver doesn't build in -next
(drivers/pinctrl/pinctrl-s3c64xx.c:418:9: error: undefined identifier
'chained_irq_enter') - will check properly tomorrow, need to leave now.
But that's separate anyway. :P

Reviewed-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 836 bytes
Desc: Digital signature
URL: <http://lists.infradead.org/pipermail/linux-arm-kernel/attachments/20130416/f5621dd8/attachment.sig>

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

* [PATCH 1/2] pinctrl: s3c64xx: Fix build error caused by undefined chained_irq_enter
  2013-04-16 16:33   ` Mark Brown
@ 2013-04-16 22:23     ` Tomasz Figa
  -1 siblings, 0 replies; 62+ messages in thread
From: Tomasz Figa @ 2013-04-16 22:23 UTC (permalink / raw)
  To: Mark Brown
  Cc: linux-samsung-soc, linux-arm-kernel, devicetree-discuss,
	kgene.kim, kwangwoo.lee, jacmet, augulis.darius, mcuelenaere,
	linux, Rob Herring, Mark Rutland, linus.walleij, thomas.abraham

Commit de88cbb7 moved definitions of chained_irq_enter and
chained_irq_exit to a generic header, which must be now included instead
of the legacy arch-specific one.

This patch fixes build error caused by including the legacy header
leading to undefined chained_irq_enter and chained_irq_exit symbols.

Signed-off-by: Tomasz Figa <tomasz.figa@gmail.com>
---
 drivers/pinctrl/pinctrl-s3c64xx.c | 3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)

diff --git a/drivers/pinctrl/pinctrl-s3c64xx.c b/drivers/pinctrl/pinctrl-s3c64xx.c
index b5d1c4a..89143c9 100644
--- a/drivers/pinctrl/pinctrl-s3c64xx.c
+++ b/drivers/pinctrl/pinctrl-s3c64xx.c
@@ -22,11 +22,10 @@
 #include <linux/irq.h>
 #include <linux/of_irq.h>
 #include <linux/io.h>
+#include <linux/irqchip/chained_irq.h>
 #include <linux/slab.h>
 #include <linux/err.h>
 
-#include <asm/mach/irq.h>
-
 #include "pinctrl-samsung.h"
 
 #define NUM_EINT0		28
-- 
1.8.1.5

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

* [PATCH 1/2] pinctrl: s3c64xx: Fix build error caused by undefined chained_irq_enter
@ 2013-04-16 22:23     ` Tomasz Figa
  0 siblings, 0 replies; 62+ messages in thread
From: Tomasz Figa @ 2013-04-16 22:23 UTC (permalink / raw)
  To: linux-arm-kernel

Commit de88cbb7 moved definitions of chained_irq_enter and
chained_irq_exit to a generic header, which must be now included instead
of the legacy arch-specific one.

This patch fixes build error caused by including the legacy header
leading to undefined chained_irq_enter and chained_irq_exit symbols.

Signed-off-by: Tomasz Figa <tomasz.figa@gmail.com>
---
 drivers/pinctrl/pinctrl-s3c64xx.c | 3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)

diff --git a/drivers/pinctrl/pinctrl-s3c64xx.c b/drivers/pinctrl/pinctrl-s3c64xx.c
index b5d1c4a..89143c9 100644
--- a/drivers/pinctrl/pinctrl-s3c64xx.c
+++ b/drivers/pinctrl/pinctrl-s3c64xx.c
@@ -22,11 +22,10 @@
 #include <linux/irq.h>
 #include <linux/of_irq.h>
 #include <linux/io.h>
+#include <linux/irqchip/chained_irq.h>
 #include <linux/slab.h>
 #include <linux/err.h>
 
-#include <asm/mach/irq.h>
-
 #include "pinctrl-samsung.h"
 
 #define NUM_EINT0		28
-- 
1.8.1.5

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

* [PATCH 2/2] pinctrl: samsung: Fix link error with CONFIG_PINCTRL_EXYNOS disabled
  2013-04-16 22:23     ` Tomasz Figa
@ 2013-04-16 22:24       ` Tomasz Figa
  -1 siblings, 0 replies; 62+ messages in thread
From: Tomasz Figa @ 2013-04-16 22:24 UTC (permalink / raw)
  To: Mark Brown
  Cc: linux-samsung-soc, linux-arm-kernel, devicetree-discuss,
	kgene.kim, kwangwoo.lee, jacmet, augulis.darius, mcuelenaere,
	linux, Rob Herring, Mark Rutland, linus.walleij, thomas.abraham

Commit f67faf487 added driver data for Exynos5250, which is available
only if CONFIG_PINCTRL_EXYNOS is enabled. However probably due to merge
error, the reference to this driver data structure was located outside
of relevant ifdef and compiled unconditionally, leading to link error
with CONFIG_PINCTRL_EXYNOS.

This patch fixes mentioned link error by moving driver data entry under
ifdef CONFIG_PINCTRL_EXYNOS.

Signed-off-by: Tomasz Figa <tomasz.figa@gmail.com>
---
 drivers/pinctrl/pinctrl-samsung.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/drivers/pinctrl/pinctrl-samsung.c b/drivers/pinctrl/pinctrl-
samsung.c
index f95dd69..9763668 100644
--- a/drivers/pinctrl/pinctrl-samsung.c
+++ b/drivers/pinctrl/pinctrl-samsung.c
@@ -970,13 +970,13 @@ static const struct of_device_id 
samsung_pinctrl_dt_match[] = {
 		.data = (void *)exynos4210_pin_ctrl },
 	{ .compatible = "samsung,exynos4x12-pinctrl",
 		.data = (void *)exynos4x12_pin_ctrl },
+	{ .compatible = "samsung,exynos5250-pinctrl",
+		.data = (void *)exynos5250_pin_ctrl },
 #endif
 #ifdef CONFIG_PINCTRL_S3C64XX
 	{ .compatible = "samsung,s3c64xx-pinctrl",
 		.data = s3c64xx_pin_ctrl },
 #endif
-	{ .compatible = "samsung,exynos5250-pinctrl",
-		.data = (void *)exynos5250_pin_ctrl },
 	{},
 };
 MODULE_DEVICE_TABLE(of, samsung_pinctrl_dt_match);
-- 
1.8.1.5

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

* [PATCH 2/2] pinctrl: samsung: Fix link error with CONFIG_PINCTRL_EXYNOS disabled
@ 2013-04-16 22:24       ` Tomasz Figa
  0 siblings, 0 replies; 62+ messages in thread
From: Tomasz Figa @ 2013-04-16 22:24 UTC (permalink / raw)
  To: linux-arm-kernel

Commit f67faf487 added driver data for Exynos5250, which is available
only if CONFIG_PINCTRL_EXYNOS is enabled. However probably due to merge
error, the reference to this driver data structure was located outside
of relevant ifdef and compiled unconditionally, leading to link error
with CONFIG_PINCTRL_EXYNOS.

This patch fixes mentioned link error by moving driver data entry under
ifdef CONFIG_PINCTRL_EXYNOS.

Signed-off-by: Tomasz Figa <tomasz.figa@gmail.com>
---
 drivers/pinctrl/pinctrl-samsung.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/drivers/pinctrl/pinctrl-samsung.c b/drivers/pinctrl/pinctrl-
samsung.c
index f95dd69..9763668 100644
--- a/drivers/pinctrl/pinctrl-samsung.c
+++ b/drivers/pinctrl/pinctrl-samsung.c
@@ -970,13 +970,13 @@ static const struct of_device_id 
samsung_pinctrl_dt_match[] = {
 		.data = (void *)exynos4210_pin_ctrl },
 	{ .compatible = "samsung,exynos4x12-pinctrl",
 		.data = (void *)exynos4x12_pin_ctrl },
+	{ .compatible = "samsung,exynos5250-pinctrl",
+		.data = (void *)exynos5250_pin_ctrl },
 #endif
 #ifdef CONFIG_PINCTRL_S3C64XX
 	{ .compatible = "samsung,s3c64xx-pinctrl",
 		.data = s3c64xx_pin_ctrl },
 #endif
-	{ .compatible = "samsung,exynos5250-pinctrl",
-		.data = (void *)exynos5250_pin_ctrl },
 	{},
 };
 MODULE_DEVICE_TABLE(of, samsung_pinctrl_dt_match);
-- 
1.8.1.5

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

* [PATCH RESEND 2/2] pinctrl: samsung: Fix link error with CONFIG_PINCTRL_EXYNOS disabled
  2013-04-16 22:23     ` Tomasz Figa
@ 2013-04-16 22:29       ` Tomasz Figa
  -1 siblings, 0 replies; 62+ messages in thread
From: Tomasz Figa @ 2013-04-16 22:29 UTC (permalink / raw)
  To: Mark Brown
  Cc: linux-samsung-soc, linux-arm-kernel, devicetree-discuss,
	kgene.kim, kwangwoo.lee, jacmet, augulis.darius, mcuelenaere,
	linux, Rob Herring, Mark Rutland, linus.walleij, thomas.abraham

Commit f67faf487 added driver data for Exynos5250, which is available
only if CONFIG_PINCTRL_EXYNOS is enabled. However probably due to merge
error, the reference to this driver data structure was located outside
of relevant ifdef and compiled unconditionally, leading to link error
with CONFIG_PINCTRL_EXYNOS.

This patch fixes mentioned link error by moving driver data entry under
ifdef CONFIG_PINCTRL_EXYNOS.

Signed-off-by: Tomasz Figa <tomasz.figa@gmail.com>
---
 drivers/pinctrl/pinctrl-samsung.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/drivers/pinctrl/pinctrl-samsung.c b/drivers/pinctrl/pinctrl-samsung.c
index f95dd69..9763668 100644
--- a/drivers/pinctrl/pinctrl-samsung.c
+++ b/drivers/pinctrl/pinctrl-samsung.c
@@ -970,13 +970,13 @@ static const struct of_device_id samsung_pinctrl_dt_match[] = {
 		.data = (void *)exynos4210_pin_ctrl },
 	{ .compatible = "samsung,exynos4x12-pinctrl",
 		.data = (void *)exynos4x12_pin_ctrl },
+	{ .compatible = "samsung,exynos5250-pinctrl",
+		.data = (void *)exynos5250_pin_ctrl },
 #endif
 #ifdef CONFIG_PINCTRL_S3C64XX
 	{ .compatible = "samsung,s3c64xx-pinctrl",
 		.data = s3c64xx_pin_ctrl },
 #endif
-	{ .compatible = "samsung,exynos5250-pinctrl",
-		.data = (void *)exynos5250_pin_ctrl },
 	{},
 };
 MODULE_DEVICE_TABLE(of, samsung_pinctrl_dt_match);
-- 
1.8.1.5

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

* [PATCH RESEND 2/2] pinctrl: samsung: Fix link error with CONFIG_PINCTRL_EXYNOS disabled
@ 2013-04-16 22:29       ` Tomasz Figa
  0 siblings, 0 replies; 62+ messages in thread
From: Tomasz Figa @ 2013-04-16 22:29 UTC (permalink / raw)
  To: linux-arm-kernel

Commit f67faf487 added driver data for Exynos5250, which is available
only if CONFIG_PINCTRL_EXYNOS is enabled. However probably due to merge
error, the reference to this driver data structure was located outside
of relevant ifdef and compiled unconditionally, leading to link error
with CONFIG_PINCTRL_EXYNOS.

This patch fixes mentioned link error by moving driver data entry under
ifdef CONFIG_PINCTRL_EXYNOS.

Signed-off-by: Tomasz Figa <tomasz.figa@gmail.com>
---
 drivers/pinctrl/pinctrl-samsung.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/drivers/pinctrl/pinctrl-samsung.c b/drivers/pinctrl/pinctrl-samsung.c
index f95dd69..9763668 100644
--- a/drivers/pinctrl/pinctrl-samsung.c
+++ b/drivers/pinctrl/pinctrl-samsung.c
@@ -970,13 +970,13 @@ static const struct of_device_id samsung_pinctrl_dt_match[] = {
 		.data = (void *)exynos4210_pin_ctrl },
 	{ .compatible = "samsung,exynos4x12-pinctrl",
 		.data = (void *)exynos4x12_pin_ctrl },
+	{ .compatible = "samsung,exynos5250-pinctrl",
+		.data = (void *)exynos5250_pin_ctrl },
 #endif
 #ifdef CONFIG_PINCTRL_S3C64XX
 	{ .compatible = "samsung,s3c64xx-pinctrl",
 		.data = s3c64xx_pin_ctrl },
 #endif
-	{ .compatible = "samsung,exynos5250-pinctrl",
-		.data = (void *)exynos5250_pin_ctrl },
 	{},
 };
 MODULE_DEVICE_TABLE(of, samsung_pinctrl_dt_match);
-- 
1.8.1.5

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

* Re: [PATCH v5 2/6] ARM: s3c64xx: Skip legacy EINT setup if pinctrl-s3c64xx driver is present
  2013-04-16 16:26     ` Mark Brown
@ 2013-04-16 22:31       ` Tomasz Figa
  -1 siblings, 0 replies; 62+ messages in thread
From: Tomasz Figa @ 2013-04-16 22:31 UTC (permalink / raw)
  To: Mark Brown
  Cc: linux-samsung-soc, linux-arm-kernel, devicetree-discuss,
	kgene.kim, kwangwoo.lee, jacmet, augulis.darius, mcuelenaere,
	linux, Rob Herring, Mark Rutland

On Tuesday 16 of April 2013 17:26:43 Mark Brown wrote:
> On Mon, Apr 15, 2013 at 11:14:39PM +0200, Tomasz Figa wrote:
> > +	* This gpio driver includes support for device tree support and
> > there
> > +	* are platforms using it. In order to maintain compatibility with
> > those +	* platforms, and to allow non-dt Exynos4210 platforms to 
use
> > this +	* gpiolib support, a check is added to find out if there 
is a
> > active
> Cut'n'paste error here.

<blushed>

Thanks for catching this.

Best regards,
Tomasz

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

* [PATCH v5 2/6] ARM: s3c64xx: Skip legacy EINT setup if pinctrl-s3c64xx driver is present
@ 2013-04-16 22:31       ` Tomasz Figa
  0 siblings, 0 replies; 62+ messages in thread
From: Tomasz Figa @ 2013-04-16 22:31 UTC (permalink / raw)
  To: linux-arm-kernel

On Tuesday 16 of April 2013 17:26:43 Mark Brown wrote:
> On Mon, Apr 15, 2013 at 11:14:39PM +0200, Tomasz Figa wrote:
> > +	* This gpio driver includes support for device tree support and
> > there
> > +	* are platforms using it. In order to maintain compatibility with
> > those +	* platforms, and to allow non-dt Exynos4210 platforms to 
use
> > this +	* gpiolib support, a check is added to find out if there 
is a
> > active
> Cut'n'paste error here.

<blushed>

Thanks for catching this.

Best regards,
Tomasz

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

* Re: [PATCH v5 3/6] gpio: samsung: Skip legacy GPIO registration if pinctrl-s3c64xx is present
  2013-04-16 16:27     ` Mark Brown
@ 2013-04-16 22:35       ` Tomasz Figa
  -1 siblings, 0 replies; 62+ messages in thread
From: Tomasz Figa @ 2013-04-16 22:35 UTC (permalink / raw)
  To: Mark Brown
  Cc: linux-samsung-soc, linux-arm-kernel, devicetree-discuss,
	kgene.kim, kwangwoo.lee, jacmet, augulis.darius, mcuelenaere,
	linux, Rob Herring, Mark Rutland

On Tuesday 16 of April 2013 17:27:50 Mark Brown wrote:
> On Mon, Apr 15, 2013 at 11:14:40PM +0200, Tomasz Figa wrote:
> >  		{ .compatible = "samsung,exynos4x12-pinctrl", },
> >  		{ .compatible = "samsung,exynos5250-pinctrl", },
> >  		{ .compatible = "samsung,exynos5440-pinctrl", },
> > 
> > +		{ },
> 
> Strictly speaking this is a separate bug fix (though I see that's
> already in -next separately anyway so whatever).

Right. But this fix is so small that I thought it would be a major waste 
of mail server processing power to send it as a separate patch.

Best regards,
Tomasz

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

* [PATCH v5 3/6] gpio: samsung: Skip legacy GPIO registration if pinctrl-s3c64xx is present
@ 2013-04-16 22:35       ` Tomasz Figa
  0 siblings, 0 replies; 62+ messages in thread
From: Tomasz Figa @ 2013-04-16 22:35 UTC (permalink / raw)
  To: linux-arm-kernel

On Tuesday 16 of April 2013 17:27:50 Mark Brown wrote:
> On Mon, Apr 15, 2013 at 11:14:40PM +0200, Tomasz Figa wrote:
> >  		{ .compatible = "samsung,exynos4x12-pinctrl", },
> >  		{ .compatible = "samsung,exynos5250-pinctrl", },
> >  		{ .compatible = "samsung,exynos5440-pinctrl", },
> > 
> > +		{ },
> 
> Strictly speaking this is a separate bug fix (though I see that's
> already in -next separately anyway so whatever).

Right. But this fix is so small that I thought it would be a major waste 
of mail server processing power to send it as a separate patch.

Best regards,
Tomasz

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

* [PATCH v6 2/6] ARM: s3c64xx: Skip legacy EINT setup if pinctrl-s3c64xx driver is present
  2013-04-16 16:26     ` Mark Brown
@ 2013-04-16 22:43       ` Tomasz Figa
  -1 siblings, 0 replies; 62+ messages in thread
From: Tomasz Figa @ 2013-04-16 22:43 UTC (permalink / raw)
  To: Mark Brown
  Cc: linux-samsung-soc, linux-arm-kernel, devicetree-discuss,
	kgene.kim, kwangwoo.lee, jacmet, augulis.darius, mcuelenaere,
	linux, Rob Herring, Mark Rutland

The new pinctrl-s3c64xx is responsible for EINT handling on DT-enabled
platforms.

Signed-off-by: Tomasz Figa <tomasz.figa@gmail.com>
---
 arch/arm/mach-s3c64xx/common.c | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/arch/arm/mach-s3c64xx/common.c b/arch/arm/mach-s3c64xx/common.c
index e79ca92..5053879 100644
--- a/arch/arm/mach-s3c64xx/common.c
+++ b/arch/arm/mach-s3c64xx/common.c
@@ -366,6 +366,10 @@ static int __init s3c64xx_init_irq_eint(void)
 {
 	int irq;
 
+	/* On DT-enabled systems EINTs are handled by pinctrl-s3c64xx driver. */
+	if (of_have_populated_dt())
+		return -ENODEV;
+
 	for (irq = IRQ_EINT(0); irq <= IRQ_EINT(27); irq++) {
 		irq_set_chip_and_handler(irq, &s3c_irq_eint, handle_level_irq);
 		irq_set_chip_data(irq, (void *)eint_irq_to_bit(irq));
-- 
1.8.1.5

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

* [PATCH v6 2/6] ARM: s3c64xx: Skip legacy EINT setup if pinctrl-s3c64xx driver is present
@ 2013-04-16 22:43       ` Tomasz Figa
  0 siblings, 0 replies; 62+ messages in thread
From: Tomasz Figa @ 2013-04-16 22:43 UTC (permalink / raw)
  To: linux-arm-kernel

The new pinctrl-s3c64xx is responsible for EINT handling on DT-enabled
platforms.

Signed-off-by: Tomasz Figa <tomasz.figa@gmail.com>
---
 arch/arm/mach-s3c64xx/common.c | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/arch/arm/mach-s3c64xx/common.c b/arch/arm/mach-s3c64xx/common.c
index e79ca92..5053879 100644
--- a/arch/arm/mach-s3c64xx/common.c
+++ b/arch/arm/mach-s3c64xx/common.c
@@ -366,6 +366,10 @@ static int __init s3c64xx_init_irq_eint(void)
 {
 	int irq;
 
+	/* On DT-enabled systems EINTs are handled by pinctrl-s3c64xx driver. */
+	if (of_have_populated_dt())
+		return -ENODEV;
+
 	for (irq = IRQ_EINT(0); irq <= IRQ_EINT(27); irq++) {
 		irq_set_chip_and_handler(irq, &s3c_irq_eint, handle_level_irq);
 		irq_set_chip_data(irq, (void *)eint_irq_to_bit(irq));
-- 
1.8.1.5

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

* Re: [PATCH v5 3/6] gpio: samsung: Skip legacy GPIO registration if pinctrl-s3c64xx is present
  2013-04-16 22:35       ` Tomasz Figa
@ 2013-04-17 13:06         ` Mark Brown
  -1 siblings, 0 replies; 62+ messages in thread
From: Mark Brown @ 2013-04-17 13:06 UTC (permalink / raw)
  To: Tomasz Figa
  Cc: linux-samsung-soc, linux-arm-kernel, devicetree-discuss,
	kgene.kim, kwangwoo.lee, jacmet, augulis.darius, mcuelenaere,
	linux, Rob Herring, Mark Rutland

[-- Attachment #1: Type: text/plain, Size: 564 bytes --]

On Wed, Apr 17, 2013 at 12:35:58AM +0200, Tomasz Figa wrote:
> On Tuesday 16 of April 2013 17:27:50 Mark Brown wrote:

> > Strictly speaking this is a separate bug fix (though I see that's
> > already in -next separately anyway so whatever).

> Right. But this fix is so small that I thought it would be a major waste 
> of mail server processing power to send it as a separate patch.

There's reviewer bandwidth too - one of the things people check for is
that the change is doing what it's supposed to do, extra stuff in there
is usually a red flag.

[-- Attachment #2: Digital signature --]
[-- Type: application/pgp-signature, Size: 836 bytes --]

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

* [PATCH v5 3/6] gpio: samsung: Skip legacy GPIO registration if pinctrl-s3c64xx is present
@ 2013-04-17 13:06         ` Mark Brown
  0 siblings, 0 replies; 62+ messages in thread
From: Mark Brown @ 2013-04-17 13:06 UTC (permalink / raw)
  To: linux-arm-kernel

On Wed, Apr 17, 2013 at 12:35:58AM +0200, Tomasz Figa wrote:
> On Tuesday 16 of April 2013 17:27:50 Mark Brown wrote:

> > Strictly speaking this is a separate bug fix (though I see that's
> > already in -next separately anyway so whatever).

> Right. But this fix is so small that I thought it would be a major waste 
> of mail server processing power to send it as a separate patch.

There's reviewer bandwidth too - one of the things people check for is
that the change is doing what it's supposed to do, extra stuff in there
is usually a red flag.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 836 bytes
Desc: Digital signature
URL: <http://lists.infradead.org/pipermail/linux-arm-kernel/attachments/20130417/67479e82/attachment.sig>

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

* Re: [PATCH v5 0/6] Initial Device Tree support for S3C64xx
  2013-04-15 21:14 ` Tomasz Figa
@ 2013-04-17 13:08   ` Mark Brown
  -1 siblings, 0 replies; 62+ messages in thread
From: Mark Brown @ 2013-04-17 13:08 UTC (permalink / raw)
  To: Tomasz Figa
  Cc: linux-samsung-soc, linux-arm-kernel, devicetree-discuss,
	kgene.kim, kwangwoo.lee, jacmet, augulis.darius, mcuelenaere,
	linux, Rob Herring, Mark Rutland

[-- Attachment #1: Type: text/plain, Size: 523 bytes --]

On Mon, Apr 15, 2013 at 11:14:37PM +0200, Tomasz Figa wrote:
> This series adds Device Tree support for Samsung S3C64xx SoC series.
> 
> It fixes several problems preventing from booting an S3C64xx-based system
> using Device Tree, adds all the infrastructure for Device Tree-based board
> support, including mach-s3c64xx-dt and dts include files for S3C64xx SoCs,
> and basic device tree source for FriendlyARM Mini6410 board.

Tested-by: Mark Brown <broonie@opensource.wolfsonmicro.com>

in the non-DT case :P

[-- Attachment #2: Digital signature --]
[-- Type: application/pgp-signature, Size: 836 bytes --]

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

* [PATCH v5 0/6] Initial Device Tree support for S3C64xx
@ 2013-04-17 13:08   ` Mark Brown
  0 siblings, 0 replies; 62+ messages in thread
From: Mark Brown @ 2013-04-17 13:08 UTC (permalink / raw)
  To: linux-arm-kernel

On Mon, Apr 15, 2013 at 11:14:37PM +0200, Tomasz Figa wrote:
> This series adds Device Tree support for Samsung S3C64xx SoC series.
> 
> It fixes several problems preventing from booting an S3C64xx-based system
> using Device Tree, adds all the infrastructure for Device Tree-based board
> support, including mach-s3c64xx-dt and dts include files for S3C64xx SoCs,
> and basic device tree source for FriendlyARM Mini6410 board.

Tested-by: Mark Brown <broonie@opensource.wolfsonmicro.com>

in the non-DT case :P
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 836 bytes
Desc: Digital signature
URL: <http://lists.infradead.org/pipermail/linux-arm-kernel/attachments/20130417/7ec00e05/attachment.sig>

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

* Re: [PATCH v5 5/6] ARM: dts: Add basic dts include files for Samsung S3C64xx SoCs
  2013-04-16 13:19       ` Tomasz Figa
@ 2013-04-17 17:46         ` Rob Herring
  -1 siblings, 0 replies; 62+ messages in thread
From: Rob Herring @ 2013-04-17 17:46 UTC (permalink / raw)
  To: Tomasz Figa
  Cc: Tomasz Figa, linux-samsung-soc, linux-arm-kernel,
	devicetree-discuss, Kukjin Kim,
	Mark Brown (broonie@opensource.wolfsonmicro.com),
	kwangwoo.lee, jacmet, augulis.darius, mcuelenaere,
	Russell King - ARM Linux, Mark Rutland

On Tue, Apr 16, 2013 at 8:19 AM, Tomasz Figa <t.figa@samsung.com> wrote:
> On Tuesday 16 of April 2013 08:09:10 Rob Herring wrote:
>> On 04/15/2013 04:14 PM, Tomasz Figa wrote:
>> > This patch adds basic device tree definitions for Samsung S3C64xx SoCs.
>> >
>> > Since all the SoCs in the series are very similar, the files are created
>> > hierarchically - one file for the whole series and then separate files
>> > for particular SoCs including the common one.
>> >
>> > Signed-off-by: Tomasz Figa <tomasz.figa@gmail.com>
>> > ---
>> >
>> >  arch/arm/boot/dts/s3c6400.dtsi         |  33 ++
>> >  arch/arm/boot/dts/s3c6410.dtsi         |  33 ++
>> >  arch/arm/boot/dts/s3c64xx-pinctrl.dtsi | 683
>> >  +++++++++++++++++++++++++++++++++ arch/arm/boot/dts/s3c64xx.dtsi
>> >  | 136 +++++++
>> >  4 files changed, 885 insertions(+)
>> >  create mode 100644 arch/arm/boot/dts/s3c6400.dtsi
>> >  create mode 100644 arch/arm/boot/dts/s3c6410.dtsi
>> >  create mode 100644 arch/arm/boot/dts/s3c64xx-pinctrl.dtsi
>> >  create mode 100644 arch/arm/boot/dts/s3c64xx.dtsi
>>
>> [...]
>>
>> > +
>> > +   vic0: interrupt-controller@71200000 {
>>
>> These nodes should be off a "simple-bus" node.
>
> Hmm, is there any reason behind it?
>
> I thought simple bus was just a convenient helper to represent hierarchical
> bus structures if one has a need to do so.

No. The DT should reflect the bus structure of the chip. How
accurately it is done is up to you and the information available, but
you have to have a bus of some sort.

There's obvious examples that don't follow this, but I'd like to not have more.

Rob

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

* [PATCH v5 5/6] ARM: dts: Add basic dts include files for Samsung S3C64xx SoCs
@ 2013-04-17 17:46         ` Rob Herring
  0 siblings, 0 replies; 62+ messages in thread
From: Rob Herring @ 2013-04-17 17:46 UTC (permalink / raw)
  To: linux-arm-kernel

On Tue, Apr 16, 2013 at 8:19 AM, Tomasz Figa <t.figa@samsung.com> wrote:
> On Tuesday 16 of April 2013 08:09:10 Rob Herring wrote:
>> On 04/15/2013 04:14 PM, Tomasz Figa wrote:
>> > This patch adds basic device tree definitions for Samsung S3C64xx SoCs.
>> >
>> > Since all the SoCs in the series are very similar, the files are created
>> > hierarchically - one file for the whole series and then separate files
>> > for particular SoCs including the common one.
>> >
>> > Signed-off-by: Tomasz Figa <tomasz.figa@gmail.com>
>> > ---
>> >
>> >  arch/arm/boot/dts/s3c6400.dtsi         |  33 ++
>> >  arch/arm/boot/dts/s3c6410.dtsi         |  33 ++
>> >  arch/arm/boot/dts/s3c64xx-pinctrl.dtsi | 683
>> >  +++++++++++++++++++++++++++++++++ arch/arm/boot/dts/s3c64xx.dtsi
>> >  | 136 +++++++
>> >  4 files changed, 885 insertions(+)
>> >  create mode 100644 arch/arm/boot/dts/s3c6400.dtsi
>> >  create mode 100644 arch/arm/boot/dts/s3c6410.dtsi
>> >  create mode 100644 arch/arm/boot/dts/s3c64xx-pinctrl.dtsi
>> >  create mode 100644 arch/arm/boot/dts/s3c64xx.dtsi
>>
>> [...]
>>
>> > +
>> > +   vic0: interrupt-controller at 71200000 {
>>
>> These nodes should be off a "simple-bus" node.
>
> Hmm, is there any reason behind it?
>
> I thought simple bus was just a convenient helper to represent hierarchical
> bus structures if one has a need to do so.

No. The DT should reflect the bus structure of the chip. How
accurately it is done is up to you and the information available, but
you have to have a bus of some sort.

There's obvious examples that don't follow this, but I'd like to not have more.

Rob

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

* Re: [PATCH 1/2] pinctrl: s3c64xx: Fix build error caused by undefined chained_irq_enter
  2013-04-16 22:23     ` Tomasz Figa
@ 2013-04-23 12:00       ` Linus Walleij
  -1 siblings, 0 replies; 62+ messages in thread
From: Linus Walleij @ 2013-04-23 12:00 UTC (permalink / raw)
  To: Tomasz Figa
  Cc: Mark Brown, linux-samsung-soc, linux-arm-kernel,
	devicetree-discuss, Kukjin Kim, kwangwoo.lee, Peter Korsgaard,
	augulis.darius, mcuelenaere, Russell King - ARM Linux,
	Rob Herring, Mark Rutland, Thomas Abraham

On Wed, Apr 17, 2013 at 12:23 AM, Tomasz Figa <tomasz.figa@gmail.com> wrote:

> Commit de88cbb7 moved definitions of chained_irq_enter and
> chained_irq_exit to a generic header, which must be now included instead
> of the legacy arch-specific one.
>
> This patch fixes build error caused by including the legacy header
> leading to undefined chained_irq_enter and chained_irq_exit symbols.
>
> Signed-off-by: Tomasz Figa <tomasz.figa@gmail.com>

Patch applied.

Thanks!
Linus Walleij

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

* [PATCH 1/2] pinctrl: s3c64xx: Fix build error caused by undefined chained_irq_enter
@ 2013-04-23 12:00       ` Linus Walleij
  0 siblings, 0 replies; 62+ messages in thread
From: Linus Walleij @ 2013-04-23 12:00 UTC (permalink / raw)
  To: linux-arm-kernel

On Wed, Apr 17, 2013 at 12:23 AM, Tomasz Figa <tomasz.figa@gmail.com> wrote:

> Commit de88cbb7 moved definitions of chained_irq_enter and
> chained_irq_exit to a generic header, which must be now included instead
> of the legacy arch-specific one.
>
> This patch fixes build error caused by including the legacy header
> leading to undefined chained_irq_enter and chained_irq_exit symbols.
>
> Signed-off-by: Tomasz Figa <tomasz.figa@gmail.com>

Patch applied.

Thanks!
Linus Walleij

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

* Re: [PATCH 2/2] pinctrl: samsung: Fix link error with CONFIG_PINCTRL_EXYNOS disabled
  2013-04-16 22:24       ` Tomasz Figa
@ 2013-04-23 12:03         ` Linus Walleij
  -1 siblings, 0 replies; 62+ messages in thread
From: Linus Walleij @ 2013-04-23 12:03 UTC (permalink / raw)
  To: Tomasz Figa
  Cc: Mark Brown, linux-samsung-soc, linux-arm-kernel,
	devicetree-discuss, Kukjin Kim, kwangwoo.lee, Peter Korsgaard,
	augulis.darius, mcuelenaere, Russell King - ARM Linux,
	Rob Herring, Mark Rutland, Thomas Abraham

On Wed, Apr 17, 2013 at 12:24 AM, Tomasz Figa <tomasz.figa@gmail.com> wrote:

> Commit f67faf487 added driver data for Exynos5250, which is available
> only if CONFIG_PINCTRL_EXYNOS is enabled. However probably due to merge
> error, the reference to this driver data structure was located outside
> of relevant ifdef and compiled unconditionally, leading to link error
> with CONFIG_PINCTRL_EXYNOS.
>
> This patch fixes mentioned link error by moving driver data entry under
> ifdef CONFIG_PINCTRL_EXYNOS.
>
> Signed-off-by: Tomasz Figa <tomasz.figa@gmail.com>

This does not apply to my "devel" branch in the pinctrl tree.

Could you rebase it on that branch?

Or is the error not even in my tree?

Yours,
Linus Walleij

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

* [PATCH 2/2] pinctrl: samsung: Fix link error with CONFIG_PINCTRL_EXYNOS disabled
@ 2013-04-23 12:03         ` Linus Walleij
  0 siblings, 0 replies; 62+ messages in thread
From: Linus Walleij @ 2013-04-23 12:03 UTC (permalink / raw)
  To: linux-arm-kernel

On Wed, Apr 17, 2013 at 12:24 AM, Tomasz Figa <tomasz.figa@gmail.com> wrote:

> Commit f67faf487 added driver data for Exynos5250, which is available
> only if CONFIG_PINCTRL_EXYNOS is enabled. However probably due to merge
> error, the reference to this driver data structure was located outside
> of relevant ifdef and compiled unconditionally, leading to link error
> with CONFIG_PINCTRL_EXYNOS.
>
> This patch fixes mentioned link error by moving driver data entry under
> ifdef CONFIG_PINCTRL_EXYNOS.
>
> Signed-off-by: Tomasz Figa <tomasz.figa@gmail.com>

This does not apply to my "devel" branch in the pinctrl tree.

Could you rebase it on that branch?

Or is the error not even in my tree?

Yours,
Linus Walleij

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

* Re: [PATCH 2/2] pinctrl: samsung: Fix link error with CONFIG_PINCTRL_EXYNOS disabled
  2013-04-23 12:03         ` Linus Walleij
@ 2013-04-23 12:09           ` Tomasz Figa
  -1 siblings, 0 replies; 62+ messages in thread
From: Tomasz Figa @ 2013-04-23 12:09 UTC (permalink / raw)
  To: Linus Walleij
  Cc: Tomasz Figa, Mark Brown, linux-samsung-soc, linux-arm-kernel,
	devicetree-discuss, Kukjin Kim, kwangwoo.lee, Peter Korsgaard,
	augulis.darius, mcuelenaere, Russell King - ARM Linux,
	Rob Herring, Mark Rutland, Thomas Abraham

Hi Linus,

On Tuesday 23 of April 2013 14:03:12 Linus Walleij wrote:
> On Wed, Apr 17, 2013 at 12:24 AM, Tomasz Figa <tomasz.figa@gmail.com> wrote:
> > Commit f67faf487 added driver data for Exynos5250, which is available
> > only if CONFIG_PINCTRL_EXYNOS is enabled. However probably due to merge
> > error, the reference to this driver data structure was located outside
> > of relevant ifdef and compiled unconditionally, leading to link error
> > with CONFIG_PINCTRL_EXYNOS.
> > 
> > This patch fixes mentioned link error by moving driver data entry under
> > ifdef CONFIG_PINCTRL_EXYNOS.
> > 
> > Signed-off-by: Tomasz Figa <tomasz.figa@gmail.com>
> 
> This does not apply to my "devel" branch in the pinctrl tree.
> 
> Could you rebase it on that branch?
> 
> Or is the error not even in my tree?

This one got sent incorrectly due to my mistake. Please try the correct 
version:

[PATCH RESEND 2/2] pinctrl: samsung: Fix link error with CONFIG_PINCTRL_EXYNOS 
disabled

Best regards,
-- 
Tomasz Figa
Samsung Poland R&D Center
SW Solution Development, Kernel and System Framework

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

* [PATCH 2/2] pinctrl: samsung: Fix link error with CONFIG_PINCTRL_EXYNOS disabled
@ 2013-04-23 12:09           ` Tomasz Figa
  0 siblings, 0 replies; 62+ messages in thread
From: Tomasz Figa @ 2013-04-23 12:09 UTC (permalink / raw)
  To: linux-arm-kernel

Hi Linus,

On Tuesday 23 of April 2013 14:03:12 Linus Walleij wrote:
> On Wed, Apr 17, 2013 at 12:24 AM, Tomasz Figa <tomasz.figa@gmail.com> wrote:
> > Commit f67faf487 added driver data for Exynos5250, which is available
> > only if CONFIG_PINCTRL_EXYNOS is enabled. However probably due to merge
> > error, the reference to this driver data structure was located outside
> > of relevant ifdef and compiled unconditionally, leading to link error
> > with CONFIG_PINCTRL_EXYNOS.
> > 
> > This patch fixes mentioned link error by moving driver data entry under
> > ifdef CONFIG_PINCTRL_EXYNOS.
> > 
> > Signed-off-by: Tomasz Figa <tomasz.figa@gmail.com>
> 
> This does not apply to my "devel" branch in the pinctrl tree.
> 
> Could you rebase it on that branch?
> 
> Or is the error not even in my tree?

This one got sent incorrectly due to my mistake. Please try the correct 
version:

[PATCH RESEND 2/2] pinctrl: samsung: Fix link error with CONFIG_PINCTRL_EXYNOS 
disabled

Best regards,
-- 
Tomasz Figa
Samsung Poland R&D Center
SW Solution Development, Kernel and System Framework

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

* Re: [PATCH v5 5/6] ARM: dts: Add basic dts include files for Samsung S3C64xx SoCs
  2013-04-17 17:46         ` Rob Herring
@ 2013-04-23 14:29           ` Kukjin Kim
  -1 siblings, 0 replies; 62+ messages in thread
From: Kukjin Kim @ 2013-04-23 14:29 UTC (permalink / raw)
  To: Rob Herring
  Cc: Tomasz Figa, Tomasz Figa, linux-samsung-soc, linux-arm-kernel,
	devicetree-discuss, Kukjin Kim,
	Mark Brown (broonie@opensource.wolfsonmicro.com),
	kwangwoo.lee, jacmet, augulis.darius, mcuelenaere,
	Russell King - ARM Linux, Mark Rutland

On 04/18/13 02:46, Rob Herring wrote:

>>>> +   vic0: interrupt-controller@71200000 {
>>>
>>> These nodes should be off a "simple-bus" node.
>>
>> Hmm, is there any reason behind it?
>>
>> I thought simple bus was just a convenient helper to represent hierarchical
>> bus structures if one has a need to do so.
>
> No. The DT should reflect the bus structure of the chip. How
> accurately it is done is up to you and the information available, but
> you have to have a bus of some sort.
>
> There's obvious examples that don't follow this, but I'd like to not have more.
>
Tomasz, can you address comments?

Thanks.

- Kukjin

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

* [PATCH v5 5/6] ARM: dts: Add basic dts include files for Samsung S3C64xx SoCs
@ 2013-04-23 14:29           ` Kukjin Kim
  0 siblings, 0 replies; 62+ messages in thread
From: Kukjin Kim @ 2013-04-23 14:29 UTC (permalink / raw)
  To: linux-arm-kernel

On 04/18/13 02:46, Rob Herring wrote:

>>>> +   vic0: interrupt-controller at 71200000 {
>>>
>>> These nodes should be off a "simple-bus" node.
>>
>> Hmm, is there any reason behind it?
>>
>> I thought simple bus was just a convenient helper to represent hierarchical
>> bus structures if one has a need to do so.
>
> No. The DT should reflect the bus structure of the chip. How
> accurately it is done is up to you and the information available, but
> you have to have a bus of some sort.
>
> There's obvious examples that don't follow this, but I'd like to not have more.
>
Tomasz, can you address comments?

Thanks.

- Kukjin

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

* Re: [PATCH v5 3/6] gpio: samsung: Skip legacy GPIO registration if pinctrl-s3c64xx is present
  2013-04-17 13:06         ` Mark Brown
@ 2013-04-23 14:33           ` Kukjin Kim
  -1 siblings, 0 replies; 62+ messages in thread
From: Kukjin Kim @ 2013-04-23 14:33 UTC (permalink / raw)
  To: Mark Brown
  Cc: Tomasz Figa, linux-samsung-soc, linux-arm-kernel,
	devicetree-discuss, kgene.kim, kwangwoo.lee, jacmet,
	augulis.darius, mcuelenaere, linux, Rob Herring, Mark Rutland

On 04/17/13 22:06, Mark Brown wrote:
> On Wed, Apr 17, 2013 at 12:35:58AM +0200, Tomasz Figa wrote:
>> On Tuesday 16 of April 2013 17:27:50 Mark Brown wrote:
>
>>> Strictly speaking this is a separate bug fix (though I see that's
>>> already in -next separately anyway so whatever).
>
I agree with this.

>> Right. But this fix is so small that I thought it would be a major waste
>> of mail server processing power to send it as a separate patch.
>
But the fix would be value...

> There's reviewer bandwidth too - one of the things people check for is
> that the change is doing what it's supposed to do, extra stuff in there
> is usually a red flag.

Thanks.

- Kukjin

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

* [PATCH v5 3/6] gpio: samsung: Skip legacy GPIO registration if pinctrl-s3c64xx is present
@ 2013-04-23 14:33           ` Kukjin Kim
  0 siblings, 0 replies; 62+ messages in thread
From: Kukjin Kim @ 2013-04-23 14:33 UTC (permalink / raw)
  To: linux-arm-kernel

On 04/17/13 22:06, Mark Brown wrote:
> On Wed, Apr 17, 2013 at 12:35:58AM +0200, Tomasz Figa wrote:
>> On Tuesday 16 of April 2013 17:27:50 Mark Brown wrote:
>
>>> Strictly speaking this is a separate bug fix (though I see that's
>>> already in -next separately anyway so whatever).
>
I agree with this.

>> Right. But this fix is so small that I thought it would be a major waste
>> of mail server processing power to send it as a separate patch.
>
But the fix would be value...

> There's reviewer bandwidth too - one of the things people check for is
> that the change is doing what it's supposed to do, extra stuff in there
> is usually a red flag.

Thanks.

- Kukjin

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

* Re: [PATCH v5 5/6] ARM: dts: Add basic dts include files for Samsung S3C64xx SoCs
  2013-04-23 14:29           ` Kukjin Kim
@ 2013-04-23 14:44             ` Tomasz Figa
  -1 siblings, 0 replies; 62+ messages in thread
From: Tomasz Figa @ 2013-04-23 14:44 UTC (permalink / raw)
  To: Kukjin Kim
  Cc: Rob Herring, Tomasz Figa, linux-samsung-soc, linux-arm-kernel,
	devicetree-discuss,
	Mark Brown (broonie@opensource.wolfsonmicro.com),
	kwangwoo.lee, jacmet, augulis.darius, mcuelenaere,
	Russell King - ARM Linux, Mark Rutland

On Tuesday 23 of April 2013 23:29:32 Kukjin Kim wrote:
> On 04/18/13 02:46, Rob Herring wrote:
> >>>> +   vic0: interrupt-controller@71200000 {
> >>> 
> >>> These nodes should be off a "simple-bus" node.
> >> 
> >> Hmm, is there any reason behind it?
> >> 
> >> I thought simple bus was just a convenient helper to represent
> >> hierarchical
> >> bus structures if one has a need to do so.
> > 
> > No. The DT should reflect the bus structure of the chip. How
> > accurately it is done is up to you and the information available, but
> > you have to have a bus of some sort.
> > 
> > There's obvious examples that don't follow this, but I'd like to not have
> > more.
> Tomasz, can you address comments?

Please discard this series for now.

I've decided to post it for 3.11, including a driver for Common Clock 
Framework and several cleanup patches, which I have ready and waiting.

Best regards,
-- 
Tomasz Figa
Samsung Poland R&D Center
SW Solution Development, Kernel and System Framework

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

* [PATCH v5 5/6] ARM: dts: Add basic dts include files for Samsung S3C64xx SoCs
@ 2013-04-23 14:44             ` Tomasz Figa
  0 siblings, 0 replies; 62+ messages in thread
From: Tomasz Figa @ 2013-04-23 14:44 UTC (permalink / raw)
  To: linux-arm-kernel

On Tuesday 23 of April 2013 23:29:32 Kukjin Kim wrote:
> On 04/18/13 02:46, Rob Herring wrote:
> >>>> +   vic0: interrupt-controller at 71200000 {
> >>> 
> >>> These nodes should be off a "simple-bus" node.
> >> 
> >> Hmm, is there any reason behind it?
> >> 
> >> I thought simple bus was just a convenient helper to represent
> >> hierarchical
> >> bus structures if one has a need to do so.
> > 
> > No. The DT should reflect the bus structure of the chip. How
> > accurately it is done is up to you and the information available, but
> > you have to have a bus of some sort.
> > 
> > There's obvious examples that don't follow this, but I'd like to not have
> > more.
> Tomasz, can you address comments?

Please discard this series for now.

I've decided to post it for 3.11, including a driver for Common Clock 
Framework and several cleanup patches, which I have ready and waiting.

Best regards,
-- 
Tomasz Figa
Samsung Poland R&D Center
SW Solution Development, Kernel and System Framework

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

* Re: [PATCH v5 5/6] ARM: dts: Add basic dts include files for Samsung S3C64xx SoCs
  2013-04-23 14:44             ` Tomasz Figa
@ 2013-04-23 14:48               ` Kukjin Kim
  -1 siblings, 0 replies; 62+ messages in thread
From: Kukjin Kim @ 2013-04-23 14:48 UTC (permalink / raw)
  To: Tomasz Figa
  Cc: Kukjin Kim, Rob Herring, Tomasz Figa, linux-samsung-soc,
	linux-arm-kernel, devicetree-discuss,
	Mark Brown (broonie@opensource.wolfsonmicro.com),
	kwangwoo.lee, jacmet, augulis.darius, mcuelenaere,
	Russell King - ARM Linux, Mark Rutland

On 04/23/13 23:44, Tomasz Figa wrote:

>> Tomasz, can you address comments?
>
> Please discard this series for now.
>
OK.

> I've decided to post it for 3.11, including a driver for Common Clock
> Framework and several cleanup patches, which I have ready and waiting.
>
Sounds good.

Thanks.

- Kukjin

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

* [PATCH v5 5/6] ARM: dts: Add basic dts include files for Samsung S3C64xx SoCs
@ 2013-04-23 14:48               ` Kukjin Kim
  0 siblings, 0 replies; 62+ messages in thread
From: Kukjin Kim @ 2013-04-23 14:48 UTC (permalink / raw)
  To: linux-arm-kernel

On 04/23/13 23:44, Tomasz Figa wrote:

>> Tomasz, can you address comments?
>
> Please discard this series for now.
>
OK.

> I've decided to post it for 3.11, including a driver for Common Clock
> Framework and several cleanup patches, which I have ready and waiting.
>
Sounds good.

Thanks.

- Kukjin

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

* Re: [PATCH 2/2] pinctrl: samsung: Fix link error with CONFIG_PINCTRL_EXYNOS disabled
  2013-04-23 12:09           ` Tomasz Figa
@ 2013-04-24 14:27             ` Linus Walleij
  -1 siblings, 0 replies; 62+ messages in thread
From: Linus Walleij @ 2013-04-24 14:27 UTC (permalink / raw)
  To: Tomasz Figa
  Cc: Tomasz Figa, Mark Brown, linux-samsung-soc, linux-arm-kernel,
	devicetree-discuss, Kukjin Kim, Kwangwoo LEE, Peter Korsgaard,
	Darius Augulis, Maurus Cuelenaere, Russell King - ARM Linux,
	Rob Herring, Mark Rutland, Thomas Abraham

On Tue, Apr 23, 2013 at 2:09 PM, Tomasz Figa <t.figa@samsung.com> wrote:
> On Tuesday 23 of April 2013 14:03:12 Linus Walleij wrote:

>> This does not apply to my "devel" branch in the pinctrl tree.
>>
>> Could you rebase it on that branch?
>>
>> Or is the error not even in my tree?
>
> This one got sent incorrectly due to my mistake. Please try the correct
> version:
>
> [PATCH RESEND 2/2] pinctrl: samsung: Fix link error with CONFIG_PINCTRL_EXYNOS
> disabled

This does not apply either.

Can you please test against the "devel" branch in the pinctrl tree?

Yours,
Linus Walleij

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

* [PATCH 2/2] pinctrl: samsung: Fix link error with CONFIG_PINCTRL_EXYNOS disabled
@ 2013-04-24 14:27             ` Linus Walleij
  0 siblings, 0 replies; 62+ messages in thread
From: Linus Walleij @ 2013-04-24 14:27 UTC (permalink / raw)
  To: linux-arm-kernel

On Tue, Apr 23, 2013 at 2:09 PM, Tomasz Figa <t.figa@samsung.com> wrote:
> On Tuesday 23 of April 2013 14:03:12 Linus Walleij wrote:

>> This does not apply to my "devel" branch in the pinctrl tree.
>>
>> Could you rebase it on that branch?
>>
>> Or is the error not even in my tree?
>
> This one got sent incorrectly due to my mistake. Please try the correct
> version:
>
> [PATCH RESEND 2/2] pinctrl: samsung: Fix link error with CONFIG_PINCTRL_EXYNOS
> disabled

This does not apply either.

Can you please test against the "devel" branch in the pinctrl tree?

Yours,
Linus Walleij

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

* Re: [PATCH 2/2] pinctrl: samsung: Fix link error with CONFIG_PINCTRL_EXYNOS disabled
  2013-04-24 14:27             ` Linus Walleij
@ 2013-04-24 14:47               ` Tomasz Figa
  -1 siblings, 0 replies; 62+ messages in thread
From: Tomasz Figa @ 2013-04-24 14:47 UTC (permalink / raw)
  To: Linus Walleij
  Cc: Tomasz Figa, Mark Brown, linux-samsung-soc, linux-arm-kernel,
	devicetree-discuss, Kukjin Kim, Kwangwoo LEE, Peter Korsgaard,
	Darius Augulis, Maurus Cuelenaere, Russell King - ARM Linux,
	Rob Herring, Mark Rutland, Thomas Abraham

On Wednesday 24 of April 2013 16:27:09 Linus Walleij wrote:
> On Tue, Apr 23, 2013 at 2:09 PM, Tomasz Figa <t.figa@samsung.com> wrote:
> > On Tuesday 23 of April 2013 14:03:12 Linus Walleij wrote:
> >> This does not apply to my "devel" branch in the pinctrl tree.
> >> 
> >> Could you rebase it on that branch?
> >> 
> >> Or is the error not even in my tree?
> > 
> > This one got sent incorrectly due to my mistake. Please try the correct
> > version:
> > 
> > [PATCH RESEND 2/2] pinctrl: samsung: Fix link error with
> > CONFIG_PINCTRL_EXYNOS disabled
> 
> This does not apply either.
> 
> Can you please test against the "devel" branch in the pinctrl tree?

Right, it does not apply.

Well, actually it does with git am -3, but it is incorrect, since the problem 
it intends to fix is not present in your tree, but rather is a merge error in 
linux-next in a merge of Kgene's and your tree...

Best regards,
-- 
Tomasz Figa
Samsung Poland R&D Center
SW Solution Development, Kernel and System Framework

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

* [PATCH 2/2] pinctrl: samsung: Fix link error with CONFIG_PINCTRL_EXYNOS disabled
@ 2013-04-24 14:47               ` Tomasz Figa
  0 siblings, 0 replies; 62+ messages in thread
From: Tomasz Figa @ 2013-04-24 14:47 UTC (permalink / raw)
  To: linux-arm-kernel

On Wednesday 24 of April 2013 16:27:09 Linus Walleij wrote:
> On Tue, Apr 23, 2013 at 2:09 PM, Tomasz Figa <t.figa@samsung.com> wrote:
> > On Tuesday 23 of April 2013 14:03:12 Linus Walleij wrote:
> >> This does not apply to my "devel" branch in the pinctrl tree.
> >> 
> >> Could you rebase it on that branch?
> >> 
> >> Or is the error not even in my tree?
> > 
> > This one got sent incorrectly due to my mistake. Please try the correct
> > version:
> > 
> > [PATCH RESEND 2/2] pinctrl: samsung: Fix link error with
> > CONFIG_PINCTRL_EXYNOS disabled
> 
> This does not apply either.
> 
> Can you please test against the "devel" branch in the pinctrl tree?

Right, it does not apply.

Well, actually it does with git am -3, but it is incorrect, since the problem 
it intends to fix is not present in your tree, but rather is a merge error in 
linux-next in a merge of Kgene's and your tree...

Best regards,
-- 
Tomasz Figa
Samsung Poland R&D Center
SW Solution Development, Kernel and System Framework

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

* Re: [PATCH 2/2] pinctrl: samsung: Fix link error with CONFIG_PINCTRL_EXYNOS disabled
  2013-04-24 14:47               ` Tomasz Figa
@ 2013-04-25 13:26                 ` Linus Walleij
  -1 siblings, 0 replies; 62+ messages in thread
From: Linus Walleij @ 2013-04-25 13:26 UTC (permalink / raw)
  To: Tomasz Figa
  Cc: Tomasz Figa, Mark Brown, linux-samsung-soc, linux-arm-kernel,
	devicetree-discuss, Kukjin Kim, Kwangwoo LEE, Peter Korsgaard,
	Darius Augulis, Maurus Cuelenaere, Russell King - ARM Linux,
	Rob Herring, Mark Rutland, Thomas Abraham, linux-next

On Wed, Apr 24, 2013 at 4:47 PM, Tomasz Figa <t.figa@samsung.com> wrote:
> On Wednesday 24 of April 2013 16:27:09 Linus Walleij wrote:
>> On Tue, Apr 23, 2013 at 2:09 PM, Tomasz Figa <t.figa@samsung.com> wrote:
>> > On Tuesday 23 of April 2013 14:03:12 Linus Walleij wrote:
>> >> This does not apply to my "devel" branch in the pinctrl tree.
>> >>
>> >> Could you rebase it on that branch?
>> >>
>> >> Or is the error not even in my tree?
>> >
>> > This one got sent incorrectly due to my mistake. Please try the correct
>> > version:
>> >
>> > [PATCH RESEND 2/2] pinctrl: samsung: Fix link error with
>> > CONFIG_PINCTRL_EXYNOS disabled
>>
>> This does not apply either.
>>
>> Can you please test against the "devel" branch in the pinctrl tree?
>
> Right, it does not apply.
>
> Well, actually it does with git am -3, but it is incorrect, since the problem
> it intends to fix is not present in your tree, but rather is a merge error in
> linux-next in a merge of Kgene's and your tree...

Oh. Then you have to send the patch to Stephen Rothwell.

Yours,
Linus Walleij

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

* [PATCH 2/2] pinctrl: samsung: Fix link error with CONFIG_PINCTRL_EXYNOS disabled
@ 2013-04-25 13:26                 ` Linus Walleij
  0 siblings, 0 replies; 62+ messages in thread
From: Linus Walleij @ 2013-04-25 13:26 UTC (permalink / raw)
  To: linux-arm-kernel

On Wed, Apr 24, 2013 at 4:47 PM, Tomasz Figa <t.figa@samsung.com> wrote:
> On Wednesday 24 of April 2013 16:27:09 Linus Walleij wrote:
>> On Tue, Apr 23, 2013 at 2:09 PM, Tomasz Figa <t.figa@samsung.com> wrote:
>> > On Tuesday 23 of April 2013 14:03:12 Linus Walleij wrote:
>> >> This does not apply to my "devel" branch in the pinctrl tree.
>> >>
>> >> Could you rebase it on that branch?
>> >>
>> >> Or is the error not even in my tree?
>> >
>> > This one got sent incorrectly due to my mistake. Please try the correct
>> > version:
>> >
>> > [PATCH RESEND 2/2] pinctrl: samsung: Fix link error with
>> > CONFIG_PINCTRL_EXYNOS disabled
>>
>> This does not apply either.
>>
>> Can you please test against the "devel" branch in the pinctrl tree?
>
> Right, it does not apply.
>
> Well, actually it does with git am -3, but it is incorrect, since the problem
> it intends to fix is not present in your tree, but rather is a merge error in
> linux-next in a merge of Kgene's and your tree...

Oh. Then you have to send the patch to Stephen Rothwell.

Yours,
Linus Walleij

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

end of thread, other threads:[~2013-04-25 13:26 UTC | newest]

Thread overview: 62+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2013-04-15 21:14 [PATCH v5 0/6] Initial Device Tree support for S3C64xx Tomasz Figa
2013-04-15 21:14 ` Tomasz Figa
2013-04-15 21:14 ` [PATCH v5 1/6] ARM: common: vic: Parse interrupt and resume masks from device tree Tomasz Figa
2013-04-15 21:14   ` Tomasz Figa
2013-04-15 21:14 ` [PATCH v5 2/6] ARM: s3c64xx: Skip legacy EINT setup if pinctrl-s3c64xx driver is present Tomasz Figa
2013-04-15 21:14   ` Tomasz Figa
2013-04-16 16:26   ` Mark Brown
2013-04-16 16:26     ` Mark Brown
2013-04-16 22:31     ` Tomasz Figa
2013-04-16 22:31       ` Tomasz Figa
2013-04-16 22:43     ` [PATCH v6 " Tomasz Figa
2013-04-16 22:43       ` Tomasz Figa
2013-04-15 21:14 ` [PATCH v5 3/6] gpio: samsung: Skip legacy GPIO registration if pinctrl-s3c64xx " Tomasz Figa
2013-04-15 21:14   ` Tomasz Figa
2013-04-16 16:27   ` Mark Brown
2013-04-16 16:27     ` Mark Brown
2013-04-16 22:35     ` Tomasz Figa
2013-04-16 22:35       ` Tomasz Figa
2013-04-17 13:06       ` Mark Brown
2013-04-17 13:06         ` Mark Brown
2013-04-23 14:33         ` Kukjin Kim
2013-04-23 14:33           ` Kukjin Kim
2013-04-15 21:14 ` [PATCH v5 4/6] ARM: s3c64xx: Add board file for boot using Device Tree Tomasz Figa
2013-04-15 21:14   ` Tomasz Figa
2013-04-15 21:14 ` [PATCH v5 5/6] ARM: dts: Add basic dts include files for Samsung S3C64xx SoCs Tomasz Figa
2013-04-15 21:14   ` Tomasz Figa
2013-04-16 13:09   ` Rob Herring
2013-04-16 13:09     ` Rob Herring
2013-04-16 13:19     ` Tomasz Figa
2013-04-16 13:19       ` Tomasz Figa
2013-04-17 17:46       ` Rob Herring
2013-04-17 17:46         ` Rob Herring
2013-04-23 14:29         ` Kukjin Kim
2013-04-23 14:29           ` Kukjin Kim
2013-04-23 14:44           ` Tomasz Figa
2013-04-23 14:44             ` Tomasz Figa
2013-04-23 14:48             ` Kukjin Kim
2013-04-23 14:48               ` Kukjin Kim
2013-04-15 21:14 ` [PATCH v5 6/6] ARM: dts: Add dts file for S3C6410-based Mini6410 board Tomasz Figa
2013-04-15 21:14   ` Tomasz Figa
2013-04-16 16:33 ` [PATCH v5 0/6] Initial Device Tree support for S3C64xx Mark Brown
2013-04-16 16:33   ` Mark Brown
2013-04-16 22:23   ` [PATCH 1/2] pinctrl: s3c64xx: Fix build error caused by undefined chained_irq_enter Tomasz Figa
2013-04-16 22:23     ` Tomasz Figa
2013-04-16 22:24     ` [PATCH 2/2] pinctrl: samsung: Fix link error with CONFIG_PINCTRL_EXYNOS disabled Tomasz Figa
2013-04-16 22:24       ` Tomasz Figa
2013-04-23 12:03       ` Linus Walleij
2013-04-23 12:03         ` Linus Walleij
2013-04-23 12:09         ` Tomasz Figa
2013-04-23 12:09           ` Tomasz Figa
2013-04-24 14:27           ` Linus Walleij
2013-04-24 14:27             ` Linus Walleij
2013-04-24 14:47             ` Tomasz Figa
2013-04-24 14:47               ` Tomasz Figa
2013-04-25 13:26               ` Linus Walleij
2013-04-25 13:26                 ` Linus Walleij
2013-04-16 22:29     ` [PATCH RESEND " Tomasz Figa
2013-04-16 22:29       ` Tomasz Figa
2013-04-23 12:00     ` [PATCH 1/2] pinctrl: s3c64xx: Fix build error caused by undefined chained_irq_enter Linus Walleij
2013-04-23 12:00       ` Linus Walleij
2013-04-17 13:08 ` [PATCH v5 0/6] Initial Device Tree support for S3C64xx Mark Brown
2013-04-17 13:08   ` Mark Brown

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.