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

Reply via email to