linux-samsung-soc.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v4 0/4] Initial Device Tree support for S3C64xx
@ 2013-03-09 20:29 Tomasz Figa
  2013-03-09 20:29 ` [PATCH v4 1/4] ARM: common: vic: Parse interrupt and resume masks from device tree Tomasz Figa
                   ` (4 more replies)
  0 siblings, 5 replies; 7+ messages in thread
From: Tomasz Figa @ 2013-03-09 20:29 UTC (permalink / raw)
  To: linux-samsung-soc-u79uwXL29TY76Z2rM5mHXA
  Cc: kgene.kim-Sze3O3UU22JBDgjK7y7TUQ, linux-lFZ/pmaqli7XmaaqVzeoHQ,
	kwangwoo.lee-Re5JQEeQqe8AvxtiuMwx3w,
	devicetree-discuss-uLR06cmDAlY/bJ5BZ2RsiQ,
	broonie-yzvPICuk2AATkU/dhu1WVueM+bqZidxxQQ4Iyu8u01E,
	mcuelenaere-Re5JQEeQqe8AvxtiuMwx3w, Tomasz Figa,
	augulis.darius-Re5JQEeQqe8AvxtiuMwx3w,
	linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r

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
(very) 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 v3 00/12] ARM: samsung-time: Prepare for multiplatform support
http://thread.gmane.org/gmane.linux.kernel.samsung-soc/16664

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 (4):
  ARM: common: vic: Parse interrupt and resume masks from device tree
  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        |  50 ++++++++++++
 arch/arm/boot/dts/s3c6410.dtsi                |  33 ++++++++
 arch/arm/boot/dts/s3c64xx.dtsi                | 106 ++++++++++++++++++++++++++
 arch/arm/mach-s3c64xx/Kconfig                 |  14 ++++
 arch/arm/mach-s3c64xx/Makefile                |   1 +
 arch/arm/mach-s3c64xx/mach-s3c64xx-dt.c       |  83 ++++++++++++++++++++
 drivers/irqchip/irq-vic.c                     |   7 +-
 10 files changed, 333 insertions(+), 1 deletion(-)
 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.dtsi
 create mode 100644 arch/arm/mach-s3c64xx/mach-s3c64xx-dt.c

-- 
1.8.1.5

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

* [PATCH v4 1/4] ARM: common: vic: Parse interrupt and resume masks from device tree
  2013-03-09 20:29 [PATCH v4 0/4] Initial Device Tree support for S3C64xx Tomasz Figa
@ 2013-03-09 20:29 ` Tomasz Figa
  2013-03-09 20:29 ` [PATCH v4 2/4] ARM: s3c64xx: Add board file for boot using Device Tree Tomasz Figa
                   ` (3 subsequent siblings)
  4 siblings, 0 replies; 7+ messages in thread
From: Tomasz Figa @ 2013-03-09 20:29 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] 7+ messages in thread

* [PATCH v4 2/4] ARM: s3c64xx: Add board file for boot using Device Tree
  2013-03-09 20:29 [PATCH v4 0/4] Initial Device Tree support for S3C64xx Tomasz Figa
  2013-03-09 20:29 ` [PATCH v4 1/4] ARM: common: vic: Parse interrupt and resume masks from device tree Tomasz Figa
@ 2013-03-09 20:29 ` Tomasz Figa
  2013-03-09 20:29 ` [PATCH v4 3/4] ARM: dts: Add basic dts include files for Samsung S3C64xx SoCs Tomasz Figa
                   ` (2 subsequent siblings)
  4 siblings, 0 replies; 7+ messages in thread
From: Tomasz Figa @ 2013-03-09 20:29 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           | 14 ++++++
 arch/arm/mach-s3c64xx/Makefile          |  1 +
 arch/arm/mach-s3c64xx/mach-s3c64xx-dt.c | 83 +++++++++++++++++++++++++++++++++
 3 files changed, 98 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..771e2c2 100644
--- a/arch/arm/mach-s3c64xx/Kconfig
+++ b/arch/arm/mach-s3c64xx/Kconfig
@@ -311,3 +311,17 @@ 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 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 f9ce1dc..59b3d06 100644
--- a/arch/arm/mach-s3c64xx/Makefile
+++ b/arch/arm/mach-s3c64xx/Makefile
@@ -58,3 +58,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] 7+ messages in thread

* [PATCH v4 3/4] ARM: dts: Add basic dts include files for Samsung S3C64xx SoCs
  2013-03-09 20:29 [PATCH v4 0/4] Initial Device Tree support for S3C64xx Tomasz Figa
  2013-03-09 20:29 ` [PATCH v4 1/4] ARM: common: vic: Parse interrupt and resume masks from device tree Tomasz Figa
  2013-03-09 20:29 ` [PATCH v4 2/4] ARM: s3c64xx: Add board file for boot using Device Tree Tomasz Figa
@ 2013-03-09 20:29 ` Tomasz Figa
  2013-03-09 20:29 ` [PATCH v4 4/4] ARM: dts: Add dts file for S3C6410-based Mini6410 board Tomasz Figa
  2013-03-23 12:28 ` [PATCH v4 0/4] Initial Device Tree support for S3C64xx Tomasz Figa
  4 siblings, 0 replies; 7+ messages in thread
From: Tomasz Figa @ 2013-03-09 20:29 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.dtsi | 106 +++++++++++++++++++++++++++++++++++++++++
 3 files changed, 172 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.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.dtsi b/arch/arm/boot/dts/s3c64xx.dtsi
new file mode 100644
index 0000000..0357b87
--- /dev/null
+++ b/arch/arm/boot/dts/s3c64xx.dtsi
@@ -0,0 +1,106 @@
+/*
+ * 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"
+
+/ {
+	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>;
+	};
+
+	timer@7f006000 {
+		compatible = "samsung,s3c64xx-pwm";
+		reg = <0x7f006000 0x1000>;
+		interrupt-parent = <&vic0>;
+		interrupts = <23>, <24>, <25>, <27>, <28>;
+		samsung,pwm-outputs = <0>, <1>;
+		#pwm-cells = <3>;
+	};
+
+	serial@7f005000 {
+		compatible = "samsung,s3c6400-uart";
+		reg = <0x7f005000 0x100>;
+		interrupt-parent = <&vic1>;
+		interrupts = <5>;
+		status = "disabled";
+	};
+
+	serial@7f005400 {
+		compatible = "samsung,s3c6400-uart";
+		reg = <0x7f005400 0x100>;
+		interrupt-parent = <&vic1>;
+		interrupts = <6>;
+		status = "disabled";
+	};
+
+	serial@7f005800 {
+		compatible = "samsung,s3c6400-uart";
+		reg = <0x7f005800 0x100>;
+		interrupt-parent = <&vic1>;
+		interrupts = <7>;
+		status = "disabled";
+	};
+
+	serial@7f005c00 {
+		compatible = "samsung,s3c6400-uart";
+		reg = <0x7f005c00 0x100>;
+		interrupt-parent = <&vic1>;
+		interrupts = <8>;
+		status = "disabled";
+	};
+
+	sdhci@7c200000 {
+		compatible = "samsung,s3c6410-sdhci";
+		reg = <0x7c200000 0x100>;
+		interrupt-parent = <&vic1>;
+		interrupts = <24>;
+		status = "disabled";
+	};
+
+	sdhci@7c300000 {
+		compatible = "samsung,s3c6410-sdhci";
+		reg = <0x7c300000 0x100>;
+		interrupt-parent = <&vic1>;
+		interrupts = <25>;
+		status = "disabled";
+	};
+
+	sdhci@7c400000 {
+		compatible = "samsung,s3c6410-sdhci";
+		reg = <0x7c400000 0x100>;
+		interrupt-parent = <&vic1>;
+		interrupts = <17>;
+		status = "disabled";
+	};
+};
-- 
1.8.1.5

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

* [PATCH v4 4/4] ARM: dts: Add dts file for S3C6410-based Mini6410 board
  2013-03-09 20:29 [PATCH v4 0/4] Initial Device Tree support for S3C64xx Tomasz Figa
                   ` (2 preceding siblings ...)
  2013-03-09 20:29 ` [PATCH v4 3/4] ARM: dts: Add basic dts include files for Samsung S3C64xx SoCs Tomasz Figa
@ 2013-03-09 20:29 ` Tomasz Figa
  2013-03-23 12:28 ` [PATCH v4 0/4] Initial Device Tree support for S3C64xx Tomasz Figa
  4 siblings, 0 replies; 7+ messages in thread
From: Tomasz Figa @ 2013-03-09 20:29 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 | 50 ++++++++++++++++++++++++++++++++++
 2 files changed, 51 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 d3cd880..1a370e6 100644
--- a/arch/arm/boot/dts/Makefile
+++ b/arch/arm/boot/dts/Makefile
@@ -137,6 +137,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..9ac82c2
--- /dev/null
+++ b/arch/arm/boot/dts/s3c6410-mini6410.dts
@@ -0,0 +1,50 @@
+/*
+ * 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";
+	};
+
+	serial@7f005000 {
+		status = "okay";
+	};
+
+	serial@7f005400 {
+		status = "okay";
+	};
+
+	serial@7f005800 {
+		status = "okay";
+	};
+
+	serial@7f005c00 {
+		status = "okay";
+	};
+
+	sdhci@7c200000 {
+		bus-width = <4>;
+		non-removable;
+		status = "okay";
+	};
+};
-- 
1.8.1.5

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

* Re: [PATCH v4 0/4] Initial Device Tree support for S3C64xx
  2013-03-09 20:29 [PATCH v4 0/4] Initial Device Tree support for S3C64xx Tomasz Figa
                   ` (3 preceding siblings ...)
  2013-03-09 20:29 ` [PATCH v4 4/4] ARM: dts: Add dts file for S3C6410-based Mini6410 board Tomasz Figa
@ 2013-03-23 12:28 ` Tomasz Figa
  2013-03-25  1:08   ` Kukjin Kim
  4 siblings, 1 reply; 7+ messages in thread
From: Tomasz Figa @ 2013-03-23 12:28 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

Hi,

On Saturday 09 of March 2013 21:29:31 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 (very) 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 v3 00/12] ARM: samsung-time: Prepare for
> multiplatform support
> http://thread.gmane.org/gmane.linux.kernel.samsung-soc/16664
> 
> 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 (4):
>   ARM: common: vic: Parse interrupt and resume masks from device tree
>   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

Any comments for this series?

Best regards,
Tomasz

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

* RE: [PATCH v4 0/4] Initial Device Tree support for S3C64xx
  2013-03-23 12:28 ` [PATCH v4 0/4] Initial Device Tree support for S3C64xx Tomasz Figa
@ 2013-03-25  1:08   ` Kukjin Kim
  0 siblings, 0 replies; 7+ messages in thread
From: Kukjin Kim @ 2013-03-25  1:08 UTC (permalink / raw)
  To: 'Tomasz Figa', linux-samsung-soc
  Cc: linux-arm-kernel, devicetree-discuss, broonie, kwangwoo.lee,
	jacmet, augulis.darius, mcuelenaere, linux, 'Rob Herring',
	'Mark Rutland'

Tomasz Figa wrote:
> 
> Hi,
> 
> On Saturday 09 of March 2013 21:29:31 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 (very) 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 v3 00/12] ARM: samsung-time: Prepare for
> > multiplatform support
> > http://thread.gmane.org/gmane.linux.kernel.samsung-soc/16664
> >
> > 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 (4):
> >   ARM: common: vic: Parse interrupt and resume masks from device tree
> >   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
> 
> Any comments for this series?
> 
Basically, looks good to me but I need to check your samsung-time patches,
if any updates, let you know.

Thanks.

- Kukjin

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

end of thread, other threads:[~2013-03-25  1:08 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2013-03-09 20:29 [PATCH v4 0/4] Initial Device Tree support for S3C64xx Tomasz Figa
2013-03-09 20:29 ` [PATCH v4 1/4] ARM: common: vic: Parse interrupt and resume masks from device tree Tomasz Figa
2013-03-09 20:29 ` [PATCH v4 2/4] ARM: s3c64xx: Add board file for boot using Device Tree Tomasz Figa
2013-03-09 20:29 ` [PATCH v4 3/4] ARM: dts: Add basic dts include files for Samsung S3C64xx SoCs Tomasz Figa
2013-03-09 20:29 ` [PATCH v4 4/4] ARM: dts: Add dts file for S3C6410-based Mini6410 board Tomasz Figa
2013-03-23 12:28 ` [PATCH v4 0/4] Initial Device Tree support for S3C64xx Tomasz Figa
2013-03-25  1:08   ` Kukjin Kim

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).