devicetree.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v4] ARM: SPEAr600: Add device-tree support to SPEAr600 boards
@ 2012-03-16  9:30 Stefan Roese
       [not found] ` <1331890216-8361-1-git-send-email-sr-ynQEQJNshbs@public.gmane.org>
  0 siblings, 1 reply; 11+ messages in thread
From: Stefan Roese @ 2012-03-16  9:30 UTC (permalink / raw)
  To: linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r
  Cc: Viresh Kumar, devicetree-discuss-mnsaURCQ41sdnm+yROfE0A,
	spear-devel-nkJGhpqTU55BDgjK7y7TUQ

This patch adds a generic target for SPEAr600 board that can be
configured via the device-tree. Currently the following devices
are supported via the devicetree:

- VIC interrupts
- PL011 UART
- PL061 GPIO
- Synopsys DW I2C
- Synopsys DW ethernet

Other peripheral devices (e.g. SMI flash, FSMC NAND flash etc) will
follow in later patches.

Only the spear600-evb is currently supported. Other SPEAr600
based boards will follow later.

Since the current mainline SPEAr600 code only supports the SPEAr600
evaluation board, with nearly zero peripheral devices (only UART
and GPIO), it makes sense to switch over to DT based configuration
completely now. So this patch also removes all non-DT stuff, mainly
platform device data. The files spear600.c and spear600_evb.c are
removed completely.

Signed-off-by: Stefan Roese <sr-ynQEQJNshbs@public.gmane.org>
Cc: Viresh Kumar <viresh.kumar-qxv4g6HH51o@public.gmane.org>
Cc: Arnd Bergmann <arnd-r2nGTMty4D4@public.gmane.org>
Cc: Jean-Christophe PLAGNIOL-VILLARD <plagnioj-sclMFOaUSTBWk0Htik3J/w@public.gmane.org>
---
v4:
- Added memory node to all dts/dtsi files
- Reorganizes bus topology in the dtsi file, to match the
  real SoC layout

v3:
- Removed non-DT SPEAr600 board support completely
- Removed OF_DEV_AUXDATA and changed clkdev instead, since we
  don't support non-DT targets any more
- Changed gmac0 -> gmac etc for single instance devices in the
  dts
- Added max memory size to memory node (instead of 0)
- Dropped mac-address property
- Removed some headers from spear6xx.c

v2:
- Added DT support to spear6xx.c instead of creating board-dt.c
- Removed UART (PL011) and GPIO (PL061) platform data for
  devicetree board port. This works now via DT probing
- Added OF_DEV_AUXDATA for clock device name matching for some
  device drivers
- Removed sper600.c file completely
- Added DW I2C and ethernet nodes to the dts files
- Added other DT nodes (SMI, FSMC, ECHI, OHCI), currently disabled
  since the corresponding device drivers don't support DT probing
- Removed Linaro/FSL copyright notice from SPEAr DT files (copy-paste cruft)
- Many smaller modification to the dts/dtsi files
- Changed Documentation/devicetree/bindings/arm/spear.txt to match
  the changed bindings

 Documentation/devicetree/bindings/arm/spear.txt |    8 ++
 arch/arm/boot/dts/spear600-evb.dts              |   37 +++++
 arch/arm/boot/dts/spear600.dtsi                 |  170 +++++++++++++++++++++++
 arch/arm/mach-spear6xx/Kconfig                  |    7 +-
 arch/arm/mach-spear6xx/Makefile                 |    6 -
 arch/arm/mach-spear6xx/clock.c                  |   14 +-
 arch/arm/mach-spear6xx/spear600.c               |   25 ----
 arch/arm/mach-spear6xx/spear600_evb.c           |   54 -------
 arch/arm/mach-spear6xx/spear6xx.c               |  132 +++++-------------
 9 files changed, 262 insertions(+), 191 deletions(-)
 create mode 100644 Documentation/devicetree/bindings/arm/spear.txt
 create mode 100644 arch/arm/boot/dts/spear600-evb.dts
 create mode 100644 arch/arm/boot/dts/spear600.dtsi
 delete mode 100644 arch/arm/mach-spear6xx/spear600.c
 delete mode 100644 arch/arm/mach-spear6xx/spear600_evb.c

diff --git a/Documentation/devicetree/bindings/arm/spear.txt b/Documentation/devicetree/bindings/arm/spear.txt
new file mode 100644
index 0000000..f8e54f0
--- /dev/null
+++ b/Documentation/devicetree/bindings/arm/spear.txt
@@ -0,0 +1,8 @@
+ST SPEAr Platforms Device Tree Bindings
+---------------------------------------
+
+Boards with the ST SPEAr600 SoC shall have the following properties:
+
+Required root node property:
+
+compatible = "st,spear600";
diff --git a/arch/arm/boot/dts/spear600-evb.dts b/arch/arm/boot/dts/spear600-evb.dts
new file mode 100644
index 0000000..bf706b2
--- /dev/null
+++ b/arch/arm/boot/dts/spear600-evb.dts
@@ -0,0 +1,37 @@
+/*
+ * Copyright 2012 Stefan Roese <sr-ynQEQJNshbs@public.gmane.org>
+ *
+ * The code contained herein is licensed under the GNU General Public
+ * License. You may obtain a copy of the GNU General Public License
+ * Version 2 or later at the following locations:
+ *
+ * http://www.opensource.org/licenses/gpl-license.html
+ * http://www.gnu.org/copyleft/gpl.html
+ */
+
+/dts-v1/;
+/include/ "spear600.dtsi"
+
+/ {
+	model = "ST SPEAr600 Evaluation Board";
+	compatible = "st,spear600-evb", "st,spear600";
+	#address-cells = <1>;
+	#size-cells = <1>;
+
+	memory {
+		device_type = "memory";
+		reg = <0 0x10000000>;
+	};
+
+	ahb {
+		gmac: ethernet@e0800000 {
+			phy-mode = "gmii";
+		};
+
+		apb {
+			i2c@d0200000 {
+				clock-frequency = <400000>;
+			};
+		};
+	};
+};
diff --git a/arch/arm/boot/dts/spear600.dtsi b/arch/arm/boot/dts/spear600.dtsi
new file mode 100644
index 0000000..cf14762
--- /dev/null
+++ b/arch/arm/boot/dts/spear600.dtsi
@@ -0,0 +1,170 @@
+/*
+ * Copyright 2012 Stefan Roese <sr-ynQEQJNshbs@public.gmane.org>
+ *
+ * The code contained herein is licensed under the GNU General Public
+ * License. You may obtain a copy of the GNU General Public License
+ * Version 2 or later at the following locations:
+ *
+ * http://www.opensource.org/licenses/gpl-license.html
+ * http://www.gnu.org/copyleft/gpl.html
+ */
+
+/include/ "skeleton.dtsi"
+
+/ {
+	compatible = "st,spear600";
+
+	cpus {
+		cpu@0 {
+			compatible = "arm,arm926ejs";
+		};
+	};
+
+	memory {
+		device_type = "memory";
+		reg = <0 0x40000000>;
+	};
+
+	ahb {
+		#address-cells = <1>;
+		#size-cells = <1>;
+		compatible = "simple-bus";
+		ranges;
+
+		vic0: interrupt-controller@f1100000 {
+			compatible = "arm,pl190-vic";
+			interrupt-controller;
+			reg = <0xf1100000 0x1000>;
+			#interrupt-cells = <1>;
+		};
+
+		vic1: interrupt-controller@f1000000 {
+			compatible = "arm,pl190-vic";
+			interrupt-controller;
+			reg = <0xf1000000 0x1000>;
+			#interrupt-cells = <1>;
+		};
+
+		gmac: ethernet@e0800000 {
+			compatible = "st,spear600-gmac";
+			reg = <0xe0800000 0x8000>;
+			interrupt-parent = <&vic1>;
+			interrupts = <24 23>;
+			interrupt-names = "macirq", "eth_wake_irq";
+		};
+
+		fsmc: flash@d1800000 {
+			status = "disabled";
+			compatible = "st,spear600-fsmc-nand";
+			#address-cells = <1>;
+			#size-cells = <1>;
+			reg = <0xd1800000 0x1000	/* FSMC Register */
+			       0xd2000000 0x4000>;	/* NAND Base */
+			reg-names = "fsmc_regs", "nand_data";
+			st,ale-off = <0x20000>;
+			st,cle-off = <0x10000>;
+		};
+
+		smi: flash@fc000000 {
+			status = "disabled";
+			compatible = "st,spear600-smi";
+			#address-cells = <1>;
+			#size-cells = <1>;
+			reg = <0xfc000000 0x1000>;
+			interrupt-parent = <&vic1>;
+			interrupts = <12>;
+		};
+
+		ehci@e1800000 {
+			status = "disabled";
+			compatible = "st,spear600-ehci", "usb-ehci";
+			reg = <0xe1800000 0x1000>;
+			interrupt-parent = <&vic1>;
+			interrupts = <27>;
+		};
+
+		ehci@e2000000 {
+			status = "disabled";
+			compatible = "st,spear600-ehci", "usb-ehci";
+			reg = <0xe2000000 0x1000>;
+			interrupt-parent = <&vic1>;
+			interrupts = <29>;
+		};
+
+		ohci@e1900000 {
+			status = "disabled";
+			compatible = "st,spear600-ohci", "usb-ohci";
+			reg = <0xe1900000 0x1000>;
+			interrupt-parent = <&vic1>;
+			interrupts = <26>;
+		};
+
+		ohci@e2100000 {
+			status = "disabled";
+			compatible = "st,spear600-ohci", "usb-ohci";
+			reg = <0xe2100000 0x1000>;
+			interrupt-parent = <&vic1>;
+			interrupts = <28>;
+		};
+
+		apb {
+			#address-cells = <1>;
+			#size-cells = <1>;
+			compatible = "simple-bus";
+			ranges;
+
+			serial@d0000000 {
+				compatible = "arm,pl011", "arm,primecell";
+				reg = <0xd0000000 0x1000>;
+				interrupt-parent = <&vic0>;
+				interrupts = <24>;
+			};
+
+			serial@d0080000 {
+				compatible = "arm,pl011", "arm,primecell";
+				reg = <0xd0080000 0x1000>;
+				interrupt-parent = <&vic0>;
+				interrupts = <25>;
+			};
+
+			/* local/cpu GPIO */
+			gpio0: gpio@f0100000 {
+				#gpio-cells = <2>;
+				compatible = "arm,pl061", "arm,primecell";
+				gpio-controller;
+				reg = <0xf0100000 0x1000>;
+				interrupt-parent = <&vic0>;
+				interrupts = <18>;
+			};
+
+			/* basic GPIO */
+			gpio1: gpio@fc980000 {
+				#gpio-cells = <2>;
+				compatible = "arm,pl061", "arm,primecell";
+				gpio-controller;
+				reg = <0xfc980000 0x1000>;
+				interrupt-parent = <&vic1>;
+				interrupts = <19>;
+			};
+
+			/* appl GPIO */
+			gpio2: gpio@d8100000 {
+				#gpio-cells = <2>;
+				compatible = "arm,pl061", "arm,primecell";
+				gpio-controller;
+				reg = <0xd8100000 0x1000>;
+				interrupt-parent = <&vic1>;
+				interrupts = <4>;
+			};
+
+			i2c@d0200000 {
+				#address-cells = <1>;
+				#size-cells = <0>;
+				compatible = "snps,designware-i2c";
+				reg = <0xd0200000 0x1000>;
+				interrupt-parent = <&vic0>;
+				interrupts = <28>;
+			};
+		};
+	};
+};
diff --git a/arch/arm/mach-spear6xx/Kconfig b/arch/arm/mach-spear6xx/Kconfig
index ff4ae5b..fbe298b 100644
--- a/arch/arm/mach-spear6xx/Kconfig
+++ b/arch/arm/mach-spear6xx/Kconfig
@@ -5,11 +5,12 @@
 if ARCH_SPEAR6XX
 
 menu "SPEAr6xx Implementations"
-config BOARD_SPEAR600_EVB
-	bool "SPEAr600 Evaluation Board"
+config BOARD_SPEAR600_DT
+	bool "SPEAr600 generic board configured via device-tree"
 	select MACH_SPEAR600
+	select USE_OF
 	help
-	  Supports ST SPEAr600 Evaluation Board
+	  Supports ST SPEAr600 boards configured via the device-tree
 
 endmenu
 
diff --git a/arch/arm/mach-spear6xx/Makefile b/arch/arm/mach-spear6xx/Makefile
index cc1a4d8..76e5750 100644
--- a/arch/arm/mach-spear6xx/Makefile
+++ b/arch/arm/mach-spear6xx/Makefile
@@ -4,9 +4,3 @@
 
 # common files
 obj-y	+= clock.o spear6xx.o
-
-# spear600 specific files
-obj-$(CONFIG_MACH_SPEAR600) += spear600.o
-
-# spear600 boards files
-obj-$(CONFIG_BOARD_SPEAR600_EVB) += spear600_evb.o
diff --git a/arch/arm/mach-spear6xx/clock.c b/arch/arm/mach-spear6xx/clock.c
index ac70e0d..358f280 100644
--- a/arch/arm/mach-spear6xx/clock.c
+++ b/arch/arm/mach-spear6xx/clock.c
@@ -641,8 +641,8 @@ static struct clk_lookup spear_clk_lookups[] = {
 	{ .con_id = "gpt0_synth_clk",	.clk = &gpt0_synth_clk},
 	{ .con_id = "gpt2_synth_clk",	.clk = &gpt2_synth_clk},
 	{ .con_id = "gpt3_synth_clk",	.clk = &gpt3_synth_clk},
-	{ .dev_id = "uart0",		.clk = &uart0_clk},
-	{ .dev_id = "uart1",		.clk = &uart1_clk},
+	{ .dev_id = "d0000000.serial",	.clk = &uart0_clk},
+	{ .dev_id = "d0080000.serial",	.clk = &uart1_clk},
 	{ .dev_id = "firda",		.clk = &firda_clk},
 	{ .dev_id = "clcd",		.clk = &clcd_clk},
 	{ .dev_id = "gpt0",		.clk = &gpt0_clk},
@@ -655,20 +655,20 @@ static struct clk_lookup spear_clk_lookups[] = {
 	{ .con_id = "usbh.1_clk",	.clk = &usbh1_clk},
 	/* clock derived from ahb clk */
 	{ .con_id = "apb_clk",		.clk = &apb_clk},
-	{ .dev_id = "i2c_designware.0",	.clk = &i2c_clk},
+	{ .dev_id = "d0200000.i2c",	.clk = &i2c_clk},
 	{ .dev_id = "dma",		.clk = &dma_clk},
 	{ .dev_id = "jpeg",		.clk = &jpeg_clk},
 	{ .dev_id = "gmac",		.clk = &gmac_clk},
 	{ .dev_id = "smi",		.clk = &smi_clk},
-	{ .con_id = "fsmc",		.clk = &fsmc_clk},
+	{ .dev_id = "fsmc-nand",	.clk = &fsmc_clk},
 	/* clock derived from apb clk */
 	{ .dev_id = "adc",		.clk = &adc_clk},
 	{ .dev_id = "ssp-pl022.0",	.clk = &ssp0_clk},
 	{ .dev_id = "ssp-pl022.1",	.clk = &ssp1_clk},
 	{ .dev_id = "ssp-pl022.2",	.clk = &ssp2_clk},
-	{ .dev_id = "gpio0",		.clk = &gpio0_clk},
-	{ .dev_id = "gpio1",		.clk = &gpio1_clk},
-	{ .dev_id = "gpio2",		.clk = &gpio2_clk},
+	{ .dev_id = "f0100000.gpio",	.clk = &gpio0_clk},
+	{ .dev_id = "fc980000.gpio",	.clk = &gpio1_clk},
+	{ .dev_id = "d8100000.gpio",	.clk = &gpio2_clk},
 };
 
 void __init spear6xx_clk_init(void)
diff --git a/arch/arm/mach-spear6xx/spear600.c b/arch/arm/mach-spear6xx/spear600.c
deleted file mode 100644
index d0e6eea..0000000
--- a/arch/arm/mach-spear6xx/spear600.c
+++ /dev/null
@@ -1,25 +0,0 @@
-/*
- * arch/arm/mach-spear6xx/spear600.c
- *
- * SPEAr600 machine source file
- *
- * Copyright (C) 2009 ST Microelectronics
- * Rajeev Kumar<rajeev-dlh.kumar-qxv4g6HH51o@public.gmane.org>
- *
- * This file is licensed under the terms of the GNU General Public
- * License version 2. This program is licensed "as is" without any
- * warranty of any kind, whether express or implied.
- */
-
-#include <linux/ptrace.h>
-#include <asm/irq.h>
-#include <mach/generic.h>
-#include <mach/hardware.h>
-
-/* Add spear600 specific devices here */
-
-void __init spear600_init(void)
-{
-	/* call spear6xx family common init function */
-	spear6xx_init();
-}
diff --git a/arch/arm/mach-spear6xx/spear600_evb.c b/arch/arm/mach-spear6xx/spear600_evb.c
deleted file mode 100644
index c6e4254..0000000
--- a/arch/arm/mach-spear6xx/spear600_evb.c
+++ /dev/null
@@ -1,54 +0,0 @@
-/*
- * arch/arm/mach-spear6xx/spear600_evb.c
- *
- * SPEAr600 evaluation board source file
- *
- * Copyright (C) 2009 ST Microelectronics
- * Viresh Kumar<viresh.kumar-qxv4g6HH51o@public.gmane.org>
- *
- * This file is licensed under the terms of the GNU General Public
- * License version 2. This program is licensed "as is" without any
- * warranty of any kind, whether express or implied.
- */
-
-#include <asm/hardware/vic.h>
-#include <asm/mach/arch.h>
-#include <asm/mach-types.h>
-#include <mach/generic.h>
-#include <mach/hardware.h>
-
-static struct amba_device *amba_devs[] __initdata = {
-	&gpio_device[0],
-	&gpio_device[1],
-	&gpio_device[2],
-	&uart_device[0],
-	&uart_device[1],
-};
-
-static struct platform_device *plat_devs[] __initdata = {
-};
-
-static void __init spear600_evb_init(void)
-{
-	unsigned int i;
-
-	/* call spear600 machine init function */
-	spear600_init();
-
-	/* Add Platform Devices */
-	platform_add_devices(plat_devs, ARRAY_SIZE(plat_devs));
-
-	/* Add Amba Devices */
-	for (i = 0; i < ARRAY_SIZE(amba_devs); i++)
-		amba_device_register(amba_devs[i], &iomem_resource);
-}
-
-MACHINE_START(SPEAR600, "ST-SPEAR600-EVB")
-	.atag_offset	=	0x100,
-	.map_io		=	spear6xx_map_io,
-	.init_irq	=	spear6xx_init_irq,
-	.handle_irq	=	vic_handle_irq,
-	.timer		=	&spear6xx_timer,
-	.init_machine	=	spear600_evb_init,
-	.restart	=	spear_restart,
-MACHINE_END
diff --git a/arch/arm/mach-spear6xx/spear6xx.c b/arch/arm/mach-spear6xx/spear6xx.c
index e0f6628..2ed8b14 100644
--- a/arch/arm/mach-spear6xx/spear6xx.c
+++ b/arch/arm/mach-spear6xx/spear6xx.c
@@ -6,111 +6,21 @@
  * Copyright (C) 2009 ST Microelectronics
  * Rajeev Kumar<rajeev-dlh.kumar-qxv4g6HH51o@public.gmane.org>
  *
+ * Copyright 2012 Stefan Roese <sr-ynQEQJNshbs@public.gmane.org>
+ *
  * This file is licensed under the terms of the GNU General Public
  * License version 2. This program is licensed "as is" without any
  * warranty of any kind, whether express or implied.
  */
 
-#include <linux/types.h>
-#include <linux/amba/pl061.h>
-#include <linux/ptrace.h>
-#include <linux/io.h>
+#include <linux/of.h>
+#include <linux/of_address.h>
+#include <linux/of_irq.h>
+#include <linux/of_platform.h>
 #include <asm/hardware/vic.h>
-#include <asm/irq.h>
 #include <asm/mach/arch.h>
 #include <mach/generic.h>
 #include <mach/hardware.h>
-#include <mach/irqs.h>
-
-/* Add spear6xx machines common devices here */
-/* uart device registration */
-struct amba_device uart_device[] = {
-	{
-		.dev = {
-			.init_name = "uart0",
-		},
-		.res = {
-			.start = SPEAR6XX_ICM1_UART0_BASE,
-			.end = SPEAR6XX_ICM1_UART0_BASE + SZ_4K - 1,
-			.flags = IORESOURCE_MEM,
-		},
-		.irq = {IRQ_UART_0, NO_IRQ},
-	}, {
-		.dev = {
-			.init_name = "uart1",
-		},
-		.res = {
-			.start = SPEAR6XX_ICM1_UART1_BASE,
-			.end = SPEAR6XX_ICM1_UART1_BASE + SZ_4K - 1,
-			.flags = IORESOURCE_MEM,
-		},
-		.irq = {IRQ_UART_1, NO_IRQ},
-	}
-};
-
-/* gpio device registration */
-static struct pl061_platform_data gpio_plat_data[] = {
-	{
-		.gpio_base	= 0,
-		.irq_base	= SPEAR_GPIO0_INT_BASE,
-	}, {
-		.gpio_base	= 8,
-		.irq_base	= SPEAR_GPIO1_INT_BASE,
-	}, {
-		.gpio_base	= 16,
-		.irq_base	= SPEAR_GPIO2_INT_BASE,
-	},
-};
-
-struct amba_device gpio_device[] = {
-	{
-		.dev = {
-			.init_name = "gpio0",
-			.platform_data = &gpio_plat_data[0],
-		},
-		.res = {
-			.start = SPEAR6XX_CPU_GPIO_BASE,
-			.end = SPEAR6XX_CPU_GPIO_BASE + SZ_4K - 1,
-			.flags = IORESOURCE_MEM,
-		},
-		.irq = {IRQ_LOCAL_GPIO, NO_IRQ},
-	}, {
-		.dev = {
-			.init_name = "gpio1",
-			.platform_data = &gpio_plat_data[1],
-		},
-		.res = {
-			.start = SPEAR6XX_ICM3_GPIO_BASE,
-			.end = SPEAR6XX_ICM3_GPIO_BASE + SZ_4K - 1,
-			.flags = IORESOURCE_MEM,
-		},
-		.irq = {IRQ_BASIC_GPIO, NO_IRQ},
-	}, {
-		.dev = {
-			.init_name = "gpio2",
-			.platform_data = &gpio_plat_data[2],
-		},
-		.res = {
-			.start = SPEAR6XX_ICM2_GPIO_BASE,
-			.end = SPEAR6XX_ICM2_GPIO_BASE + SZ_4K - 1,
-			.flags = IORESOURCE_MEM,
-		},
-		.irq = {IRQ_APPL_GPIO, NO_IRQ},
-	}
-};
-
-/* This will add devices, and do machine specific tasks */
-void __init spear6xx_init(void)
-{
-	/* nothing to do for now */
-}
-
-/* This will initialize vic */
-void __init spear6xx_init_irq(void)
-{
-	vic_init((void __iomem *)VA_SPEAR6XX_CPU_VIC_PRI_BASE, 0, ~0, 0);
-	vic_init((void __iomem *)VA_SPEAR6XX_CPU_VIC_SEC_BASE, 32, ~0, 0);
-}
 
 /* Following will create static virtual/physical mappings */
 static struct map_desc spear6xx_io_desc[] __initdata = {
@@ -181,3 +91,33 @@ static void __init spear6xx_timer_init(void)
 struct sys_timer spear6xx_timer = {
 	.init = spear6xx_timer_init,
 };
+
+static void __init spear600_dt_init(void)
+{
+	of_platform_populate(NULL, of_default_bus_match_table, NULL, NULL);
+}
+
+static const char *spear600_dt_board_compat[] = {
+	"st,spear600",
+	NULL
+};
+
+static const struct of_device_id vic_of_match[] __initconst = {
+	{ .compatible = "arm,pl190-vic", .data = vic_of_init, },
+	{ /* Sentinel */ }
+};
+
+static void __init spear6xx_dt_init_irq(void)
+{
+	of_irq_init(vic_of_match);
+}
+
+DT_MACHINE_START(SPEAR600_DT, "ST SPEAr600 (Flattened Device Tree)")
+	.map_io		=	spear6xx_map_io,
+	.init_irq	=	spear6xx_dt_init_irq,
+	.handle_irq	=	vic_handle_irq,
+	.timer		=	&spear6xx_timer,
+	.init_machine	=	spear600_dt_init,
+	.restart	=	spear_restart,
+	.dt_compat	=	spear600_dt_board_compat,
+MACHINE_END
-- 
1.7.9.2

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

* Re: [PATCH v4] ARM: SPEAr600: Add device-tree support to SPEAr600 boards
       [not found] ` <1331890216-8361-1-git-send-email-sr-ynQEQJNshbs@public.gmane.org>
@ 2012-03-16  9:51   ` Viresh Kumar
  2012-03-16 11:51     ` Jean-Christophe PLAGNIOL-VILLARD
  2012-03-16 11:50   ` Jean-Christophe PLAGNIOL-VILLARD
  2012-03-16 12:14   ` Arnd Bergmann
  2 siblings, 1 reply; 11+ messages in thread
From: Viresh Kumar @ 2012-03-16  9:51 UTC (permalink / raw)
  To: Stefan Roese, Arnd Bergmann, Jean-Christophe PLAGNIOL-VILLARD
  Cc: devicetree-discuss-mnsaURCQ41sdnm+yROfE0A@public.gmane.org,
	spear-devel,
	linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org

On 3/16/2012 3:00 PM, Stefan Roese wrote:
> This patch adds a generic target for SPEAr600 board that can be
> configured via the device-tree. Currently the following devices
> are supported via the devicetree:
> 
> - VIC interrupts
> - PL011 UART
> - PL061 GPIO
> - Synopsys DW I2C
> - Synopsys DW ethernet
> 
> Signed-off-by: Stefan Roese <sr-ynQEQJNshbs@public.gmane.org>
> Cc: Viresh Kumar <viresh.kumar-qxv4g6HH51o@public.gmane.org>
> Cc: Arnd Bergmann <arnd-r2nGTMty4D4@public.gmane.org>
> Cc: Jean-Christophe PLAGNIOL-VILLARD <plagnioj-sclMFOaUSTBWk0Htik3J/w@public.gmane.org>

Acked-by: Viresh Kumar <viresh.kumar-qxv4g6HH51o@public.gmane.org>

I have one query (as part of my learning of DT) to all DT experts:

> 
> +                       /* local/cpu GPIO */
> +                       gpio0: gpio@f0100000 {
> +                               #gpio-cells = <2>;
> +                               compatible = "arm,pl061", "arm,primecell";
> +                               gpio-controller;
> +                               reg = <0xf0100000 0x1000>;
> +                               interrupt-parent = <&vic0>;
> +                               interrupts = <18>;
> +                       };
> +
> 

Can we add name property here:
				name = "gpio0"

So that we don't need to do below stuff.

> diff --git a/arch/arm/mach-spear6xx/clock.c b/arch/arm/mach-spear6xx/clock.c
> @@ -641,8 +641,8 @@ static struct clk_lookup spear_clk_lookups[] = {
> -       { .dev_id = "gpio0",            .clk = &gpio0_clk},
> -       { .dev_id = "gpio1",            .clk = &gpio1_clk},
> -       { .dev_id = "gpio2",            .clk = &gpio2_clk},
> +       { .dev_id = "f0100000.gpio",    .clk = &gpio0_clk},
> +       { .dev_id = "fc980000.gpio",    .clk = &gpio1_clk},

I can't find much dts files using this approach. Even i don't know
if setting name will be sufficient?

-- 
viresh

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

* Re: [PATCH v4] ARM: SPEAr600: Add device-tree support to SPEAr600 boards
       [not found] ` <1331890216-8361-1-git-send-email-sr-ynQEQJNshbs@public.gmane.org>
  2012-03-16  9:51   ` Viresh Kumar
@ 2012-03-16 11:50   ` Jean-Christophe PLAGNIOL-VILLARD
       [not found]     ` <20120316115022.GF7757-RQcB7r2h9QmfDR2tN2SG5Ni2O/JbrIOy@public.gmane.org>
  2012-03-16 12:14   ` Arnd Bergmann
  2 siblings, 1 reply; 11+ messages in thread
From: Jean-Christophe PLAGNIOL-VILLARD @ 2012-03-16 11:50 UTC (permalink / raw)
  To: Stefan Roese
  Cc: Viresh Kumar, devicetree-discuss-mnsaURCQ41sdnm+yROfE0A,
	spear-devel-nkJGhpqTU55BDgjK7y7TUQ,
	linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r

On 10:30 Fri 16 Mar     , Stefan Roese wrote:
> This patch adds a generic target for SPEAr600 board that can be
> configured via the device-tree. Currently the following devices
> are supported via the devicetree:
> 
> - VIC interrupts
> - PL011 UART
> - PL061 GPIO
> - Synopsys DW I2C
> - Synopsys DW ethernet
> 
> Other peripheral devices (e.g. SMI flash, FSMC NAND flash etc) will
> follow in later patches.
so drop USB, nand & co from the dtsi

this will be add later when the binding will documentated and Acked

> 
> Only the spear600-evb is currently supported. Other SPEAr600
> based boards will follow later.
> 
> Since the current mainline SPEAr600 code only supports the SPEAr600
> evaluation board, with nearly zero peripheral devices (only UART
> and GPIO), it makes sense to switch over to DT based configuration
> completely now. So this patch also removes all non-DT stuff, mainly
> platform device data. The files spear600.c and spear600_evb.c are
> removed completely.
> 
> Signed-off-by: Stefan Roese <sr-ynQEQJNshbs@public.gmane.org>
> Cc: Viresh Kumar <viresh.kumar-qxv4g6HH51o@public.gmane.org>
> Cc: Arnd Bergmann <arnd-r2nGTMty4D4@public.gmane.org>
> Cc: Jean-Christophe PLAGNIOL-VILLARD <plagnioj-sclMFOaUSTBWk0Htik3J/w@public.gmane.org>
> ---
> v4:
> - Added memory node to all dts/dtsi files
> - Reorganizes bus topology in the dtsi file, to match the
>   real SoC layout
> 
> v3:
> - Removed non-DT SPEAr600 board support completely
> - Removed OF_DEV_AUXDATA and changed clkdev instead, since we
>   don't support non-DT targets any more
> - Changed gmac0 -> gmac etc for single instance devices in the
>   dts
> - Added max memory size to memory node (instead of 0)
> - Dropped mac-address property
> - Removed some headers from spear6xx.c
> 
> v2:
> - Added DT support to spear6xx.c instead of creating board-dt.c
> - Removed UART (PL011) and GPIO (PL061) platform data for
>   devicetree board port. This works now via DT probing
> - Added OF_DEV_AUXDATA for clock device name matching for some
>   device drivers
> - Removed sper600.c file completely
> - Added DW I2C and ethernet nodes to the dts files
> - Added other DT nodes (SMI, FSMC, ECHI, OHCI), currently disabled
>   since the corresponding device drivers don't support DT probing
> - Removed Linaro/FSL copyright notice from SPEAr DT files (copy-paste cruft)
> - Many smaller modification to the dts/dtsi files
> - Changed Documentation/devicetree/bindings/arm/spear.txt to match
>   the changed bindings
> 
>  Documentation/devicetree/bindings/arm/spear.txt |    8 ++
>  arch/arm/boot/dts/spear600-evb.dts              |   37 +++++
>  arch/arm/boot/dts/spear600.dtsi                 |  170 +++++++++++++++++++++++
>  arch/arm/mach-spear6xx/Kconfig                  |    7 +-
>  arch/arm/mach-spear6xx/Makefile                 |    6 -
>  arch/arm/mach-spear6xx/clock.c                  |   14 +-
>  arch/arm/mach-spear6xx/spear600.c               |   25 ----
>  arch/arm/mach-spear6xx/spear600_evb.c           |   54 -------
>  arch/arm/mach-spear6xx/spear6xx.c               |  132 +++++-------------
>  9 files changed, 262 insertions(+), 191 deletions(-)
>  create mode 100644 Documentation/devicetree/bindings/arm/spear.txt
>  create mode 100644 arch/arm/boot/dts/spear600-evb.dts
>  create mode 100644 arch/arm/boot/dts/spear600.dtsi
>  delete mode 100644 arch/arm/mach-spear6xx/spear600.c
>  delete mode 100644 arch/arm/mach-spear6xx/spear600_evb.c
> 
> diff --git a/Documentation/devicetree/bindings/arm/spear.txt b/Documentation/devicetree/bindings/arm/spear.txt
> new file mode 100644
> index 0000000..f8e54f0
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/arm/spear.txt
> @@ -0,0 +1,8 @@
> +ST SPEAr Platforms Device Tree Bindings
> +---------------------------------------
> +
> +Boards with the ST SPEAr600 SoC shall have the following properties:
> +
> +Required root node property:
> +
> +compatible = "st,spear600";
> diff --git a/arch/arm/boot/dts/spear600-evb.dts b/arch/arm/boot/dts/spear600-evb.dts
> new file mode 100644
> index 0000000..bf706b2
> --- /dev/null
> +++ b/arch/arm/boot/dts/spear600-evb.dts
> @@ -0,0 +1,37 @@
> +/*
> + * Copyright 2012 Stefan Roese <sr-ynQEQJNshbs@public.gmane.org>
> + *
> + * The code contained herein is licensed under the GNU General Public
> + * License. You may obtain a copy of the GNU General Public License
> + * Version 2 or later at the following locations:
> + *
> + * http://www.opensource.org/licenses/gpl-license.html
> + * http://www.gnu.org/copyleft/gpl.html
> + */
> +
> +/dts-v1/;
> +/include/ "spear600.dtsi"
> +
> +/ {
> +	model = "ST SPEAr600 Evaluation Board";
> +	compatible = "st,spear600-evb", "st,spear600";
> +	#address-cells = <1>;
> +	#size-cells = <1>;
> +
> +	memory {
> +		device_type = "memory";
> +		reg = <0 0x10000000>;
> +	};
> +
> +	ahb {
> +		gmac: ethernet@e0800000 {
> +			phy-mode = "gmii";
> +		};
> +
> +		apb {
> +			i2c@d0200000 {
> +				clock-frequency = <400000>;

disable everything not core is good in the dtsi
so board enable what they need and do not get surprised whe updating the dtsi

but you need to consistant


> +			};
> +		};
> +	};
> +};
> diff --git a/arch/arm/boot/dts/spear600.dtsi b/arch/arm/boot/dts/spear600.dtsi
> new file mode 100644
> index 0000000..cf14762
> --- /dev/null
> +++ b/arch/arm/boot/dts/spear600.dtsi
> @@ -0,0 +1,170 @@
> +/*
> + * Copyright 2012 Stefan Roese <sr-ynQEQJNshbs@public.gmane.org>
> + *
> + * The code contained herein is licensed under the GNU General Public
> + * License. You may obtain a copy of the GNU General Public License
> + * Version 2 or later at the following locations:
> + *
> + * http://www.opensource.org/licenses/gpl-license.html
> + * http://www.gnu.org/copyleft/gpl.html
> + */
> +
> +/include/ "skeleton.dtsi"
> +
> +/ {
> +	compatible = "st,spear600";
> +
> +	cpus {
> +		cpu@0 {
> +			compatible = "arm,arm926ejs";
> +		};
> +	};
> +
> +	memory {
> +		device_type = "memory";
> +		reg = <0 0x40000000>;
> +	};
> +
> +	ahb {
> +		#address-cells = <1>;
> +		#size-cells = <1>;
> +		compatible = "simple-bus";
> +		ranges;
> +
> +		vic0: interrupt-controller@f1100000 {
> +			compatible = "arm,pl190-vic";
> +			interrupt-controller;
> +			reg = <0xf1100000 0x1000>;
> +			#interrupt-cells = <1>;
> +		};
> +
> +		vic1: interrupt-controller@f1000000 {
> +			compatible = "arm,pl190-vic";
> +			interrupt-controller;
> +			reg = <0xf1000000 0x1000>;
> +			#interrupt-cells = <1>;
> +		};
> +
> +		gmac: ethernet@e0800000 {
> +			compatible = "st,spear600-gmac";
> +			reg = <0xe0800000 0x8000>;
> +			interrupt-parent = <&vic1>;
> +			interrupts = <24 23>;
> +			interrupt-names = "macirq", "eth_wake_irq";
> +		};
> +
> +		fsmc: flash@d1800000 {
> +			status = "disabled";
> +			compatible = "st,spear600-fsmc-nand";
> +			#address-cells = <1>;
> +			#size-cells = <1>;
> +			reg = <0xd1800000 0x1000	/* FSMC Register */
> +			       0xd2000000 0x4000>;	/* NAND Base */
> +			reg-names = "fsmc_regs", "nand_data";
> +			st,ale-off = <0x20000>;
> +			st,cle-off = <0x10000>;
> +		};
> +
> +		smi: flash@fc000000 {
> +			status = "disabled";
> +			compatible = "st,spear600-smi";
> +			#address-cells = <1>;
> +			#size-cells = <1>;
> +			reg = <0xfc000000 0x1000>;
> +			interrupt-parent = <&vic1>;
> +			interrupts = <12>;
> +		};
> +
> +		ehci@e1800000 {
> +			status = "disabled";
> +			compatible = "st,spear600-ehci", "usb-ehci";
> +			reg = <0xe1800000 0x1000>;
> +			interrupt-parent = <&vic1>;
> +			interrupts = <27>;
> +		};
> +
> +		ehci@e2000000 {
> +			status = "disabled";
> +			compatible = "st,spear600-ehci", "usb-ehci";
> +			reg = <0xe2000000 0x1000>;
> +			interrupt-parent = <&vic1>;
> +			interrupts = <29>;
> +		};
> +
> +		ohci@e1900000 {
> +			status = "disabled";
> +			compatible = "st,spear600-ohci", "usb-ohci";
> +			reg = <0xe1900000 0x1000>;
> +			interrupt-parent = <&vic1>;
> +			interrupts = <26>;
> +		};
> +
> +		ohci@e2100000 {
> +			status = "disabled";
> +			compatible = "st,spear600-ohci", "usb-ohci";
> +			reg = <0xe2100000 0x1000>;
> +			interrupt-parent = <&vic1>;
> +			interrupts = <28>;
> +		};
> +
> +		apb {
> +			#address-cells = <1>;
> +			#size-cells = <1>;
> +			compatible = "simple-bus";
> +			ranges;
> +
> +			serial@d0000000 {
> +				compatible = "arm,pl011", "arm,primecell";
> +				reg = <0xd0000000 0x1000>;
> +				interrupt-parent = <&vic0>;
> +				interrupts = <24>;
> +			};
> +
> +			serial@d0080000 {
> +				compatible = "arm,pl011", "arm,primecell";
> +				reg = <0xd0080000 0x1000>;
> +				interrupt-parent = <&vic0>;
> +				interrupts = <25>;
> +			};
> +
> +			/* local/cpu GPIO */
> +			gpio0: gpio@f0100000 {
> +				#gpio-cells = <2>;
> +				compatible = "arm,pl061", "arm,primecell";
> +				gpio-controller;
> +				reg = <0xf0100000 0x1000>;
> +				interrupt-parent = <&vic0>;
> +				interrupts = <18>;
> +			};
> +
> +			/* basic GPIO */
> +			gpio1: gpio@fc980000 {
on ST SoC the gpio are usally called pio so pio0
> +				#gpio-cells = <2>;
> +				compatible = "arm,pl061", "arm,primecell";
> +				gpio-controller;
> +				reg = <0xfc980000 0x1000>;
> +				interrupt-parent = <&vic1>;
> +				interrupts = <19>;
> +			};
> +
> +			/* appl GPIO */
> +			gpio2: gpio@d8100000 {
> +				#gpio-cells = <2>;
> +				compatible = "arm,pl061", "arm,primecell";
> +				gpio-controller;
> +				reg = <0xd8100000 0x1000>;
> +				interrupt-parent = <&vic1>;
> +				interrupts = <4>;
> +			};
> +
> +			i2c@d0200000 {
> +				#address-cells = <1>;
> +				#size-cells = <0>;
> +				compatible = "snps,designware-i2c";
> +				reg = <0xd0200000 0x1000>;
> +				interrupt-parent = <&vic0>;
> +				interrupts = <28>;
> +			};
> +		};
> +	};
> +};
> diff --git a/arch/arm/mach-spear6xx/Kconfig b/arch/arm/mach-spear6xx/Kconfig
> index ff4ae5b..fbe298b 100644
> --- a/arch/arm/mach-spear6xx/Kconfig
> +++ b/arch/arm/mach-spear6xx/Kconfig
> @@ -5,11 +5,12 @@
>  if ARCH_SPEAR6XX
>  
>  menu "SPEAr6xx Implementations"
> -config BOARD_SPEAR600_EVB
> -	bool "SPEAr600 Evaluation Board"
> +config BOARD_SPEAR600_DT
> +	bool "SPEAr600 generic board configured via device-tree"
>  	select MACH_SPEAR600
> +	select USE_OF
>  	help
> -	  Supports ST SPEAr600 Evaluation Board
> +	  Supports ST SPEAr600 boards configured via the device-tree
>  
>  endmenu
>  
> diff --git a/arch/arm/mach-spear6xx/Makefile b/arch/arm/mach-spear6xx/Makefile
> index cc1a4d8..76e5750 100644
> --- a/arch/arm/mach-spear6xx/Makefile
> +++ b/arch/arm/mach-spear6xx/Makefile
> @@ -4,9 +4,3 @@
>  
>  # common files
>  obj-y	+= clock.o spear6xx.o
> -
> -# spear600 specific files
> -obj-$(CONFIG_MACH_SPEAR600) += spear600.o
> -
> -# spear600 boards files
> -obj-$(CONFIG_BOARD_SPEAR600_EVB) += spear600_evb.o
> diff --git a/arch/arm/mach-spear6xx/clock.c b/arch/arm/mach-spear6xx/clock.c
> index ac70e0d..358f280 100644
> --- a/arch/arm/mach-spear6xx/clock.c
> +++ b/arch/arm/mach-spear6xx/clock.c
> @@ -641,8 +641,8 @@ static struct clk_lookup spear_clk_lookups[] = {
>  	{ .con_id = "gpt0_synth_clk",	.clk = &gpt0_synth_clk},
>  	{ .con_id = "gpt2_synth_clk",	.clk = &gpt2_synth_clk},
>  	{ .con_id = "gpt3_synth_clk",	.clk = &gpt3_synth_clk},
> -	{ .dev_id = "uart0",		.clk = &uart0_clk},
> -	{ .dev_id = "uart1",		.clk = &uart1_clk},
> +	{ .dev_id = "d0000000.serial",	.clk = &uart0_clk},
> +	{ .dev_id = "d0080000.serial",	.clk = &uart1_clk},
switch to the macro CLK_.. will be good but can be done later


otherwise look good

Best Regards,
J.

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

* Re: [PATCH v4] ARM: SPEAr600: Add device-tree support to SPEAr600 boards
  2012-03-16  9:51   ` Viresh Kumar
@ 2012-03-16 11:51     ` Jean-Christophe PLAGNIOL-VILLARD
  0 siblings, 0 replies; 11+ messages in thread
From: Jean-Christophe PLAGNIOL-VILLARD @ 2012-03-16 11:51 UTC (permalink / raw)
  To: Viresh Kumar
  Cc: spear-devel, Stefan Roese, devicetree-discuss@ozlabs.org,
	linux-arm-kernel@lists.infradead.org, Arnd Bergmann

On 15:21 Fri 16 Mar     , Viresh Kumar wrote:
> On 3/16/2012 3:00 PM, Stefan Roese wrote:
> > This patch adds a generic target for SPEAr600 board that can be
> > configured via the device-tree. Currently the following devices
> > are supported via the devicetree:
> > 
> > - VIC interrupts
> > - PL011 UART
> > - PL061 GPIO
> > - Synopsys DW I2C
> > - Synopsys DW ethernet
> > 
> > Signed-off-by: Stefan Roese <sr@denx.de>
> > Cc: Viresh Kumar <viresh.kumar@st.com>
> > Cc: Arnd Bergmann <arnd@arndb.de>
> > Cc: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
> 
> Acked-by: Viresh Kumar <viresh.kumar@st.com>
> 
> I have one query (as part of my learning of DT) to all DT experts:
> 
> > 
> > +                       /* local/cpu GPIO */
> > +                       gpio0: gpio@f0100000 {
> > +                               #gpio-cells = <2>;
> > +                               compatible = "arm,pl061", "arm,primecell";
> > +                               gpio-controller;
> > +                               reg = <0xf0100000 0x1000>;
> > +                               interrupt-parent = <&vic0>;
> > +                               interrupts = <18>;
> > +                       };
> > +
> > 
> 
> Can we add name property here:
> 				name = "gpio0"
> 
> So that we don't need to do below stuff.
no the nae of the device is f0100000.gpio"

so what do stefan is right

Best Regards,
J.

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

* Re: [PATCH v4] ARM: SPEAr600: Add device-tree support to SPEAr600 boards
       [not found]     ` <20120316115022.GF7757-RQcB7r2h9QmfDR2tN2SG5Ni2O/JbrIOy@public.gmane.org>
@ 2012-03-16 12:09       ` Arnd Bergmann
       [not found]         ` <201203161209.18292.arnd-r2nGTMty4D4@public.gmane.org>
  2012-03-16 12:20       ` Stefan Roese
  1 sibling, 1 reply; 11+ messages in thread
From: Arnd Bergmann @ 2012-03-16 12:09 UTC (permalink / raw)
  To: Jean-Christophe PLAGNIOL-VILLARD
  Cc: Viresh Kumar, Stefan Roese,
	devicetree-discuss-mnsaURCQ41sdnm+yROfE0A,
	spear-devel-nkJGhpqTU55BDgjK7y7TUQ,
	linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r

On Friday 16 March 2012, Jean-Christophe PLAGNIOL-VILLARD wrote:
> 
> On 10:30 Fri 16 Mar     , Stefan Roese wrote:
> > This patch adds a generic target for SPEAr600 board that can be
> > configured via the device-tree. Currently the following devices
> > are supported via the devicetree:
> > 
> > - VIC interrupts
> > - PL011 UART
> > - PL061 GPIO
> > - Synopsys DW I2C
> > - Synopsys DW ethernet
> > 
> > Other peripheral devices (e.g. SMI flash, FSMC NAND flash etc) will
> > follow in later patches.
> so drop USB, nand & co from the dtsi
> 
> this will be add later when the binding will documentated and Acked
> 

I actually like to see the devices in there, and it already helped
figure out that there are two buses instead of just one. Maybe we
can agree on putting them in the file but commenting them out using
/* */ with an added notice that they will get enabled once we have
bindings?

	Arnd

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

* Re: [PATCH v4] ARM: SPEAr600: Add device-tree support to SPEAr600 boards
       [not found] ` <1331890216-8361-1-git-send-email-sr-ynQEQJNshbs@public.gmane.org>
  2012-03-16  9:51   ` Viresh Kumar
  2012-03-16 11:50   ` Jean-Christophe PLAGNIOL-VILLARD
@ 2012-03-16 12:14   ` Arnd Bergmann
       [not found]     ` <201203161214.35929.arnd-r2nGTMty4D4@public.gmane.org>
  2 siblings, 1 reply; 11+ messages in thread
From: Arnd Bergmann @ 2012-03-16 12:14 UTC (permalink / raw)
  To: Stefan Roese
  Cc: Viresh Kumar, devicetree-discuss-mnsaURCQ41sdnm+yROfE0A,
	spear-devel-nkJGhpqTU55BDgjK7y7TUQ,
	linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r

On Friday 16 March 2012, Stefan Roese wrote:

> v4:
> - Added memory node to all dts/dtsi files
> - Reorganizes bus topology in the dtsi file, to match the
>   real SoC layout

Looks good.

> +
> +	ahb {
> +		#address-cells = <1>;
> +		#size-cells = <1>;
> +		compatible = "simple-bus";
> +		ranges;
> +
> +		vic0: interrupt-controller@f1100000 {
> +			compatible = "arm,pl190-vic";
> +			interrupt-controller;
> +			reg = <0xf1100000 0x1000>;
> +			#interrupt-cells = <1>;
> +		};
> +
> ...
> +		apb {
> +			#address-cells = <1>;
> +			#size-cells = <1>;
> +			compatible = "simple-bus";
> +			ranges;
> +
> +			serial@d0000000 {
> +				compatible = "arm,pl011", "arm,primecell";
> +				reg = <0xd0000000 0x1000>;
> +				interrupt-parent = <&vic0>;
> +				interrupts = <24>;
> +			};
> ...
> +		};
> +	};
> +};

I would prefer to see non-empty ranges properties here. I expected the
buses to be contiguous address ranges per bus, but apparently that
is not the case -- you have 0xd... and 0xf... on both of them.

The simplest ranges property would be to have in the ahb node:

	ranges = <0xd0000000 0xd0000000 0x30000000>;

Which just means that the bus is limited to those addresses (if that is
indeed the case -- I don't know much about ahb and apb).

	Arnd

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

* Re: [PATCH v4] ARM: SPEAr600: Add device-tree support to SPEAr600 boards
       [not found]     ` <20120316115022.GF7757-RQcB7r2h9QmfDR2tN2SG5Ni2O/JbrIOy@public.gmane.org>
  2012-03-16 12:09       ` Arnd Bergmann
@ 2012-03-16 12:20       ` Stefan Roese
  1 sibling, 0 replies; 11+ messages in thread
From: Stefan Roese @ 2012-03-16 12:20 UTC (permalink / raw)
  To: Jean-Christophe PLAGNIOL-VILLARD
  Cc: Viresh Kumar, devicetree-discuss-mnsaURCQ41sdnm+yROfE0A,
	spear-devel-nkJGhpqTU55BDgjK7y7TUQ,
	linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r

On Friday 16 March 2012 12:50:22 Jean-Christophe PLAGNIOL-VILLARD wrote:
> On 10:30 Fri 16 Mar     , Stefan Roese wrote:
> > This patch adds a generic target for SPEAr600 board that can be
> > configured via the device-tree. Currently the following devices
> > are supported via the devicetree:
> > 
> > - VIC interrupts
> > - PL011 UART
> > - PL061 GPIO
> > - Synopsys DW I2C
> > - Synopsys DW ethernet
> > 
> > Other peripheral devices (e.g. SMI flash, FSMC NAND flash etc) will
> > follow in later patches.
> 
> so drop USB, nand & co from the dtsi
> 
> this will be add later when the binding will documentated and Acked

Okay. As I described in an earlier mail, I included those devices upon Arnd's 
request. But I'll drop them for now in a new patch version.
 
> > Only the spear600-evb is currently supported. Other SPEAr600
> > based boards will follow later.
> > 
> > Since the current mainline SPEAr600 code only supports the SPEAr600
> > evaluation board, with nearly zero peripheral devices (only UART
> > and GPIO), it makes sense to switch over to DT based configuration
> > completely now. So this patch also removes all non-DT stuff, mainly
> > platform device data. The files spear600.c and spear600_evb.c are
> > removed completely.
> > 
> > Signed-off-by: Stefan Roese <sr-ynQEQJNshbs@public.gmane.org>
> > Cc: Viresh Kumar <viresh.kumar-qxv4g6HH51o@public.gmane.org>
> > Cc: Arnd Bergmann <arnd-r2nGTMty4D4@public.gmane.org>
> > Cc: Jean-Christophe PLAGNIOL-VILLARD <plagnioj-sclMFOaUSTBWk0Htik3J/w@public.gmane.org>
> > ---
> > v4:
> > - Added memory node to all dts/dtsi files
> > - Reorganizes bus topology in the dtsi file, to match the
> > 
> >   real SoC layout
> > 
> > v3:
> > - Removed non-DT SPEAr600 board support completely
> > - Removed OF_DEV_AUXDATA and changed clkdev instead, since we
> > 
> >   don't support non-DT targets any more
> > 
> > - Changed gmac0 -> gmac etc for single instance devices in the
> > 
> >   dts
> > 
> > - Added max memory size to memory node (instead of 0)
> > - Dropped mac-address property
> > - Removed some headers from spear6xx.c
> > 
> > v2:
> > - Added DT support to spear6xx.c instead of creating board-dt.c
> > - Removed UART (PL011) and GPIO (PL061) platform data for
> > 
> >   devicetree board port. This works now via DT probing
> > 
> > - Added OF_DEV_AUXDATA for clock device name matching for some
> > 
> >   device drivers
> > 
> > - Removed sper600.c file completely
> > - Added DW I2C and ethernet nodes to the dts files
> > - Added other DT nodes (SMI, FSMC, ECHI, OHCI), currently disabled
> > 
> >   since the corresponding device drivers don't support DT probing
> > 
> > - Removed Linaro/FSL copyright notice from SPEAr DT files (copy-paste
> > cruft) - Many smaller modification to the dts/dtsi files
> > - Changed Documentation/devicetree/bindings/arm/spear.txt to match
> > 
> >   the changed bindings
> >  
> >  Documentation/devicetree/bindings/arm/spear.txt |    8 ++
> >  arch/arm/boot/dts/spear600-evb.dts              |   37 +++++
> >  arch/arm/boot/dts/spear600.dtsi                 |  170
> >  +++++++++++++++++++++++ arch/arm/mach-spear6xx/Kconfig                 
> >  |    7 +-
> >  arch/arm/mach-spear6xx/Makefile                 |    6 -
> >  arch/arm/mach-spear6xx/clock.c                  |   14 +-
> >  arch/arm/mach-spear6xx/spear600.c               |   25 ----
> >  arch/arm/mach-spear6xx/spear600_evb.c           |   54 -------
> >  arch/arm/mach-spear6xx/spear6xx.c               |  132
> >  +++++------------- 9 files changed, 262 insertions(+), 191 deletions(-)
> >  create mode 100644 Documentation/devicetree/bindings/arm/spear.txt
> >  create mode 100644 arch/arm/boot/dts/spear600-evb.dts
> >  create mode 100644 arch/arm/boot/dts/spear600.dtsi
> >  delete mode 100644 arch/arm/mach-spear6xx/spear600.c
> >  delete mode 100644 arch/arm/mach-spear6xx/spear600_evb.c
> > 
> > diff --git a/Documentation/devicetree/bindings/arm/spear.txt
> > b/Documentation/devicetree/bindings/arm/spear.txt new file mode 100644
> > index 0000000..f8e54f0
> > --- /dev/null
> > +++ b/Documentation/devicetree/bindings/arm/spear.txt
> > @@ -0,0 +1,8 @@
> > +ST SPEAr Platforms Device Tree Bindings
> > +---------------------------------------
> > +
> > +Boards with the ST SPEAr600 SoC shall have the following properties:
> > +
> > +Required root node property:
> > +
> > +compatible = "st,spear600";
> > diff --git a/arch/arm/boot/dts/spear600-evb.dts
> > b/arch/arm/boot/dts/spear600-evb.dts new file mode 100644
> > index 0000000..bf706b2
> > --- /dev/null
> > +++ b/arch/arm/boot/dts/spear600-evb.dts
> > @@ -0,0 +1,37 @@
> > +/*
> > + * Copyright 2012 Stefan Roese <sr-ynQEQJNshbs@public.gmane.org>
> > + *
> > + * The code contained herein is licensed under the GNU General Public
> > + * License. You may obtain a copy of the GNU General Public License
> > + * Version 2 or later at the following locations:
> > + *
> > + * http://www.opensource.org/licenses/gpl-license.html
> > + * http://www.gnu.org/copyleft/gpl.html
> > + */
> > +
> > +/dts-v1/;
> > +/include/ "spear600.dtsi"
> > +
> > +/ {
> > +	model = "ST SPEAr600 Evaluation Board";
> > +	compatible = "st,spear600-evb", "st,spear600";
> > +	#address-cells = <1>;
> > +	#size-cells = <1>;
> > +
> > +	memory {
> > +		device_type = "memory";
> > +		reg = <0 0x10000000>;
> > +	};
> > +
> > +	ahb {
> > +		gmac: ethernet@e0800000 {
> > +			phy-mode = "gmii";
> > +		};
> > +
> > +		apb {
> > +			i2c@d0200000 {
> > +				clock-frequency = <400000>;
> 
> disable everything not core is good in the dtsi
> so board enable what they need and do not get surprised whe updating the
> dtsi
> 
> but you need to consistant

Let me check, if I understand you correctly. I should disable all peripheral 
devices in the *.dtsi file?  All devices? Also interrupt controller? Is this 
common practice? I don't see it in other dtsi file (e.g. omap4/tegra).

> > +			};
> > +		};
> > +	};
> > +};
> > diff --git a/arch/arm/boot/dts/spear600.dtsi
> > b/arch/arm/boot/dts/spear600.dtsi new file mode 100644
> > index 0000000..cf14762
> > --- /dev/null
> > +++ b/arch/arm/boot/dts/spear600.dtsi
> > @@ -0,0 +1,170 @@
> > +/*
> > + * Copyright 2012 Stefan Roese <sr-ynQEQJNshbs@public.gmane.org>
> > + *
> > + * The code contained herein is licensed under the GNU General Public
> > + * License. You may obtain a copy of the GNU General Public License
> > + * Version 2 or later at the following locations:
> > + *
> > + * http://www.opensource.org/licenses/gpl-license.html
> > + * http://www.gnu.org/copyleft/gpl.html
> > + */
> > +
> > +/include/ "skeleton.dtsi"
> > +
> > +/ {
> > +	compatible = "st,spear600";
> > +
> > +	cpus {
> > +		cpu@0 {
> > +			compatible = "arm,arm926ejs";
> > +		};
> > +	};
> > +
> > +	memory {
> > +		device_type = "memory";
> > +		reg = <0 0x40000000>;
> > +	};
> > +
> > +	ahb {
> > +		#address-cells = <1>;
> > +		#size-cells = <1>;
> > +		compatible = "simple-bus";
> > +		ranges;
> > +
> > +		vic0: interrupt-controller@f1100000 {
> > +			compatible = "arm,pl190-vic";
> > +			interrupt-controller;
> > +			reg = <0xf1100000 0x1000>;
> > +			#interrupt-cells = <1>;
> > +		};
> > +
> > +		vic1: interrupt-controller@f1000000 {
> > +			compatible = "arm,pl190-vic";
> > +			interrupt-controller;
> > +			reg = <0xf1000000 0x1000>;
> > +			#interrupt-cells = <1>;
> > +		};
> > +
> > +		gmac: ethernet@e0800000 {
> > +			compatible = "st,spear600-gmac";
> > +			reg = <0xe0800000 0x8000>;
> > +			interrupt-parent = <&vic1>;
> > +			interrupts = <24 23>;
> > +			interrupt-names = "macirq", "eth_wake_irq";
> > +		};
> > +
> > +		fsmc: flash@d1800000 {
> > +			status = "disabled";
> > +			compatible = "st,spear600-fsmc-nand";
> > +			#address-cells = <1>;
> > +			#size-cells = <1>;
> > +			reg = <0xd1800000 0x1000	/* FSMC Register */
> > +			       0xd2000000 0x4000>;	/* NAND Base */
> > +			reg-names = "fsmc_regs", "nand_data";
> > +			st,ale-off = <0x20000>;
> > +			st,cle-off = <0x10000>;
> > +		};
> > +
> > +		smi: flash@fc000000 {
> > +			status = "disabled";
> > +			compatible = "st,spear600-smi";
> > +			#address-cells = <1>;
> > +			#size-cells = <1>;
> > +			reg = <0xfc000000 0x1000>;
> > +			interrupt-parent = <&vic1>;
> > +			interrupts = <12>;
> > +		};
> > +
> > +		ehci@e1800000 {
> > +			status = "disabled";
> > +			compatible = "st,spear600-ehci", "usb-ehci";
> > +			reg = <0xe1800000 0x1000>;
> > +			interrupt-parent = <&vic1>;
> > +			interrupts = <27>;
> > +		};
> > +
> > +		ehci@e2000000 {
> > +			status = "disabled";
> > +			compatible = "st,spear600-ehci", "usb-ehci";
> > +			reg = <0xe2000000 0x1000>;
> > +			interrupt-parent = <&vic1>;
> > +			interrupts = <29>;
> > +		};
> > +
> > +		ohci@e1900000 {
> > +			status = "disabled";
> > +			compatible = "st,spear600-ohci", "usb-ohci";
> > +			reg = <0xe1900000 0x1000>;
> > +			interrupt-parent = <&vic1>;
> > +			interrupts = <26>;
> > +		};
> > +
> > +		ohci@e2100000 {
> > +			status = "disabled";
> > +			compatible = "st,spear600-ohci", "usb-ohci";
> > +			reg = <0xe2100000 0x1000>;
> > +			interrupt-parent = <&vic1>;
> > +			interrupts = <28>;
> > +		};
> > +
> > +		apb {
> > +			#address-cells = <1>;
> > +			#size-cells = <1>;
> > +			compatible = "simple-bus";
> > +			ranges;
> > +
> > +			serial@d0000000 {
> > +				compatible = "arm,pl011", "arm,primecell";
> > +				reg = <0xd0000000 0x1000>;
> > +				interrupt-parent = <&vic0>;
> > +				interrupts = <24>;
> > +			};
> > +
> > +			serial@d0080000 {
> > +				compatible = "arm,pl011", "arm,primecell";
> > +				reg = <0xd0080000 0x1000>;
> > +				interrupt-parent = <&vic0>;
> > +				interrupts = <25>;
> > +			};
> > +
> > +			/* local/cpu GPIO */
> > +			gpio0: gpio@f0100000 {
> > +				#gpio-cells = <2>;
> > +				compatible = "arm,pl061", "arm,primecell";
> > +				gpio-controller;
> > +				reg = <0xf0100000 0x1000>;
> > +				interrupt-parent = <&vic0>;
> > +				interrupts = <18>;
> > +			};
> > +
> > +			/* basic GPIO */
> > +			gpio1: gpio@fc980000 {
> 
> on ST SoC the gpio are usally called pio so pio0

Not on SPEAr600 as far as I can tell.
 
> > +				#gpio-cells = <2>;
> > +				compatible = "arm,pl061", "arm,primecell";
> > +				gpio-controller;
> > +				reg = <0xfc980000 0x1000>;
> > +				interrupt-parent = <&vic1>;
> > +				interrupts = <19>;
> > +			};
> > +
> > +			/* appl GPIO */
> > +			gpio2: gpio@d8100000 {
> > +				#gpio-cells = <2>;
> > +				compatible = "arm,pl061", "arm,primecell";
> > +				gpio-controller;
> > +				reg = <0xd8100000 0x1000>;
> > +				interrupt-parent = <&vic1>;
> > +				interrupts = <4>;
> > +			};
> > +
> > +			i2c@d0200000 {
> > +				#address-cells = <1>;
> > +				#size-cells = <0>;
> > +				compatible = "snps,designware-i2c";
> > +				reg = <0xd0200000 0x1000>;
> > +				interrupt-parent = <&vic0>;
> > +				interrupts = <28>;
> > +			};
> > +		};
> > +	};
> > +};
> > diff --git a/arch/arm/mach-spear6xx/Kconfig
> > b/arch/arm/mach-spear6xx/Kconfig index ff4ae5b..fbe298b 100644
> > --- a/arch/arm/mach-spear6xx/Kconfig
> > +++ b/arch/arm/mach-spear6xx/Kconfig
> > @@ -5,11 +5,12 @@
> > 
> >  if ARCH_SPEAR6XX
> >  
> >  menu "SPEAr6xx Implementations"
> > 
> > -config BOARD_SPEAR600_EVB
> > -	bool "SPEAr600 Evaluation Board"
> > +config BOARD_SPEAR600_DT
> > +	bool "SPEAr600 generic board configured via device-tree"
> > 
> >  	select MACH_SPEAR600
> > 
> > +	select USE_OF
> > 
> >  	help
> > 
> > -	  Supports ST SPEAr600 Evaluation Board
> > +	  Supports ST SPEAr600 boards configured via the device-tree
> > 
> >  endmenu
> > 
> > diff --git a/arch/arm/mach-spear6xx/Makefile
> > b/arch/arm/mach-spear6xx/Makefile index cc1a4d8..76e5750 100644
> > --- a/arch/arm/mach-spear6xx/Makefile
> > +++ b/arch/arm/mach-spear6xx/Makefile
> > @@ -4,9 +4,3 @@
> > 
> >  # common files
> >  obj-y	+= clock.o spear6xx.o
> > 
> > -
> > -# spear600 specific files
> > -obj-$(CONFIG_MACH_SPEAR600) += spear600.o
> > -
> > -# spear600 boards files
> > -obj-$(CONFIG_BOARD_SPEAR600_EVB) += spear600_evb.o
> > diff --git a/arch/arm/mach-spear6xx/clock.c
> > b/arch/arm/mach-spear6xx/clock.c index ac70e0d..358f280 100644
> > --- a/arch/arm/mach-spear6xx/clock.c
> > +++ b/arch/arm/mach-spear6xx/clock.c
> > @@ -641,8 +641,8 @@ static struct clk_lookup spear_clk_lookups[] = {
> > 
> >  	{ .con_id = "gpt0_synth_clk",	.clk = &gpt0_synth_clk},
> >  	{ .con_id = "gpt2_synth_clk",	.clk = &gpt2_synth_clk},
> >  	{ .con_id = "gpt3_synth_clk",	.clk = &gpt3_synth_clk},
> > 
> > -	{ .dev_id = "uart0",		.clk = &uart0_clk},
> > -	{ .dev_id = "uart1",		.clk = &uart1_clk},
> > +	{ .dev_id = "d0000000.serial",	.clk = &uart0_clk},
> > +	{ .dev_id = "d0080000.serial",	.clk = &uart1_clk},
> 
> switch to the macro CLK_.. will be good but can be done later

Sure. Still a lot to do... 
 
> otherwise look good

Ufff. Good.

Thanks,
Stefan

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

* Re: [PATCH v4] ARM: SPEAr600: Add device-tree support to SPEAr600 boards
       [not found]         ` <201203161209.18292.arnd-r2nGTMty4D4@public.gmane.org>
@ 2012-03-16 12:33           ` Stefan Roese
       [not found]             ` <201203161333.22524.sr-ynQEQJNshbs@public.gmane.org>
  0 siblings, 1 reply; 11+ messages in thread
From: Stefan Roese @ 2012-03-16 12:33 UTC (permalink / raw)
  To: devicetree-discuss-uLR06cmDAlY/bJ5BZ2RsiQ
  Cc: Viresh Kumar, devicetree-discuss-mnsaURCQ41sdnm+yROfE0A,
	spear-devel-nkJGhpqTU55BDgjK7y7TUQ,
	linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r

On Friday 16 March 2012 13:09:18 Arnd Bergmann wrote:
> On Friday 16 March 2012, Jean-Christophe PLAGNIOL-VILLARD wrote:
> > On 10:30 Fri 16 Mar     , Stefan Roese wrote:
> > > This patch adds a generic target for SPEAr600 board that can be
> > > configured via the device-tree. Currently the following devices
> > > are supported via the devicetree:
> > > 
> > > - VIC interrupts
> > > - PL011 UART
> > > - PL061 GPIO
> > > - Synopsys DW I2C
> > > - Synopsys DW ethernet
> > > 
> > > Other peripheral devices (e.g. SMI flash, FSMC NAND flash etc) will
> > > follow in later patches.
> > 
> > so drop USB, nand & co from the dtsi
> > 
> > this will be add later when the binding will documentated and Acked
> 
> I actually like to see the devices in there, and it already helped
> figure out that there are two buses instead of just one. Maybe we
> can agree on putting them in the file but commenting them out using
> /* */ with an added notice that they will get enabled once we have
> bindings?

It would be great to have a decision on this. I'm leaving for a short vacation 
in a few hours and would like to have the new (hopefully final) patch out 
before that.

Thanks for all your comments,
Stefan

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

* Re: [PATCH v4] ARM: SPEAr600: Add device-tree support to SPEAr600 boards
       [not found]     ` <201203161214.35929.arnd-r2nGTMty4D4@public.gmane.org>
@ 2012-03-16 12:34       ` Stefan Roese
  0 siblings, 0 replies; 11+ messages in thread
From: Stefan Roese @ 2012-03-16 12:34 UTC (permalink / raw)
  To: Arnd Bergmann
  Cc: Viresh Kumar, devicetree-discuss-mnsaURCQ41sdnm+yROfE0A,
	spear-devel-nkJGhpqTU55BDgjK7y7TUQ,
	linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r

On Friday 16 March 2012 13:14:35 Arnd Bergmann wrote:
> On Friday 16 March 2012, Stefan Roese wrote:
> > v4:
> > - Added memory node to all dts/dtsi files
> > - Reorganizes bus topology in the dtsi file, to match the
> > 
> >   real SoC layout
> 
> Looks good.
> 
> > +
> > +	ahb {
> > +		#address-cells = <1>;
> > +		#size-cells = <1>;
> > +		compatible = "simple-bus";
> > +		ranges;
> > +
> > +		vic0: interrupt-controller@f1100000 {
> > +			compatible = "arm,pl190-vic";
> > +			interrupt-controller;
> > +			reg = <0xf1100000 0x1000>;
> > +			#interrupt-cells = <1>;
> > +		};
> > +
> > ...
> > +		apb {
> > +			#address-cells = <1>;
> > +			#size-cells = <1>;
> > +			compatible = "simple-bus";
> > +			ranges;
> > +
> > +			serial@d0000000 {
> > +				compatible = "arm,pl011", "arm,primecell";
> > +				reg = <0xd0000000 0x1000>;
> > +				interrupt-parent = <&vic0>;
> > +				interrupts = <24>;
> > +			};
> > ...
> > +		};
> > +	};
> > +};
> 
> I would prefer to see non-empty ranges properties here. I expected the
> buses to be contiguous address ranges per bus, but apparently that
> is not the case -- you have 0xd... and 0xf... on both of them.

Yes, Its quite ugly.
 
> The simplest ranges property would be to have in the ahb node:
> 
> 	ranges = <0xd0000000 0xd0000000 0x30000000>;
> 
> Which just means that the bus is limited to those addresses (if that is
> indeed the case -- I don't know much about ahb and apb).

Okay, I'll add those ranges. Even though I personally don't find it more 
descriptive this way.

Thanks,
Stefan

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

* Re: [PATCH v4] ARM: SPEAr600: Add device-tree support to SPEAr600 boards
       [not found]             ` <201203161333.22524.sr-ynQEQJNshbs@public.gmane.org>
@ 2012-03-16 12:52               ` Arnd Bergmann
       [not found]                 ` <201203161252.54953.arnd-r2nGTMty4D4@public.gmane.org>
  0 siblings, 1 reply; 11+ messages in thread
From: Arnd Bergmann @ 2012-03-16 12:52 UTC (permalink / raw)
  To: Stefan Roese
  Cc: Viresh Kumar, devicetree-discuss-mnsaURCQ41sdnm+yROfE0A,
	devicetree-discuss-uLR06cmDAlY/bJ5BZ2RsiQ,
	spear-devel-nkJGhpqTU55BDgjK7y7TUQ,
	linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r

On Friday 16 March 2012, Stefan Roese wrote:
> > I actually like to see the devices in there, and it already helped
> > figure out that there are two buses instead of just one. Maybe we
> > can agree on putting them in the file but commenting them out using
> > /* */ with an added notice that they will get enabled once we have
> > bindings?
> 
> It would be great to have a decision on this. I'm leaving for a short vacation 
> in a few hours and would like to have the new (hopefully final) patch out 
> before that.

It's not a show-stopper for me either way, your patches look great.

	Arnd

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

* Re: [PATCH v4] ARM: SPEAr600: Add device-tree support to SPEAr600 boards
       [not found]                 ` <201203161252.54953.arnd-r2nGTMty4D4@public.gmane.org>
@ 2012-03-16 12:57                   ` Stefan Roese
  0 siblings, 0 replies; 11+ messages in thread
From: Stefan Roese @ 2012-03-16 12:57 UTC (permalink / raw)
  To: Arnd Bergmann
  Cc: Viresh Kumar, devicetree-discuss-mnsaURCQ41sdnm+yROfE0A,
	devicetree-discuss-uLR06cmDAlY/bJ5BZ2RsiQ,
	spear-devel-nkJGhpqTU55BDgjK7y7TUQ,
	linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r

On Friday 16 March 2012 13:52:54 Arnd Bergmann wrote:
> On Friday 16 March 2012, Stefan Roese wrote:
> > > I actually like to see the devices in there, and it already helped
> > > figure out that there are two buses instead of just one. Maybe we
> > > can agree on putting them in the file but commenting them out using
> > > /* */ with an added notice that they will get enabled once we have
> > > bindings?
> > 
> > It would be great to have a decision on this. I'm leaving for a short
> > vacation in a few hours and would like to have the new (hopefully final)
> > patch out before that.
> 
> It's not a show-stopper for me either way, your patches look great.

Thanks Arnd.

I'll leave the devices included then, and still disabled. Stay tuned...

Thanks,
Stefan

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

end of thread, other threads:[~2012-03-16 12:57 UTC | newest]

Thread overview: 11+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2012-03-16  9:30 [PATCH v4] ARM: SPEAr600: Add device-tree support to SPEAr600 boards Stefan Roese
     [not found] ` <1331890216-8361-1-git-send-email-sr-ynQEQJNshbs@public.gmane.org>
2012-03-16  9:51   ` Viresh Kumar
2012-03-16 11:51     ` Jean-Christophe PLAGNIOL-VILLARD
2012-03-16 11:50   ` Jean-Christophe PLAGNIOL-VILLARD
     [not found]     ` <20120316115022.GF7757-RQcB7r2h9QmfDR2tN2SG5Ni2O/JbrIOy@public.gmane.org>
2012-03-16 12:09       ` Arnd Bergmann
     [not found]         ` <201203161209.18292.arnd-r2nGTMty4D4@public.gmane.org>
2012-03-16 12:33           ` Stefan Roese
     [not found]             ` <201203161333.22524.sr-ynQEQJNshbs@public.gmane.org>
2012-03-16 12:52               ` Arnd Bergmann
     [not found]                 ` <201203161252.54953.arnd-r2nGTMty4D4@public.gmane.org>
2012-03-16 12:57                   ` Stefan Roese
2012-03-16 12:20       ` Stefan Roese
2012-03-16 12:14   ` Arnd Bergmann
     [not found]     ` <201203161214.35929.arnd-r2nGTMty4D4@public.gmane.org>
2012-03-16 12:34       ` Stefan Roese

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).