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