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 <[EMAIL PROTECTED]> > > 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 <[EMAIL > > PROTECTED]> > > + * > > + * 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,[EMAIL PROTECTED]>; > > + > > + cpus { > > + #address-cells = <1>; > > + #size-cells = <0>; > > + > > + PowerPC,[EMAIL PROTECTED] { > > + 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>; > > + > > + [EMAIL PROTECTED],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>; > > + [EMAIL PROTECTED] { > > + label = "Kernel"; > > + reg = <0 180000>; > > + }; > > + [EMAIL PROTECTED] { > > + label = "ramdisk"; > > + reg = <180000 200000>; > > + }; > > + [EMAIL PROTECTED] { > > + label = "file system"; > > + reg = <380000 3aa0000>; > > + }; > > + [EMAIL PROTECTED] { > > + label = "kozio"; > > + reg = <3e20000 140000>; > > + }; > > + [EMAIL PROTECTED] { > > + label = "env"; > > + reg = <3f60000 40000>; > > + }; > > + [EMAIL PROTECTED] { > > + label = "u-boot"; > > + reg = <3fa0000 60000>; > > + }; > > + }; > > + }; > > + > > + UART0: [EMAIL PROTECTED] { > > + 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: [EMAIL PROTECTED] { > > + 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: [EMAIL PROTECTED] { > > + device_type = "i2c"; > > + compatible = "ibm,iic-405ex", "ibm,iic"; > > + reg = <ef600400 14>; > > + interrupt-parent = <&UIC0>; > > + interrupts = <2 4>; > > + }; > > + > > + IIC1: [EMAIL PROTECTED] { > > + device_type = "i2c"; > > + compatible = "ibm,iic-405ex", "ibm,iic"; > > + reg = <ef600500 14>; > > + interrupt-parent = <&UIC0>; > > + interrupts = <7 4>; > > + }; > > + > > + > > + RGMII0: [EMAIL PROTECTED] { > > + device_type = "rgmii-interface"; > > + compatible = "ibm,rgmii-405ex", "ibm,rgmii"; > > + reg = <ef600b00 104>; > > + }; > > + > > + EMAC0: [EMAIL PROTECTED] { > > + 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: [EMAIL PROTECTED] { > > + 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 _______________________________________________ Linuxppc-dev mailing list Linuxppc-dev@ozlabs.org https://ozlabs.org/mailman/listinfo/linuxppc-dev