]> err.no Git - linux-2.6/blobdiff - arch/powerpc/boot/dts/mpc8641_hpcn.dts
[POWERPC] Rewrite Freescale PCI/PCIe support for 8{3,5,6}xx
[linux-2.6] / arch / powerpc / boot / dts / mpc8641_hpcn.dts
index f0c7731743ea0dd1a827084f32ed36a5ab9b823b..5d82709cfcbb38fbd7ee13596f415c2dc38d6972 100644 (file)
@@ -17,7 +17,6 @@
        #size-cells = <1>;
 
        cpus {
-               #cpus = <2>;
                #address-cells = <1>;
                #size-cells = <0>;
 
@@ -32,7 +31,6 @@
                        bus-frequency = <0>;            // From uboot
                        clock-frequency = <0>;          // From uboot
                        32-bit;
-                       linux,boot-cpu;
                };
                PowerPC,8641@1 {
                        device_type = "cpu";
                #size-cells = <1>;
                #interrupt-cells = <2>;
                device_type = "soc";
-               ranges = <0 f8000000 00100000>;
-               reg = <f8000000 00100000>;      // CCSRBAR 1M
+               ranges = <00001000 f8001000 000ff000
+                         80000000 80000000 20000000
+                         e2000000 e2000000 00100000
+                         a0000000 a0000000 20000000
+                         e3000000 e3000000 00100000>;
+               reg = <f8000000 00001000>;      // CCSRBAR
                bus-frequency = <0>;
 
                i2c@3000 {
@@ -67,7 +69,7 @@
                        compatible = "fsl-i2c";
                        reg = <3000 100>;
                        interrupts = <2b 2>;
-                       interrupt-parent = <40000>;
+                       interrupt-parent = <&mpic>;
                        dfsrr;
                };
 
@@ -76,7 +78,7 @@
                        compatible = "fsl-i2c";
                        reg = <3100 100>;
                        interrupts = <2b 2>;
-                       interrupt-parent = <40000>;
+                       interrupt-parent = <&mpic>;
                        dfsrr;
                };
 
                        device_type = "mdio";
                        compatible = "gianfar";
                        reg = <24520 20>;
-                       linux,phandle = <24520>;
-                       ethernet-phy@0 {
-                               linux,phandle = <2452000>;
-                               interrupt-parent = <40000>;
-                               interrupts = <4a 1>;
+                       phy0: ethernet-phy@0 {
+                               interrupt-parent = <&mpic>;
+                               interrupts = <a 1>;
                                reg = <0>;
                                device_type = "ethernet-phy";
                        };
-                       ethernet-phy@1 {
-                               linux,phandle = <2452001>;
-                               interrupt-parent = <40000>;
-                               interrupts = <4a 1>;
+                       phy1: ethernet-phy@1 {
+                               interrupt-parent = <&mpic>;
+                               interrupts = <a 1>;
                                reg = <1>;
                                device_type = "ethernet-phy";
                        };
-                       ethernet-phy@2 {
-                               linux,phandle = <2452002>;
-                               interrupt-parent = <40000>;
-                               interrupts = <4a 1>;
+                       phy2: ethernet-phy@2 {
+                               interrupt-parent = <&mpic>;
+                               interrupts = <a 1>;
                                reg = <2>;
                                device_type = "ethernet-phy";
                        };
-                       ethernet-phy@3 {
-                               linux,phandle = <2452003>;
-                               interrupt-parent = <40000>;
-                               interrupts = <4a 1>;
+                       phy3: ethernet-phy@3 {
+                               interrupt-parent = <&mpic>;
+                               interrupts = <a 1>;
                                reg = <3>;
                                device_type = "ethernet-phy";
                        };
                        model = "TSEC";
                        compatible = "gianfar";
                        reg = <24000 1000>;
-                       mac-address = [ 00 E0 0C 00 73 00 ];
+                       /*
+                        * mac-address is deprecated and will be removed
+                        * in 2.6.25.  Only recent versions of
+                        * U-Boot support local-mac-address, however.
+                        */
+                       mac-address = [ 00 00 00 00 00 00 ];
+                       local-mac-address = [ 00 00 00 00 00 00 ];
                        interrupts = <1d 2 1e 2 22 2>;
-                       interrupt-parent = <40000>;
-                       phy-handle = <2452000>;
+                       interrupt-parent = <&mpic>;
+                       phy-handle = <&phy0>;
+                       phy-connection-type = "rgmii-id";
                };
 
                ethernet@25000 {
                        model = "TSEC";
                        compatible = "gianfar";
                        reg = <25000 1000>;
-                       mac-address = [ 00 E0 0C 00 73 01 ];
+                       /*
+                        * mac-address is deprecated and will be removed
+                        * in 2.6.25.  Only recent versions of
+                        * U-Boot support local-mac-address, however.
+                        */
+                       mac-address = [ 00 00 00 00 00 00 ];
+                       local-mac-address = [ 00 00 00 00 00 00 ];
                        interrupts = <23 2 24 2 28 2>;
-                       interrupt-parent = <40000>;
-                       phy-handle = <2452001>;
+                       interrupt-parent = <&mpic>;
+                       phy-handle = <&phy1>;
+                       phy-connection-type = "rgmii-id";
                };
                
                ethernet@26000 {
                        model = "TSEC";
                        compatible = "gianfar";
                        reg = <26000 1000>;
-                       mac-address = [ 00 E0 0C 00 02 FD ];
+                       /*
+                        * mac-address is deprecated and will be removed
+                        * in 2.6.25.  Only recent versions of
+                        * U-Boot support local-mac-address, however.
+                        */
+                       mac-address = [ 00 00 00 00 00 00 ];
+                       local-mac-address = [ 00 00 00 00 00 00 ];
                        interrupts = <1F 2 20 2 21 2>;
-                       interrupt-parent = <40000>;
-                       phy-handle = <2452002>;
+                       interrupt-parent = <&mpic>;
+                       phy-handle = <&phy2>;
+                       phy-connection-type = "rgmii-id";
                };
 
                ethernet@27000 {
                        model = "TSEC";
                        compatible = "gianfar";
                        reg = <27000 1000>;
-                       mac-address = [ 00 E0 0C 00 03 FD ];
+                       /*
+                        * mac-address is deprecated and will be removed
+                        * in 2.6.25.  Only recent versions of
+                        * U-Boot support local-mac-address, however.
+                        */
+                       mac-address = [ 00 00 00 00 00 00 ];
+                       local-mac-address = [ 00 00 00 00 00 00 ];
                        interrupts = <25 2 26 2 27 2>;
-                       interrupt-parent = <40000>;
-                       phy-handle = <2452003>;
+                       interrupt-parent = <&mpic>;
+                       phy-handle = <&phy3>;
+                       phy-connection-type = "rgmii-id";
                };
                serial@4500 {
                        device_type = "serial";
                        reg = <4500 100>;
                        clock-frequency = <0>;
                        interrupts = <2a 2>;
-                       interrupt-parent = <40000>;
+                       interrupt-parent = <&mpic>;
                };
 
                serial@4600 {
                        reg = <4600 100>;
                        clock-frequency = <0>;
                        interrupts = <1c 2>;
-                       interrupt-parent = <40000>;
+                       interrupt-parent = <&mpic>;
                };
 
-               pci@8000 {
-                       compatible = "86xx";
+               pcie@8000 {
+                       compatible = "fsl,mpc8641-pcie";
                        device_type = "pci";
                        #interrupt-cells = <1>;
                        #size-cells = <2>;
                        #address-cells = <3>;
                        reg = <8000 1000>;
-                       bus-range = <0 fe>;
+                       bus-range = <0 ff>;
                        ranges = <02000000 0 80000000 80000000 0 20000000
                                  01000000 0 00000000 e2000000 0 00100000>;
                        clock-frequency = <1fca055>;
-                       interrupt-parent = <40000>;
+                       interrupt-parent = <&mpic>;
                        interrupts = <18 2>;
                        interrupt-map-mask = <f800 0 0 7>;
                        interrupt-map = <
                                /* IDSEL 0x11 */
-                               8800 0 0 1 4d0 3 2
-                               8800 0 0 2 4d0 4 2
-                               8800 0 0 3 4d0 5 2
-                               8800 0 0 4 4d0 6 2
+                               8800 0 0 1 &i8259 3 2
+                               8800 0 0 2 &i8259 4 2
+                               8800 0 0 3 &i8259 5 2
+                               8800 0 0 4 &i8259 6 2
 
                                /* IDSEL 0x12 */
-                               9000 0 0 1 4d0 4 2
-                               9000 0 0 2 4d0 5 2
-                               9000 0 0 3 4d0 6 2
-                               9000 0 0 4 4d0 3 2
+                               9000 0 0 1 &i8259 4 2
+                               9000 0 0 2 &i8259 5 2
+                               9000 0 0 3 &i8259 6 2
+                               9000 0 0 4 &i8259 3 2
 
                                /* IDSEL 0x13 */
-                               9800 0 0 1 4d0 0 0
-                               9800 0 0 2 4d0 0 0
-                               9800 0 0 3 4d0 0 0
-                               9800 0 0 4 4d0 0 0
+                               9800 0 0 1 &i8259 0 0
+                               9800 0 0 2 &i8259 0 0
+                               9800 0 0 3 &i8259 0 0
+                               9800 0 0 4 &i8259 0 0
 
                                /* IDSEL 0x14 */
-                               a000 0 0 1 4d0 0 0
-                               a000 0 0 2 4d0 0 0
-                               a000 0 0 3 4d0 0 0
-                               a000 0 0 4 4d0 0 0
+                               a000 0 0 1 &i8259 0 0
+                               a000 0 0 2 &i8259 0 0
+                               a000 0 0 3 &i8259 0 0
+                               a000 0 0 4 &i8259 0 0
 
                                /* IDSEL 0x15 */
-                               a800 0 0 1 4d0 0 0
-                               a800 0 0 2 4d0 0 0
-                               a800 0 0 3 4d0 0 0
-                               a800 0 0 4 4d0 0 0
+                               a800 0 0 1 &i8259 0 0
+                               a800 0 0 2 &i8259 0 0
+                               a800 0 0 3 &i8259 0 0
+                               a800 0 0 4 &i8259 0 0
 
                                /* IDSEL 0x16 */
-                               b000 0 0 1 4d0 0 0
-                               b000 0 0 2 4d0 0 0
-                               b000 0 0 3 4d0 0 0
-                               b000 0 0 4 4d0 0 0
+                               b000 0 0 1 &i8259 0 0
+                               b000 0 0 2 &i8259 0 0
+                               b000 0 0 3 &i8259 0 0
+                               b000 0 0 4 &i8259 0 0
 
                                /* IDSEL 0x17 */
-                               b800 0 0 1 4d0 0 0
-                               b800 0 0 2 4d0 0 0
-                               b800 0 0 3 4d0 0 0
-                               b800 0 0 4 4d0 0 0
+                               b800 0 0 1 &i8259 0 0
+                               b800 0 0 2 &i8259 0 0
+                               b800 0 0 3 &i8259 0 0
+                               b800 0 0 4 &i8259 0 0
 
                                /* IDSEL 0x18 */
-                               c000 0 0 1 4d0 0 0
-                               c000 0 0 2 4d0 0 0
-                               c000 0 0 3 4d0 0 0
-                               c000 0 0 4 4d0 0 0
+                               c000 0 0 1 &i8259 0 0
+                               c000 0 0 2 &i8259 0 0
+                               c000 0 0 3 &i8259 0 0
+                               c000 0 0 4 &i8259 0 0
 
                                /* IDSEL 0x19 */
-                               c800 0 0 1 4d0 0 0
-                               c800 0 0 2 4d0 0 0
-                               c800 0 0 3 4d0 0 0
-                               c800 0 0 4 4d0 0 0
+                               c800 0 0 1 &i8259 0 0
+                               c800 0 0 2 &i8259 0 0
+                               c800 0 0 3 &i8259 0 0
+                               c800 0 0 4 &i8259 0 0
 
                                /* IDSEL 0x1a */
-                               d000 0 0 1 4d0 6 2
-                               d000 0 0 2 4d0 3 2
-                               d000 0 0 3 4d0 4 2
-                               d000 0 0 4 4d0 5 2
+                               d000 0 0 1 &i8259 6 2
+                               d000 0 0 2 &i8259 3 2
+                               d000 0 0 3 &i8259 4 2
+                               d000 0 0 4 &i8259 5 2
 
 
                                /* IDSEL 0x1b */
-                               d800 0 0 1 4d0 5 2
-                               d800 0 0 2 4d0 0 0
-                               d800 0 0 3 4d0 0 0
-                               d800 0 0 4 4d0 0 0
+                               d800 0 0 1 &i8259 5 2
+                               d800 0 0 2 &i8259 0 0
+                               d800 0 0 3 &i8259 0 0
+                               d800 0 0 4 &i8259 0 0
 
                                /* IDSEL 0x1c */
-                               e000 0 0 1 4d0 9 2
-                               e000 0 0 2 4d0 a 2
-                               e000 0 0 3 4d0 c 2
-                               e000 0 0 4 4d0 7 2
+                               e000 0 0 1 &i8259 9 2
+                               e000 0 0 2 &i8259 a 2
+                               e000 0 0 3 &i8259 c 2
+                               e000 0 0 4 &i8259 7 2
 
                                /* IDSEL 0x1d */
-                               e800 0 0 1 4d0 9 2
-                               e800 0 0 2 4d0 a 2
-                               e800 0 0 3 4d0 b 2
-                               e800 0 0 4 4d0 0 0
+                               e800 0 0 1 &i8259 9 2
+                               e800 0 0 2 &i8259 a 2
+                               e800 0 0 3 &i8259 b 2
+                               e800 0 0 4 &i8259 0 0
 
                                /* IDSEL 0x1e */
-                               f000 0 0 1 4d0 c 2
-                               f000 0 0 2 4d0 0 0
-                               f000 0 0 3 4d0 0 0
-                               f000 0 0 4 4d0 0 0
+                               f000 0 0 1 &i8259 c 2
+                               f000 0 0 2 &i8259 0 0
+                               f000 0 0 3 &i8259 0 0
+                               f000 0 0 4 &i8259 0 0
 
                                /* IDSEL 0x1f */
-                               f800 0 0 1 4d0 6 2
-                               f800 0 0 2 4d0 0 0
-                               f800 0 0 3 4d0 0 0
-                               f800 0 0 4 4d0 0 0
+                               f800 0 0 1 &i8259 6 2
+                               f800 0 0 2 &i8259 0 0
+                               f800 0 0 3 &i8259 0 0
+                               f800 0 0 4 &i8259 0 0
                                >;
-                       i8259@4d0 {
-                               linux,phandle = <4d0>;
-                               clock-frequency = <0>;
-                               interrupt-controller;
-                               device_type = "interrupt-controller";
-                               #address-cells = <0>;
-                               #interrupt-cells = <2>;
-                               built-in;
-                               compatible = "chrp,iic";
-                               big-endian;
-                               interrupts = <49 2>;
-                               interrupt-parent = <40000>;
+                       uli1575@0 {
+                               reg = <0 0 0 0 0>;
+                               #size-cells = <2>;
+                               #address-cells = <3>;
+                               ranges = <02000000 0 80000000
+                                         02000000 0 80000000
+                                         0 20000000
+                                         01000000 0 00000000
+                                         01000000 0 00000000
+                                         0 00100000>;
+
+                               pci_bridge@0 {
+                                       reg = <0 0 0 0 0>;
+                                       #size-cells = <2>;
+                                       #address-cells = <3>;
+                                       ranges = <02000000 0 80000000
+                                                 02000000 0 80000000
+                                                 0 20000000
+                                                 01000000 0 00000000
+                                                 01000000 0 00000000
+                                                 0 00100000>;
+
+                                       isa@1e {
+                                               device_type = "isa";
+                                               #interrupt-cells = <2>;
+                                               #size-cells = <1>;
+                                               #address-cells = <2>;
+                                               reg = <f000 0 0 0 0>;
+                                               ranges = <1 0 01000000 0 0
+                                                         00001000>;
+                                               interrupt-parent = <&i8259>;
+
+                                               i8259: interrupt-controller@20 {
+                                                       reg = <1 20 2
+                                                              1 a0 2
+                                                              1 4d0 2>;
+                                                       clock-frequency = <0>;
+                                                       interrupt-controller;
+                                                       device_type = "interrupt-controller";
+                                                       #address-cells = <0>;
+                                                       #interrupt-cells = <2>;
+                                                       built-in;
+                                                       compatible = "chrp,iic";
+                                                       interrupts = <9 2>;
+                                                       interrupt-parent =
+                                                               <&mpic>;
+                                               };
+
+                                               i8042@60 {
+                                                       #size-cells = <0>;
+                                                       #address-cells = <1>;
+                                                       reg = <1 60 1 1 64 1>;
+                                                       interrupts = <1 3 c 3>;
+                                                       interrupt-parent =
+                                                               <&i8259>;
+
+                                                       keyboard@0 {
+                                                               reg = <0>;
+                                                               compatible = "pnpPNP,303";
+                                                       };
+
+                                                       mouse@1 {
+                                                               reg = <1>;
+                                                               compatible = "pnpPNP,f03";
+                                                       };
+                                               };
+
+                                               rtc@70 {
+                                                       compatible =
+                                                               "pnpPNP,b00";
+                                                       reg = <1 70 2>;
+                                               };
+
+                                               gpio@400 {
+                                                       reg = <1 400 80>;
+                                               };
+                                       };
+                               };
                        };
 
                };
-               pic@40000 {
-                       linux,phandle = <40000>;
+
+               pcie@9000 {
+                       compatible = "fsl,mpc8641-pcie";
+                       device_type = "pci";
+                       #interrupt-cells = <1>;
+                       #size-cells = <2>;
+                       #address-cells = <3>;
+                       reg = <9000 1000>;
+                       bus-range = <0 ff>;
+                       ranges = <02000000 0 a0000000 a0000000 0 20000000
+                                 01000000 0 00000000 e3000000 0 00100000>;
+                       clock-frequency = <1fca055>;
+                       interrupt-parent = <&mpic>;
+                       interrupts = <19 2>;
+                       interrupt-map-mask = <f800 0 0 7>;
+                       interrupt-map = <
+                               /* IDSEL 0x0 */
+                               0000 0 0 1 &mpic 4 1
+                               0000 0 0 2 &mpic 5 1
+                               0000 0 0 3 &mpic 6 1
+                               0000 0 0 4 &mpic 7 1
+                               >;
+               };
+
+               mpic: pic@40000 {
                        clock-frequency = <0>;
                        interrupt-controller;
                        #address-cells = <0>;
                        built-in;
                        compatible = "chrp,open-pic";
                        device_type = "open-pic";
-                        big-endian;
-                       interrupts = <
-                               10 2 11 2 12 2 13 2
-                               14 2 15 2 16 2 17 2
-                               18 2 19 2 1a 2 1b 2
-                               1c 2 1d 2 1e 2 1f 2
-                               20 2 21 2 22 2 23 2
-                               24 2 25 2 26 2 27 2
-                               28 2 29 2 2a 2 2b 2
-                               2c 2 2d 2 2e 2 2f 2
-                               30 2 31 2 32 2 33 2
-                               34 2 35 2 36 2 37 2
-                               38 2 39 2 2a 2 3b 2
-                               3c 2 3d 2 3e 2 3f 2
-                               48 1 49 2 4a 1
-                               >;
-                       interrupt-parent = <40000>;
+                       big-endian;
                };
        };
 };