]> err.no Git - linux-2.6/blob - arch/powerpc/boot/dts/mpc8272ads.dts
[POWERPC] mpc82xx: Update mpc8272ads, and factor out PCI and reset.
[linux-2.6] / arch / powerpc / boot / dts / mpc8272ads.dts
1 /*
2  * MPC8272 ADS Device Tree Source
3  *
4  * Copyright 2005 Freescale Semiconductor Inc.
5  *
6  * This program is free software; you can redistribute  it and/or modify it
7  * under  the terms of  the GNU General  Public License as published by the
8  * Free Software Foundation;  either version 2 of the  License, or (at your
9  * option) any later version.
10  */
11
12 / {
13         model = "MPC8272ADS";
14         compatible = "fsl,mpc8272ads";
15         #address-cells = <1>;
16         #size-cells = <1>;
17
18         cpus {
19                 #address-cells = <1>;
20                 #size-cells = <0>;
21
22                 PowerPC,8272@0 {
23                         device_type = "cpu";
24                         reg = <0>;
25                         d-cache-line-size = <d#32>;
26                         i-cache-line-size = <d#32>;
27                         d-cache-size = <d#16384>;
28                         i-cache-size = <d#16384>;
29                         timebase-frequency = <0>;
30                         bus-frequency = <0>;
31                         clock-frequency = <0>;
32                 };
33         };
34
35         memory {
36                 device_type = "memory";
37                 reg = <0 0>;
38         };
39
40         localbus@f0010100 {
41                 compatible = "fsl,mpc8272-localbus",
42                              "fsl,pq2-localbus";
43                 #address-cells = <2>;
44                 #size-cells = <1>;
45                 reg = <f0010100 40>;
46
47                 ranges = <0 0 fe000000 02000000
48                           1 0 f4500000 00008000
49                           3 0 f8200000 00008000>;
50
51                 flash@0,0 {
52                         compatible = "jedec-flash";
53                         reg = <0 0 2000000>;
54                         bank-width = <4>;
55                         device-width = <1>;
56                 };
57
58                 board-control@1,0 {
59                         reg = <1 0 20>;
60                         compatible = "fsl,mpc8272ads-bcsr";
61                 };
62
63                 PCI_PIC: interrupt-controller@3,0 {
64                         compatible = "fsl,mpc8272ads-pci-pic",
65                                      "fsl,pq2ads-pci-pic";
66                         #interrupt-cells = <1>;
67                         interrupt-controller;
68                         reg = <3 0 8>;
69                         interrupt-parent = <&PIC>;
70                         interrupts = <14 8>;
71                 };
72         };
73
74
75         pci@f0010800 {
76                 device_type = "pci";
77                 reg = <f0010800 10c f00101ac 8 f00101c4 8>;
78                 compatible = "fsl,mpc8272-pci", "fsl,pq2-pci";
79                 #interrupt-cells = <1>;
80                 #size-cells = <2>;
81                 #address-cells = <3>;
82                 clock-frequency = <d#66666666>;
83                 interrupt-map-mask = <f800 0 0 7>;
84                 interrupt-map = <
85                                  /* IDSEL 0x16 */
86                                  b000 0 0 1 &PCI_PIC 0
87                                  b000 0 0 2 &PCI_PIC 1
88                                  b000 0 0 3 &PCI_PIC 2
89                                  b000 0 0 4 &PCI_PIC 3
90
91                                  /* IDSEL 0x17 */
92                                  b800 0 0 1 &PCI_PIC 4
93                                  b800 0 0 2 &PCI_PIC 5
94                                  b800 0 0 3 &PCI_PIC 6
95                                  b800 0 0 4 &PCI_PIC 7
96
97                                  /* IDSEL 0x18 */
98                                  c000 0 0 1 &PCI_PIC 8
99                                  c000 0 0 2 &PCI_PIC 9
100                                  c000 0 0 3 &PCI_PIC a
101                                  c000 0 0 4 &PCI_PIC b>;
102
103                 interrupt-parent = <&PIC>;
104                 interrupts = <12 8>;
105                 ranges = <42000000 0 80000000 80000000 0 20000000
106                           02000000 0 a0000000 a0000000 0 20000000
107                           01000000 0 00000000 f6000000 0 02000000>;
108         };
109
110         soc@f0000000 {
111                 #address-cells = <1>;
112                 #size-cells = <1>;
113                 device_type = "soc";
114                 compatible = "fsl,mpc8272", "fsl,pq2-soc";
115                 ranges = <00000000 f0000000 00053000>;
116
117                 // Temporary -- will go away once kernel uses ranges for get_immrbase().
118                 reg = <f0000000 00053000>;
119
120                 cpm@119c0 {
121                         #address-cells = <1>;
122                         #size-cells = <1>;
123                         compatible = "fsl,mpc8272-cpm", "fsl,cpm2";
124                         reg = <119c0 30 0 2000>;
125                         ranges;
126
127                         brg@119f0 {
128                                 compatible = "fsl,mpc8272-brg",
129                                              "fsl,cpm2-brg",
130                                              "fsl,cpm-brg";
131                                 reg = <119f0 10 115f0 10>;
132                         };
133
134                         serial@11a00 {
135                                 device_type = "serial";
136                                 compatible = "fsl,mpc8272-scc-uart",
137                                              "fsl,cpm2-scc-uart";
138                                 reg = <11a00 20 8000 100>;
139                                 interrupts = <28 8>;
140                                 interrupt-parent = <&PIC>;
141                                 fsl,cpm-brg = <1>;
142                                 fsl,cpm-command = <00800000>;
143                         };
144
145                         serial@11a60 {
146                                 device_type = "serial";
147                                 compatible = "fsl,mpc8272-scc-uart",
148                                              "fsl,cpm2-scc-uart";
149                                 reg = <11a60 20 8300 100>;
150                                 interrupts = <2b 8>;
151                                 interrupt-parent = <&PIC>;
152                                 fsl,cpm-brg = <4>;
153                                 fsl,cpm-command = <0ce00000>;
154                         };
155
156                         mdio@10d40 {
157                                 device_type = "mdio";
158                                 compatible = "fsl,mpc8272ads-mdio-bitbang",
159                                              "fsl,mpc8272-mdio-bitbang",
160                                              "fsl,cpm2-mdio-bitbang";
161                                 reg = <10d40 14>;
162                                 #address-cells = <1>;
163                                 #size-cells = <0>;
164                                 fsl,mdio-pin = <12>;
165                                 fsl,mdc-pin = <13>;
166
167                                 PHY0: ethernet-phy@0 {
168                                         interrupt-parent = <&PIC>;
169                                         interrupts = <17 8>;
170                                         reg = <0>;
171                                         device_type = "ethernet-phy";
172                                 };
173
174                                 PHY1: ethernet-phy@1 {
175                                         interrupt-parent = <&PIC>;
176                                         interrupts = <17 8>;
177                                         reg = <3>;
178                                         device_type = "ethernet-phy";
179                                 };
180                         };
181
182                         ethernet@11300 {
183                                 device_type = "network";
184                                 compatible = "fsl,mpc8272-fcc-enet",
185                                              "fsl,cpm2-fcc-enet";
186                                 reg = <11300 20 8400 100 11390 1>;
187                                 local-mac-address = [ 00 00 00 00 00 00 ];
188                                 interrupts = <20 8>;
189                                 interrupt-parent = <&PIC>;
190                                 phy-handle = <&PHY0>;
191                                 linux,network-index = <0>;
192                                 fsl,cpm-command = <12000300>;
193                         };
194
195                         ethernet@11320 {
196                                 device_type = "network";
197                                 compatible = "fsl,mpc8272-fcc-enet",
198                                              "fsl,cpm2-fcc-enet";
199                                 reg = <11320 20 8500 100 113b0 1>;
200                                 local-mac-address = [ 00 00 00 00 00 00 ];
201                                 interrupts = <21 8>;
202                                 interrupt-parent = <&PIC>;
203                                 phy-handle = <&PHY1>;
204                                 linux,network-index = <1>;
205                                 fsl,cpm-command = <16200300>;
206                         };
207                 };
208
209                 PIC: interrupt-controller@10c00 {
210                         #interrupt-cells = <2>;
211                         interrupt-controller;
212                         reg = <10c00 80>;
213                         compatible = "fsl,mpc8272-pic", "fsl,cpm2-pic";
214                 };
215
216 /* May need to remove if on a part without crypto engine */
217                 crypto@30000 {
218                         device_type = "crypto";
219                         model = "SEC2";
220                         compatible = "fsl,mpc8272-talitos-sec2",
221                                      "fsl,talitos-sec2",
222                                      "fsl,talitos",
223                                      "talitos";
224                         reg = <30000 10000>;
225                         interrupts = <b 8>;
226                         interrupt-parent = <&PIC>;
227                         num-channels = <4>;
228                         channel-fifo-len = <18>;
229                         exec-units-mask = <0000007e>;
230 /* desc mask is for rev1.x, we need runtime fixup for >=2.x */
231                         descriptor-types-mask = <01010ebf>;
232                 };
233         };
234
235         chosen {
236                 linux,stdout-path = "/soc/cpm/serial@11a00";
237         };
238 };