linuxppc-dev.lists.ozlabs.org archive mirror
 help / color / mirror / Atom feed
* [PATCH 3/3] [POWERPC] Kilauea DTS
@ 2007-10-08  9:10 Stefan Roese
  2007-10-10 20:21 ` Josh Boyer
  0 siblings, 1 reply; 8+ messages in thread
From: Stefan Roese @ 2007-10-08  9:10 UTC (permalink / raw)
  To: linuxppc-dev

Signed-off-by: Stefan Roese <sr@denx.de>
---
 arch/powerpc/boot/dts/kilauea.dts |  253 +++++++++++++++++++++++++++++++++++++
 1 files changed, 253 insertions(+), 0 deletions(-)
 create mode 100644 arch/powerpc/boot/dts/kilauea.dts

diff --git a/arch/powerpc/boot/dts/kilauea.dts b/arch/powerpc/boot/dts/kilauea.dts
new file mode 100644
index 0000000..4683174
--- /dev/null
+++ b/arch/powerpc/boot/dts/kilauea.dts
@@ -0,0 +1,253 @@
+/*
+ * Device Tree Source for AMCC Kilauea (405EX)
+ *
+ * Copyright 2007 DENX Software Engineering, Stefan Roese <sr@denx.de>
+ *
+ * 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.
+ */
+
+/ {
+	#address-cells = <1>;
+	#size-cells = <1>;
+	model = "amcc,kilauea";
+	compatible = "amcc,kilauea";
+	dcr-parent = <&/cpus/PowerPC,405EX@0>;
+
+	cpus {
+		#address-cells = <1>;
+		#size-cells = <0>;
+
+		PowerPC,405EX@0 {
+			device_type = "cpu";
+			reg = <0>;
+			clock-frequency = <0>; /* Filled in by U-Boot */
+			timebase-frequency = <0>; /* Filled in by U-Boot */
+			i-cache-line-size = <20>;
+			d-cache-line-size = <20>;
+			i-cache-size = <4000>; /* 16 kB */
+			d-cache-size = <4000>; /* 16 kB */
+			dcr-controller;
+			dcr-access-method = "native";
+		};
+	};
+
+	memory {
+		device_type = "memory";
+		reg = <0 0>; /* Filled in by U-Boot */
+	};
+
+	UIC0: interrupt-controller {
+		compatible = "ibm,uic-405ex", "ibm,uic";
+		interrupt-controller;
+		cell-index = <0>;
+		dcr-reg = <0c0 009>;
+		#address-cells = <0>;
+		#size-cells = <0>;
+		#interrupt-cells = <2>;
+	};
+
+	UIC1: interrupt-controller1 {
+		compatible = "ibm,uic-405ex","ibm,uic";
+		interrupt-controller;
+		cell-index = <1>;
+		dcr-reg = <0d0 009>;
+		#address-cells = <0>;
+		#size-cells = <0>;
+		#interrupt-cells = <2>;
+		interrupts = <1e 4 1f 4>; /* cascade */
+		interrupt-parent = <&UIC0>;
+	};
+
+	UIC2: interrupt-controller2 {
+		compatible = "ibm,uic-405ex","ibm,uic";
+		interrupt-controller;
+		cell-index = <2>;
+		dcr-reg = <0e0 009>;
+		#address-cells = <0>;
+		#size-cells = <0>;
+		#interrupt-cells = <2>;
+		interrupts = <1c 4 1d 4>; /* cascade */
+		interrupt-parent = <&UIC0>;
+	};
+
+	plb {
+		compatible = "ibm,plb-405ex", "ibm,plb4";
+		#address-cells = <1>;
+		#size-cells = <1>;
+		ranges;
+		clock-frequency = <0>; /* Filled in by U-Boot */
+
+		SDRAM0: memory-controller {
+			compatible = "ibm,sdram-405ex";
+			dcr-reg = <010 2>;
+		};
+
+		MAL0: mcmal {
+			compatible = "ibm,mcmal-405ex", "ibm,mcmal2";
+			dcr-reg = <180 62>;
+			num-tx-chans = <2>;
+			num-rx-chans = <2>;
+			interrupt-parent = <&MAL0>;
+			interrupts = <0 1 2 3 4>;
+			#interrupt-cells = <1>;
+			#address-cells = <0>;
+			#size-cells = <0>;
+			interrupt-map = </*TXEOB*/ 0 &UIC0 a 4
+					/*RXEOB*/ 1 &UIC0 b 4
+					/*SERR*/  2 &UIC1 0 4
+					/*TXDE*/  3 &UIC1 1 4
+					/*RXDE*/  4 &UIC1 2 4>;
+			interrupt-map-mask = <ffffffff>;
+		};
+
+		POB0: opb {
+			compatible = "ibm,opb-405ex", "ibm,opb";
+			#address-cells = <1>;
+			#size-cells = <1>;
+			ranges = <ef600000 ef600000 a00000>;
+			dcr-reg = <0a0 5>;
+			clock-frequency = <0>; /* Filled in by U-Boot */
+
+			EBC0: ebc {
+				compatible = "ibm,ebc-405ex", "ibm,ebc";
+				dcr-reg = <012 2>;
+				#address-cells = <2>;
+				#size-cells = <1>;
+				clock-frequency = <0>; /* Filled in by U-Boot */
+				interrupts = <5 1>;
+				interrupt-parent = <&UIC1>;
+
+				nor_flash@0,0 {
+					compatible = "amd,s29gl256n", "cfi-flash";
+					bank-width = <2>;
+					reg = <0 000000 4000000>;
+					#address-cells = <1>;
+					#size-cells = <1>;
+					partition@0 {
+						label = "Kernel";
+						reg = <0 180000>;
+					};
+					partition@180000 {
+						label = "ramdisk";
+						reg = <180000 200000>;
+					};
+					partition@380000 {
+						label = "file system";
+						reg = <380000 3aa0000>;
+					};
+					partition@3e20000 {
+						label = "kozio";
+						reg = <3e20000 140000>;
+					};
+					partition@3f60000 {
+						label = "env";
+						reg = <3f60000 40000>;
+					};
+					partition@3fa0000 {
+						label = "u-boot";
+						reg = <3fa0000 60000>;
+					};
+				};
+			};
+
+			UART0: serial@ef600200 {
+				device_type = "serial";
+				compatible = "ns16550";
+				reg = <ef600200 8>;
+				virtual-reg = <ef600200>;
+				clock-frequency = <0>; /* Filled in by U-Boot */
+				current-speed = <0>;
+				interrupt-parent = <&UIC0>;
+				interrupts = <1a 4>;
+			};
+
+			UART1: serial@ef600300 {
+				device_type = "serial";
+				compatible = "ns16550";
+				reg = <ef600300 8>;
+				virtual-reg = <ef600300>;
+				clock-frequency = <0>; /* Filled in by U-Boot */
+				current-speed = <0>;
+				interrupt-parent = <&UIC0>;
+				interrupts = <1 4>;
+			};
+
+			IIC0: i2c@ef600400 {
+				device_type = "i2c";
+				compatible = "ibm,iic-405ex", "ibm,iic";
+				reg = <ef600400 14>;
+				interrupt-parent = <&UIC0>;
+				interrupts = <2 4>;
+			};
+
+			IIC1: i2c@ef600500 {
+				device_type = "i2c";
+				compatible = "ibm,iic-405ex", "ibm,iic";
+				reg = <ef600500 14>;
+				interrupt-parent = <&UIC0>;
+				interrupts = <7 4>;
+			};
+
+
+			RGMII0: emac-rgmii@ef600b00 {
+				device_type = "rgmii-interface";
+				compatible = "ibm,rgmii-405ex", "ibm,rgmii";
+				reg = <ef600b00 104>;
+			};
+
+			EMAC0: ethernet@ef600900 {
+				linux,network-index = <0>;
+				device_type = "network";
+				compatible = "ibm,emac-405ex", "ibm,emac4";
+				interrupt-parent = <&EMAC0>;
+				interrupts = <0 1>;
+				#interrupt-cells = <1>;
+				#address-cells = <0>;
+				#size-cells = <0>;
+				interrupt-map = </*Status*/ 0 &UIC0 18 4
+						/*Wake*/  1 &UIC1 1d 4>;
+				reg = <ef600900 70>;
+				local-mac-address = [000000000000];
+				mal-device = <&MAL0>;
+				mal-tx-channel = <0>;
+				mal-rx-channel = <0>;
+				cell-index = <0>;
+				max-frame-size = <5dc>;
+				rx-fifo-size = <1000>;
+				tx-fifo-size = <800>;
+				phy-mode = "rgmii";
+				phy-map = <00000000>;
+				rgmii-device = <&RGMII0>;
+				rgmii-channel = <0>;
+			};
+
+			EMAC1: ethernet@ef600a00 {
+				linux,network-index = <1>;
+				device_type = "network";
+				compatible = "ibm,emac-405ex", "ibm,emac4";
+				interrupt-parent = <&EMAC1>;
+				interrupts = <0 1>;
+				#interrupt-cells = <1>;
+				#address-cells = <0>;
+				#size-cells = <0>;
+				interrupt-map = </*Status*/ 0 &UIC0 19 4
+						/*Wake*/  1 &UIC1 1f 4>;
+				reg = <ef600a00 70>;
+				local-mac-address = [000000000000];
+				mal-device = <&MAL0>;
+				mal-tx-channel = <1>;
+				mal-rx-channel = <1>;
+				cell-index = <1>;
+				max-frame-size = <5dc>;
+				rx-fifo-size = <1000>;
+				tx-fifo-size = <800>;
+				phy-mode = "rgmii";
+				phy-map = <00000000>;
+				rgmii-device = <&RGMII0>;
+				rgmii-channel = <1>;
+			};
+		};
+	};
+};
-- 
1.5.3.4

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

* Re: [PATCH 3/3] [POWERPC] Kilauea DTS
  2007-10-08  9:10 [PATCH 3/3] [POWERPC] Kilauea DTS Stefan Roese
@ 2007-10-10 20:21 ` Josh Boyer
  2007-10-11  8:49   ` Stefan Roese
  0 siblings, 1 reply; 8+ messages in thread
From: Josh Boyer @ 2007-10-10 20:21 UTC (permalink / raw)
  To: Stefan Roese; +Cc: linuxppc-dev

On Mon, 2007-10-08 at 11:10 +0200, Stefan Roese wrote:
> Signed-off-by: Stefan Roese <sr@denx.de>

Looks pretty good.  Just a couple of questions.

> ---
>  arch/powerpc/boot/dts/kilauea.dts |  253 +++++++++++++++++++++++++++++++++++++
>  1 files changed, 253 insertions(+), 0 deletions(-)
>  create mode 100644 arch/powerpc/boot/dts/kilauea.dts
> 
> diff --git a/arch/powerpc/boot/dts/kilauea.dts b/arch/powerpc/boot/dts/kilauea.dts
> new file mode 100644
> index 0000000..4683174
> --- /dev/null
> +++ b/arch/powerpc/boot/dts/kilauea.dts
> @@ -0,0 +1,253 @@
> +/*
> + * Device Tree Source for AMCC Kilauea (405EX)
> + *
> + * Copyright 2007 DENX Software Engineering, Stefan Roese <sr@denx.de>
> + *
> + * 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.
> + */
> +
> +/ {
> +	#address-cells = <1>;
> +	#size-cells = <1>;
> +	model = "amcc,kilauea";
> +	compatible = "amcc,kilauea";
> +	dcr-parent = <&/cpus/PowerPC,405EX@0>;
> +
> +	cpus {
> +		#address-cells = <1>;
> +		#size-cells = <0>;
> +
> +		PowerPC,405EX@0 {
> +			device_type = "cpu";
> +			reg = <0>;
> +			clock-frequency = <0>; /* Filled in by U-Boot */

Filled in by U-Boot itself?  Or by a cuboot wrapper? (which I can't find
in the patches.)

> +			timebase-frequency = <0>; /* Filled in by U-Boot */
> +			i-cache-line-size = <20>;
> +			d-cache-line-size = <20>;
> +			i-cache-size = <4000>; /* 16 kB */
> +			d-cache-size = <4000>; /* 16 kB */
> +			dcr-controller;
> +			dcr-access-method = "native";
> +		};
> +	};
> +
> +	memory {
> +		device_type = "memory";
> +		reg = <0 0>; /* Filled in by U-Boot */
> +	};
> +
> +	UIC0: interrupt-controller {
> +		compatible = "ibm,uic-405ex", "ibm,uic";
> +		interrupt-controller;
> +		cell-index = <0>;
> +		dcr-reg = <0c0 009>;
> +		#address-cells = <0>;
> +		#size-cells = <0>;
> +		#interrupt-cells = <2>;
> +	};
> +
> +	UIC1: interrupt-controller1 {
> +		compatible = "ibm,uic-405ex","ibm,uic";
> +		interrupt-controller;
> +		cell-index = <1>;
> +		dcr-reg = <0d0 009>;
> +		#address-cells = <0>;
> +		#size-cells = <0>;
> +		#interrupt-cells = <2>;
> +		interrupts = <1e 4 1f 4>; /* cascade */
> +		interrupt-parent = <&UIC0>;
> +	};
> +
> +	UIC2: interrupt-controller2 {
> +		compatible = "ibm,uic-405ex","ibm,uic";
> +		interrupt-controller;
> +		cell-index = <2>;
> +		dcr-reg = <0e0 009>;
> +		#address-cells = <0>;
> +		#size-cells = <0>;
> +		#interrupt-cells = <2>;
> +		interrupts = <1c 4 1d 4>; /* cascade */
> +		interrupt-parent = <&UIC0>;
> +	};
> +
> +	plb {
> +		compatible = "ibm,plb-405ex", "ibm,plb4";
> +		#address-cells = <1>;
> +		#size-cells = <1>;
> +		ranges;
> +		clock-frequency = <0>; /* Filled in by U-Boot */
> +
> +		SDRAM0: memory-controller {
> +			compatible = "ibm,sdram-405ex";
> +			dcr-reg = <010 2>;
> +		};
> +
> +		MAL0: mcmal {
> +			compatible = "ibm,mcmal-405ex", "ibm,mcmal2";
> +			dcr-reg = <180 62>;
> +			num-tx-chans = <2>;
> +			num-rx-chans = <2>;
> +			interrupt-parent = <&MAL0>;
> +			interrupts = <0 1 2 3 4>;
> +			#interrupt-cells = <1>;
> +			#address-cells = <0>;
> +			#size-cells = <0>;
> +			interrupt-map = </*TXEOB*/ 0 &UIC0 a 4
> +					/*RXEOB*/ 1 &UIC0 b 4
> +					/*SERR*/  2 &UIC1 0 4
> +					/*TXDE*/  3 &UIC1 1 4
> +					/*RXDE*/  4 &UIC1 2 4>;
> +			interrupt-map-mask = <ffffffff>;
> +		};
> +
> +		POB0: opb {
> +			compatible = "ibm,opb-405ex", "ibm,opb";
> +			#address-cells = <1>;
> +			#size-cells = <1>;
> +			ranges = <ef600000 ef600000 a00000>;
> +			dcr-reg = <0a0 5>;
> +			clock-frequency = <0>; /* Filled in by U-Boot */
> +
> +			EBC0: ebc {
> +				compatible = "ibm,ebc-405ex", "ibm,ebc";
> +				dcr-reg = <012 2>;
> +				#address-cells = <2>;
> +				#size-cells = <1>;
> +				clock-frequency = <0>; /* Filled in by U-Boot */
> +				interrupts = <5 1>;

This interrupt is really rising edge?  Just double checking.

> +				interrupt-parent = <&UIC1>;
> +
> +				nor_flash@0,0 {

You have no ranges property for the ebc parent node.  Is if filled in by
U-Boot?  If so, please add a comment because otherwise I don't see how
this mapping will work.

> +					compatible = "amd,s29gl256n", "cfi-flash";
> +					bank-width = <2>;
> +					reg = <0 000000 4000000>;
> +					#address-cells = <1>;
> +					#size-cells = <1>;
> +					partition@0 {
> +						label = "Kernel";
> +						reg = <0 180000>;
> +					};
> +					partition@180000 {
> +						label = "ramdisk";
> +						reg = <180000 200000>;
> +					};
> +					partition@380000 {
> +						label = "file system";
> +						reg = <380000 3aa0000>;
> +					};
> +					partition@3e20000 {
> +						label = "kozio";
> +						reg = <3e20000 140000>;
> +					};
> +					partition@3f60000 {
> +						label = "env";
> +						reg = <3f60000 40000>;
> +					};
> +					partition@3fa0000 {
> +						label = "u-boot";
> +						reg = <3fa0000 60000>;
> +					};
> +				};
> +			};
> +
> +			UART0: serial@ef600200 {
> +				device_type = "serial";
> +				compatible = "ns16550";
> +				reg = <ef600200 8>;
> +				virtual-reg = <ef600200>;
> +				clock-frequency = <0>; /* Filled in by U-Boot */
> +				current-speed = <0>;
> +				interrupt-parent = <&UIC0>;
> +				interrupts = <1a 4>;
> +			};
> +
> +			UART1: serial@ef600300 {
> +				device_type = "serial";
> +				compatible = "ns16550";
> +				reg = <ef600300 8>;
> +				virtual-reg = <ef600300>;
> +				clock-frequency = <0>; /* Filled in by U-Boot */
> +				current-speed = <0>;
> +				interrupt-parent = <&UIC0>;
> +				interrupts = <1 4>;
> +			};
> +
> +			IIC0: i2c@ef600400 {
> +				device_type = "i2c";
> +				compatible = "ibm,iic-405ex", "ibm,iic";
> +				reg = <ef600400 14>;
> +				interrupt-parent = <&UIC0>;
> +				interrupts = <2 4>;
> +			};
> +
> +			IIC1: i2c@ef600500 {
> +				device_type = "i2c";
> +				compatible = "ibm,iic-405ex", "ibm,iic";
> +				reg = <ef600500 14>;
> +				interrupt-parent = <&UIC0>;
> +				interrupts = <7 4>;
> +			};
> +
> +
> +			RGMII0: emac-rgmii@ef600b00 {
> +				device_type = "rgmii-interface";
> +				compatible = "ibm,rgmii-405ex", "ibm,rgmii";
> +				reg = <ef600b00 104>;
> +			};
> +
> +			EMAC0: ethernet@ef600900 {
> +				linux,network-index = <0>;
> +				device_type = "network";
> +				compatible = "ibm,emac-405ex", "ibm,emac4";
> +				interrupt-parent = <&EMAC0>;
> +				interrupts = <0 1>;
> +				#interrupt-cells = <1>;
> +				#address-cells = <0>;
> +				#size-cells = <0>;
> +				interrupt-map = </*Status*/ 0 &UIC0 18 4
> +						/*Wake*/  1 &UIC1 1d 4>;
> +				reg = <ef600900 70>;
> +				local-mac-address = [000000000000];

Does U-Boot (or the wrapper) poke these values as well?

> +				mal-device = <&MAL0>;
> +				mal-tx-channel = <0>;
> +				mal-rx-channel = <0>;
> +				cell-index = <0>;
> +				max-frame-size = <5dc>;
> +				rx-fifo-size = <1000>;
> +				tx-fifo-size = <800>;
> +				phy-mode = "rgmii";
> +				phy-map = <00000000>;
> +				rgmii-device = <&RGMII0>;
> +				rgmii-channel = <0>;
> +			};
> +
> +			EMAC1: ethernet@ef600a00 {
> +				linux,network-index = <1>;
> +				device_type = "network";
> +				compatible = "ibm,emac-405ex", "ibm,emac4";
> +				interrupt-parent = <&EMAC1>;
> +				interrupts = <0 1>;
> +				#interrupt-cells = <1>;
> +				#address-cells = <0>;
> +				#size-cells = <0>;
> +				interrupt-map = </*Status*/ 0 &UIC0 19 4
> +						/*Wake*/  1 &UIC1 1f 4>;
> +				reg = <ef600a00 70>;
> +				local-mac-address = [000000000000];
> +				mal-device = <&MAL0>;
> +				mal-tx-channel = <1>;
> +				mal-rx-channel = <1>;
> +				cell-index = <1>;
> +				max-frame-size = <5dc>;
> +				rx-fifo-size = <1000>;
> +				tx-fifo-size = <800>;
> +				phy-mode = "rgmii";
> +				phy-map = <00000000>;
> +				rgmii-device = <&RGMII0>;
> +				rgmii-channel = <1>;
> +			};
> +		};
> +	};

No chosen node?

josh

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

* Re: [PATCH 3/3] [POWERPC] Kilauea DTS
  2007-10-10 20:21 ` Josh Boyer
@ 2007-10-11  8:49   ` Stefan Roese
  2007-10-11 11:51     ` Josh Boyer
  0 siblings, 1 reply; 8+ messages in thread
From: Stefan Roese @ 2007-10-11  8:49 UTC (permalink / raw)
  To: Josh Boyer; +Cc: linuxppc-dev

On Wednesday 10 October 2007, Josh Boyer wrote:
> On Mon, 2007-10-08 at 11:10 +0200, Stefan Roese wrote:
> > Signed-off-by: Stefan Roese <sr@denx.de>
>
> Looks pretty good.  Just a couple of questions.
>
> > ---
> >  arch/powerpc/boot/dts/kilauea.dts |  253
> > +++++++++++++++++++++++++++++++++++++ 1 files changed, 253 insertions(+),
> > 0 deletions(-)
> >  create mode 100644 arch/powerpc/boot/dts/kilauea.dts
> >
> > diff --git a/arch/powerpc/boot/dts/kilauea.dts
> > b/arch/powerpc/boot/dts/kilauea.dts new file mode 100644
> > index 0000000..4683174
> > --- /dev/null
> > +++ b/arch/powerpc/boot/dts/kilauea.dts
> > @@ -0,0 +1,253 @@
> > +/*
> > + * Device Tree Source for AMCC Kilauea (405EX)
> > + *
> > + * Copyright 2007 DENX Software Engineering, Stefan Roese <sr@denx.de>
> > + *
> > + * 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.
> > + */
> > +
> > +/ {
> > +	#address-cells = <1>;
> > +	#size-cells = <1>;
> > +	model = "amcc,kilauea";
> > +	compatible = "amcc,kilauea";
> > +	dcr-parent = <&/cpus/PowerPC,405EX@0>;
> > +
> > +	cpus {
> > +		#address-cells = <1>;
> > +		#size-cells = <0>;
> > +
> > +		PowerPC,405EX@0 {
> > +			device_type = "cpu";
> > +			reg = <0>;
> > +			clock-frequency = <0>; /* Filled in by U-Boot */
>
> Filled in by U-Boot itself?  Or by a cuboot wrapper? (which I can't find
> in the patches.)

By U-Boot itself. I have a U-Boot patch in the queue to add device tree 
support for 4xx. Therefor I don't plan adding a cuboot wrapper for Kilauea.

> > +			timebase-frequency = <0>; /* Filled in by U-Boot */
> > +			i-cache-line-size = <20>;
> > +			d-cache-line-size = <20>;
> > +			i-cache-size = <4000>; /* 16 kB */
> > +			d-cache-size = <4000>; /* 16 kB */
> > +			dcr-controller;
> > +			dcr-access-method = "native";
> > +		};
> > +	};
> > +
> > +	memory {
> > +		device_type = "memory";
> > +		reg = <0 0>; /* Filled in by U-Boot */
> > +	};
> > +
> > +	UIC0: interrupt-controller {
> > +		compatible = "ibm,uic-405ex", "ibm,uic";
> > +		interrupt-controller;
> > +		cell-index = <0>;
> > +		dcr-reg = <0c0 009>;
> > +		#address-cells = <0>;
> > +		#size-cells = <0>;
> > +		#interrupt-cells = <2>;
> > +	};
> > +
> > +	UIC1: interrupt-controller1 {
> > +		compatible = "ibm,uic-405ex","ibm,uic";
> > +		interrupt-controller;
> > +		cell-index = <1>;
> > +		dcr-reg = <0d0 009>;
> > +		#address-cells = <0>;
> > +		#size-cells = <0>;
> > +		#interrupt-cells = <2>;
> > +		interrupts = <1e 4 1f 4>; /* cascade */
> > +		interrupt-parent = <&UIC0>;
> > +	};
> > +
> > +	UIC2: interrupt-controller2 {
> > +		compatible = "ibm,uic-405ex","ibm,uic";
> > +		interrupt-controller;
> > +		cell-index = <2>;
> > +		dcr-reg = <0e0 009>;
> > +		#address-cells = <0>;
> > +		#size-cells = <0>;
> > +		#interrupt-cells = <2>;
> > +		interrupts = <1c 4 1d 4>; /* cascade */
> > +		interrupt-parent = <&UIC0>;
> > +	};
> > +
> > +	plb {
> > +		compatible = "ibm,plb-405ex", "ibm,plb4";
> > +		#address-cells = <1>;
> > +		#size-cells = <1>;
> > +		ranges;
> > +		clock-frequency = <0>; /* Filled in by U-Boot */
> > +
> > +		SDRAM0: memory-controller {
> > +			compatible = "ibm,sdram-405ex";
> > +			dcr-reg = <010 2>;
> > +		};
> > +
> > +		MAL0: mcmal {
> > +			compatible = "ibm,mcmal-405ex", "ibm,mcmal2";
> > +			dcr-reg = <180 62>;
> > +			num-tx-chans = <2>;
> > +			num-rx-chans = <2>;
> > +			interrupt-parent = <&MAL0>;
> > +			interrupts = <0 1 2 3 4>;
> > +			#interrupt-cells = <1>;
> > +			#address-cells = <0>;
> > +			#size-cells = <0>;
> > +			interrupt-map = </*TXEOB*/ 0 &UIC0 a 4
> > +					/*RXEOB*/ 1 &UIC0 b 4
> > +					/*SERR*/  2 &UIC1 0 4
> > +					/*TXDE*/  3 &UIC1 1 4
> > +					/*RXDE*/  4 &UIC1 2 4>;
> > +			interrupt-map-mask = <ffffffff>;
> > +		};
> > +
> > +		POB0: opb {
> > +			compatible = "ibm,opb-405ex", "ibm,opb";
> > +			#address-cells = <1>;
> > +			#size-cells = <1>;
> > +			ranges = <ef600000 ef600000 a00000>;
> > +			dcr-reg = <0a0 5>;
> > +			clock-frequency = <0>; /* Filled in by U-Boot */
> > +
> > +			EBC0: ebc {
> > +				compatible = "ibm,ebc-405ex", "ibm,ebc";
> > +				dcr-reg = <012 2>;
> > +				#address-cells = <2>;
> > +				#size-cells = <1>;
> > +				clock-frequency = <0>; /* Filled in by U-Boot */
> > +				interrupts = <5 1>;
>
> This interrupt is really rising edge?  Just double checking.

Yes, it is rising edge. I have to admit though, that I'm not sure if this 
interrupt will ever be used at all.

> > +				interrupt-parent = <&UIC1>;
> > +
> > +				nor_flash@0,0 {
>
> You have no ranges property for the ebc parent node.  Is if filled in by
> U-Boot?  If so, please add a comment because otherwise I don't see how
> this mapping will work.

Yes, it's filled in by U-Boot too. I'll add a comment here.

> > +					compatible = "amd,s29gl256n", "cfi-flash";
> > +					bank-width = <2>;
> > +					reg = <0 000000 4000000>;
> > +					#address-cells = <1>;
> > +					#size-cells = <1>;
> > +					partition@0 {
> > +						label = "Kernel";
> > +						reg = <0 180000>;
> > +					};
> > +					partition@180000 {
> > +						label = "ramdisk";
> > +						reg = <180000 200000>;
> > +					};
> > +					partition@380000 {
> > +						label = "file system";
> > +						reg = <380000 3aa0000>;
> > +					};
> > +					partition@3e20000 {
> > +						label = "kozio";
> > +						reg = <3e20000 140000>;
> > +					};
> > +					partition@3f60000 {
> > +						label = "env";
> > +						reg = <3f60000 40000>;
> > +					};
> > +					partition@3fa0000 {
> > +						label = "u-boot";
> > +						reg = <3fa0000 60000>;
> > +					};
> > +				};
> > +			};
> > +
> > +			UART0: serial@ef600200 {
> > +				device_type = "serial";
> > +				compatible = "ns16550";
> > +				reg = <ef600200 8>;
> > +				virtual-reg = <ef600200>;
> > +				clock-frequency = <0>; /* Filled in by U-Boot */
> > +				current-speed = <0>;
> > +				interrupt-parent = <&UIC0>;
> > +				interrupts = <1a 4>;
> > +			};
> > +
> > +			UART1: serial@ef600300 {
> > +				device_type = "serial";
> > +				compatible = "ns16550";
> > +				reg = <ef600300 8>;
> > +				virtual-reg = <ef600300>;
> > +				clock-frequency = <0>; /* Filled in by U-Boot */
> > +				current-speed = <0>;
> > +				interrupt-parent = <&UIC0>;
> > +				interrupts = <1 4>;
> > +			};
> > +
> > +			IIC0: i2c@ef600400 {
> > +				device_type = "i2c";
> > +				compatible = "ibm,iic-405ex", "ibm,iic";
> > +				reg = <ef600400 14>;
> > +				interrupt-parent = <&UIC0>;
> > +				interrupts = <2 4>;
> > +			};
> > +
> > +			IIC1: i2c@ef600500 {
> > +				device_type = "i2c";
> > +				compatible = "ibm,iic-405ex", "ibm,iic";
> > +				reg = <ef600500 14>;
> > +				interrupt-parent = <&UIC0>;
> > +				interrupts = <7 4>;
> > +			};
> > +
> > +
> > +			RGMII0: emac-rgmii@ef600b00 {
> > +				device_type = "rgmii-interface";
> > +				compatible = "ibm,rgmii-405ex", "ibm,rgmii";
> > +				reg = <ef600b00 104>;
> > +			};
> > +
> > +			EMAC0: ethernet@ef600900 {
> > +				linux,network-index = <0>;
> > +				device_type = "network";
> > +				compatible = "ibm,emac-405ex", "ibm,emac4";
> > +				interrupt-parent = <&EMAC0>;
> > +				interrupts = <0 1>;
> > +				#interrupt-cells = <1>;
> > +				#address-cells = <0>;
> > +				#size-cells = <0>;
> > +				interrupt-map = </*Status*/ 0 &UIC0 18 4
> > +						/*Wake*/  1 &UIC1 1d 4>;
> > +				reg = <ef600900 70>;
> > +				local-mac-address = [000000000000];
>
> Does U-Boot (or the wrapper) poke these values as well?

Yes, I'll add a comment here too.

> > +				mal-device = <&MAL0>;
> > +				mal-tx-channel = <0>;
> > +				mal-rx-channel = <0>;
> > +				cell-index = <0>;
> > +				max-frame-size = <5dc>;
> > +				rx-fifo-size = <1000>;
> > +				tx-fifo-size = <800>;
> > +				phy-mode = "rgmii";
> > +				phy-map = <00000000>;
> > +				rgmii-device = <&RGMII0>;
> > +				rgmii-channel = <0>;
> > +			};
> > +
> > +			EMAC1: ethernet@ef600a00 {
> > +				linux,network-index = <1>;
> > +				device_type = "network";
> > +				compatible = "ibm,emac-405ex", "ibm,emac4";
> > +				interrupt-parent = <&EMAC1>;
> > +				interrupts = <0 1>;
> > +				#interrupt-cells = <1>;
> > +				#address-cells = <0>;
> > +				#size-cells = <0>;
> > +				interrupt-map = </*Status*/ 0 &UIC0 19 4
> > +						/*Wake*/  1 &UIC1 1f 4>;
> > +				reg = <ef600a00 70>;
> > +				local-mac-address = [000000000000];
> > +				mal-device = <&MAL0>;
> > +				mal-tx-channel = <1>;
> > +				mal-rx-channel = <1>;
> > +				cell-index = <1>;
> > +				max-frame-size = <5dc>;
> > +				rx-fifo-size = <1000>;
> > +				tx-fifo-size = <800>;
> > +				phy-mode = "rgmii";
> > +				phy-map = <00000000>;
> > +				rgmii-device = <&RGMII0>;
> > +				rgmii-channel = <1>;
> > +			};
> > +		};
> > +	};
>
> No chosen node?

No. U-Boot will provide all needed information here.

Thanks.

Best regards,
Stefan

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

* Re: [PATCH 3/3] [POWERPC] Kilauea DTS
  2007-10-11  8:49   ` Stefan Roese
@ 2007-10-11 11:51     ` Josh Boyer
  2007-10-11 12:02       ` Stefan Roese
  0 siblings, 1 reply; 8+ messages in thread
From: Josh Boyer @ 2007-10-11 11:51 UTC (permalink / raw)
  To: Stefan Roese; +Cc: linuxppc-dev

On Thu, 2007-10-11 at 10:49 +0200, Stefan Roese wrote:
> > > +		PowerPC,405EX@0 {
> > > +			device_type = "cpu";
> > > +			reg = <0>;
> > > +			clock-frequency = <0>; /* Filled in by U-Boot */
> >
> > Filled in by U-Boot itself?  Or by a cuboot wrapper? (which I can't find
> > in the patches.)
> 
> By U-Boot itself. I have a U-Boot patch in the queue to add device tree 
> support for 4xx. Therefor I don't plan adding a cuboot wrapper for Kilauea.

Very cool!

> > > +				interrupt-parent = <&UIC1>;
> > > +
> > > +				nor_flash@0,0 {
> >
> > You have no ranges property for the ebc parent node.  Is if filled in by
> > U-Boot?  If so, please add a comment because otherwise I don't see how
> > this mapping will work.
> 
> Yes, it's filled in by U-Boot too. I'll add a comment here.

Ok.

> >
> > No chosen node?
> 
> No. U-Boot will provide all needed information here.

Does it provide it by creating the chosen node?  Or by still using the
bd_t method?

josh

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

* Re: [PATCH 3/3] [POWERPC] Kilauea DTS
  2007-10-11 11:51     ` Josh Boyer
@ 2007-10-11 12:02       ` Stefan Roese
  2007-10-11 12:13         ` Josh Boyer
  0 siblings, 1 reply; 8+ messages in thread
From: Stefan Roese @ 2007-10-11 12:02 UTC (permalink / raw)
  To: linuxppc-dev

On Thursday 11 October 2007, Josh Boyer wrote:
> On Thu, 2007-10-11 at 10:49 +0200, Stefan Roese wrote:
> > > > +		PowerPC,405EX@0 {
> > > > +			device_type = "cpu";
> > > > +			reg = <0>;
> > > > +			clock-frequency = <0>; /* Filled in by U-Boot */
> > >
> > > Filled in by U-Boot itself?  Or by a cuboot wrapper? (which I can't
> > > find in the patches.)
> >
> > By U-Boot itself. I have a U-Boot patch in the queue to add device tree
> > support for 4xx. Therefor I don't plan adding a cuboot wrapper for
> > Kilauea.
>
> Very cool!

You can take a look at the kilauea-405ex branch of my 4xx custodian repository 
for a latest development snapshort:

http://www.denx.de/cgi-bin/gitweb.cgi?p=u-boot/u-boot-ppc4xx.git;a=shortlog;h=kilauea-405ex

> > > > +				interrupt-parent = <&UIC1>;
> > > > +
> > > > +				nor_flash@0,0 {
> > >
> > > You have no ranges property for the ebc parent node.  Is if filled in
> > > by U-Boot?  If so, please add a comment because otherwise I don't see
> > > how this mapping will work.
> >
> > Yes, it's filled in by U-Boot too. I'll add a comment here.
>
> Ok.
>
> > > No chosen node?
> >
> > No. U-Boot will provide all needed information here.
>
> Does it provide it by creating the chosen node?  Or by still using the
> bd_t method?

bd_t? What's that? ;)

Best regards,
Stefan

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

* Re: [PATCH 3/3] [POWERPC] Kilauea DTS
  2007-10-11 12:02       ` Stefan Roese
@ 2007-10-11 12:13         ` Josh Boyer
  2007-10-11 12:22           ` Stefan Roese
  2007-10-12  3:15           ` David Gibson
  0 siblings, 2 replies; 8+ messages in thread
From: Josh Boyer @ 2007-10-11 12:13 UTC (permalink / raw)
  To: Stefan Roese; +Cc: linuxppc-dev

On Thu, 2007-10-11 at 14:02 +0200, Stefan Roese wrote:
> On Thursday 11 October 2007, Josh Boyer wrote:
> > On Thu, 2007-10-11 at 10:49 +0200, Stefan Roese wrote:
> > > > > +		PowerPC,405EX@0 {
> > > > > +			device_type = "cpu";
> > > > > +			reg = <0>;
> > > > > +			clock-frequency = <0>; /* Filled in by U-Boot */
> > > >
> > > > Filled in by U-Boot itself?  Or by a cuboot wrapper? (which I can't
> > > > find in the patches.)
> > >
> > > By U-Boot itself. I have a U-Boot patch in the queue to add device tree
> > > support for 4xx. Therefor I don't plan adding a cuboot wrapper for
> > > Kilauea.
> >
> > Very cool!
> 
> You can take a look at the kilauea-405ex branch of my 4xx custodian repository 
> for a latest development snapshort:
> 
> http://www.denx.de/cgi-bin/gitweb.cgi?p=u-boot/u-boot-ppc4xx.git;a=shortlog;h=kilauea-405ex

Ok, so how does the DTS file from the kernel get to U-Boot?  Since there
is no defconfig provided and no wrapper bits, I'm assuming this port
takes a raw uImage.  Is that correct?  If so, do you expect a separate
DTB file to be built for this that is passed to U-Boot?

josh

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

* Re: [PATCH 3/3] [POWERPC] Kilauea DTS
  2007-10-11 12:13         ` Josh Boyer
@ 2007-10-11 12:22           ` Stefan Roese
  2007-10-12  3:15           ` David Gibson
  1 sibling, 0 replies; 8+ messages in thread
From: Stefan Roese @ 2007-10-11 12:22 UTC (permalink / raw)
  To: linuxppc-dev

Hi Josh,

On Thursday 11 October 2007, Josh Boyer wrote:
> Ok, so how does the DTS file from the kernel get to U-Boot?  Since there
> is no defconfig provided and no wrapper bits, I'm assuming this port
> takes a raw uImage.  Is that correct?

Yes, correct.

> If so, do you expect a separate 
> DTB file to be built for this that is passed to U-Boot?

For booting on such a platform the "raw" uImage is needed plus the dtb file, 
generated from the dts file in arch/powerpc. At least that's how I'm doing 
it, and I'm still very new to this device tree stuff.

Best regards,
Stefan

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

* Re: [PATCH 3/3] [POWERPC] Kilauea DTS
  2007-10-11 12:13         ` Josh Boyer
  2007-10-11 12:22           ` Stefan Roese
@ 2007-10-12  3:15           ` David Gibson
  1 sibling, 0 replies; 8+ messages in thread
From: David Gibson @ 2007-10-12  3:15 UTC (permalink / raw)
  To: Josh Boyer; +Cc: linuxppc-dev, Stefan Roese

On Thu, Oct 11, 2007 at 07:13:39AM -0500, Josh Boyer wrote:
> On Thu, 2007-10-11 at 14:02 +0200, Stefan Roese wrote:
> > On Thursday 11 October 2007, Josh Boyer wrote:
> > > On Thu, 2007-10-11 at 10:49 +0200, Stefan Roese wrote:
> > > > > > +		PowerPC,405EX@0 {
> > > > > > +			device_type = "cpu";
> > > > > > +			reg = <0>;
> > > > > > +			clock-frequency = <0>; /* Filled in by U-Boot */
> > > > >
> > > > > Filled in by U-Boot itself?  Or by a cuboot wrapper? (which I can't
> > > > > find in the patches.)
> > > >
> > > > By U-Boot itself. I have a U-Boot patch in the queue to add device tree
> > > > support for 4xx. Therefor I don't plan adding a cuboot wrapper for
> > > > Kilauea.
> > >
> > > Very cool!
> > 
> > You can take a look at the kilauea-405ex branch of my 4xx custodian repository 
> > for a latest development snapshort:
> > 
> > http://www.denx.de/cgi-bin/gitweb.cgi?p=u-boot/u-boot-ppc4xx.git;a=shortlog;h=kilauea-405ex
> 
> Ok, so how does the DTS file from the kernel get to U-Boot?  Since there
> is no defconfig provided and no wrapper bits, I'm assuming this port
> takes a raw uImage.  Is that correct?  If so, do you expect a separate
> DTB file to be built for this that is passed to U-Boot?

I believe current standard practice is to bulid dtb aware u-boot
images by pointing at dts files from the kernel tree.  u-boot doesn't
have it's own repository of dts files.

-- 
David Gibson			| I'll have my music baroque, and my code
david AT gibson.dropbear.id.au	| minimalist, thank you.  NOT _the_ _other_
				| _way_ _around_!
http://www.ozlabs.org/~dgibson

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

end of thread, other threads:[~2007-10-12  3:31 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2007-10-08  9:10 [PATCH 3/3] [POWERPC] Kilauea DTS Stefan Roese
2007-10-10 20:21 ` Josh Boyer
2007-10-11  8:49   ` Stefan Roese
2007-10-11 11:51     ` Josh Boyer
2007-10-11 12:02       ` Stefan Roese
2007-10-11 12:13         ` Josh Boyer
2007-10-11 12:22           ` Stefan Roese
2007-10-12  3:15           ` David Gibson

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