aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--arch/arm/boot/dts/armada-370-xp.dtsi176
-rw-r--r--arch/arm/boot/dts/armada-370.dtsi74
-rw-r--r--arch/arm/boot/dts/armada-xp.dtsi100
-rw-r--r--arch/arm/boot/dts/dove.dtsi496
-rw-r--r--arch/arm/boot/dts/kirkwood.dtsi140
-rw-r--r--arch/arm/boot/dts/orion5x.dtsi106
6 files changed, 546 insertions, 546 deletions
diff --git a/arch/arm/boot/dts/armada-370-xp.dtsi b/arch/arm/boot/dts/armada-370-xp.dtsi
index 45839e53538e..b6b253924893 100644
--- a/arch/arm/boot/dts/armada-370-xp.dtsi
+++ b/arch/arm/boot/dts/armada-370-xp.dtsi
@@ -103,22 +103,52 @@
103 #size-cells = <1>; 103 #size-cells = <1>;
104 ranges = <0 MBUS_ID(0xf0, 0x01) 0 0x100000>; 104 ranges = <0 MBUS_ID(0xf0, 0x01) 0 0x100000>;
105 105
106 mbusc: mbus-controller@20000 { 106 rtc@10300 {
107 compatible = "marvell,mbus-controller"; 107 compatible = "marvell,orion-rtc";
108 reg = <0x20000 0x100>, <0x20180 0x20>; 108 reg = <0x10300 0x20>;
109 interrupts = <50>;
109 }; 110 };
110 111
111 mpic: interrupt-controller@20000 { 112 spi0: spi@10600 {
112 compatible = "marvell,mpic"; 113 compatible = "marvell,orion-spi";
113 #interrupt-cells = <1>; 114 reg = <0x10600 0x28>;
114 #size-cells = <1>; 115 #address-cells = <1>;
115 interrupt-controller; 116 #size-cells = <0>;
116 msi-controller; 117 cell-index = <0>;
118 interrupts = <30>;
119 clocks = <&coreclk 0>;
120 status = "disabled";
117 }; 121 };
118 122
119 coherency-fabric@20200 { 123 spi1: spi@10680 {
120 compatible = "marvell,coherency-fabric"; 124 compatible = "marvell,orion-spi";
121 reg = <0x20200 0xb0>, <0x21010 0x1c>; 125 reg = <0x10680 0x28>;
126 #address-cells = <1>;
127 #size-cells = <0>;
128 cell-index = <1>;
129 interrupts = <92>;
130 clocks = <&coreclk 0>;
131 status = "disabled";
132 };
133
134 i2c0: i2c@11000 {
135 compatible = "marvell,mv64xxx-i2c";
136 #address-cells = <1>;
137 #size-cells = <0>;
138 interrupts = <31>;
139 timeout-ms = <1000>;
140 clocks = <&coreclk 0>;
141 status = "disabled";
142 };
143
144 i2c1: i2c@11100 {
145 compatible = "marvell,mv64xxx-i2c";
146 #address-cells = <1>;
147 #size-cells = <0>;
148 interrupts = <32>;
149 timeout-ms = <1000>;
150 clocks = <&coreclk 0>;
151 status = "disabled";
122 }; 152 };
123 153
124 serial@12000 { 154 serial@12000 {
@@ -146,25 +176,41 @@
146 clock-output-names = "nand"; 176 clock-output-names = "nand";
147 }; 177 };
148 178
179 mbusc: mbus-controller@20000 {
180 compatible = "marvell,mbus-controller";
181 reg = <0x20000 0x100>, <0x20180 0x20>;
182 };
183
184 mpic: interrupt-controller@20000 {
185 compatible = "marvell,mpic";
186 #interrupt-cells = <1>;
187 #size-cells = <1>;
188 interrupt-controller;
189 msi-controller;
190 };
191
192 coherency-fabric@20200 {
193 compatible = "marvell,coherency-fabric";
194 reg = <0x20200 0xb0>, <0x21010 0x1c>;
195 };
196
149 timer@20300 { 197 timer@20300 {
150 reg = <0x20300 0x30>, <0x21040 0x30>; 198 reg = <0x20300 0x30>, <0x21040 0x30>;
151 interrupts = <37>, <38>, <39>, <40>, <5>, <6>; 199 interrupts = <37>, <38>, <39>, <40>, <5>, <6>;
152 }; 200 };
153 201
154 sata@a0000 { 202 usb@50000 {
155 compatible = "marvell,orion-sata"; 203 compatible = "marvell,orion-ehci";
156 reg = <0xa0000 0x5000>; 204 reg = <0x50000 0x500>;
157 interrupts = <55>; 205 interrupts = <45>;
158 clocks = <&gateclk 15>, <&gateclk 30>;
159 clock-names = "0", "1";
160 status = "disabled"; 206 status = "disabled";
161 }; 207 };
162 208
163 mdio { 209 usb@51000 {
164 #address-cells = <1>; 210 compatible = "marvell,orion-ehci";
165 #size-cells = <0>; 211 reg = <0x51000 0x500>;
166 compatible = "marvell,orion-mdio"; 212 interrupts = <46>;
167 reg = <0x72004 0x4>; 213 status = "disabled";
168 }; 214 };
169 215
170 eth0: ethernet@70000 { 216 eth0: ethernet@70000 {
@@ -175,6 +221,13 @@
175 status = "disabled"; 221 status = "disabled";
176 }; 222 };
177 223
224 mdio {
225 #address-cells = <1>;
226 #size-cells = <0>;
227 compatible = "marvell,orion-mdio";
228 reg = <0x72004 0x4>;
229 };
230
178 eth1: ethernet@74000 { 231 eth1: ethernet@74000 {
179 compatible = "marvell,armada-370-neta"; 232 compatible = "marvell,armada-370-neta";
180 reg = <0x74000 0x4000>; 233 reg = <0x74000 0x4000>;
@@ -183,32 +236,25 @@
183 status = "disabled"; 236 status = "disabled";
184 }; 237 };
185 238
186 i2c0: i2c@11000 { 239 sata@a0000 {
187 compatible = "marvell,mv64xxx-i2c"; 240 compatible = "marvell,orion-sata";
188 #address-cells = <1>; 241 reg = <0xa0000 0x5000>;
189 #size-cells = <0>; 242 interrupts = <55>;
190 interrupts = <31>; 243 clocks = <&gateclk 15>, <&gateclk 30>;
191 timeout-ms = <1000>; 244 clock-names = "0", "1";
192 clocks = <&coreclk 0>;
193 status = "disabled"; 245 status = "disabled";
194 }; 246 };
195 247
196 i2c1: i2c@11100 { 248 nand@d0000 {
197 compatible = "marvell,mv64xxx-i2c"; 249 compatible = "marvell,armada370-nand";
250 reg = <0xd0000 0x54>;
198 #address-cells = <1>; 251 #address-cells = <1>;
199 #size-cells = <0>; 252 #size-cells = <1>;
200 interrupts = <32>; 253 interrupts = <113>;
201 timeout-ms = <1000>; 254 clocks = <&coredivclk 0>;
202 clocks = <&coreclk 0>;
203 status = "disabled"; 255 status = "disabled";
204 }; 256 };
205 257
206 rtc@10300 {
207 compatible = "marvell,orion-rtc";
208 reg = <0x10300 0x20>;
209 interrupts = <50>;
210 };
211
212 mvsdio@d4000 { 258 mvsdio@d4000 {
213 compatible = "marvell,orion-sdio"; 259 compatible = "marvell,orion-sdio";
214 reg = <0xd4000 0x200>; 260 reg = <0xd4000 0x200>;
@@ -220,52 +266,6 @@
220 cap-mmc-highspeed; 266 cap-mmc-highspeed;
221 status = "disabled"; 267 status = "disabled";
222 }; 268 };
223
224 usb@50000 {
225 compatible = "marvell,orion-ehci";
226 reg = <0x50000 0x500>;
227 interrupts = <45>;
228 status = "disabled";
229 };
230
231 usb@51000 {
232 compatible = "marvell,orion-ehci";
233 reg = <0x51000 0x500>;
234 interrupts = <46>;
235 status = "disabled";
236 };
237
238 spi0: spi@10600 {
239 compatible = "marvell,orion-spi";
240 reg = <0x10600 0x28>;
241 #address-cells = <1>;
242 #size-cells = <0>;
243 cell-index = <0>;
244 interrupts = <30>;
245 clocks = <&coreclk 0>;
246 status = "disabled";
247 };
248
249 spi1: spi@10680 {
250 compatible = "marvell,orion-spi";
251 reg = <0x10680 0x28>;
252 #address-cells = <1>;
253 #size-cells = <0>;
254 cell-index = <1>;
255 interrupts = <92>;
256 clocks = <&coreclk 0>;
257 status = "disabled";
258 };
259
260 nand@d0000 {
261 compatible = "marvell,armada370-nand";
262 reg = <0xd0000 0x54>;
263 #address-cells = <1>;
264 #size-cells = <1>;
265 interrupts = <113>;
266 clocks = <&coredivclk 0>;
267 status = "disabled";
268 };
269 }; 269 };
270 }; 270 };
271 271
diff --git a/arch/arm/boot/dts/armada-370.dtsi b/arch/arm/boot/dts/armada-370.dtsi
index 7a4b82e71aaf..0d8530c98cf5 100644
--- a/arch/arm/boot/dts/armada-370.dtsi
+++ b/arch/arm/boot/dts/armada-370.dtsi
@@ -91,11 +91,6 @@
91 }; 91 };
92 92
93 internal-regs { 93 internal-regs {
94 system-controller@18200 {
95 compatible = "marvell,armada-370-xp-system-controller";
96 reg = <0x18200 0x100>;
97 };
98
99 L2: l2-cache { 94 L2: l2-cache {
100 compatible = "marvell,aurora-outer-cache"; 95 compatible = "marvell,aurora-outer-cache";
101 reg = <0x08000 0x1000>; 96 reg = <0x08000 0x1000>;
@@ -103,8 +98,17 @@
103 wt-override; 98 wt-override;
104 }; 99 };
105 100
106 interrupt-controller@20000 { 101 i2c0: i2c@11000 {
107 reg = <0x20a00 0x1d0>, <0x21870 0x58>; 102 reg = <0x11000 0x20>;
103 };
104
105 i2c1: i2c@11100 {
106 reg = <0x11100 0x20>;
107 };
108
109 system-controller@18200 {
110 compatible = "marvell,armada-370-xp-system-controller";
111 reg = <0x18200 0x100>;
108 }; 112 };
109 113
110 pinctrl { 114 pinctrl {
@@ -163,9 +167,11 @@
163 interrupts = <91>; 167 interrupts = <91>;
164 }; 168 };
165 169
166 timer@20300 { 170 gateclk: clock-gating-control@18220 {
167 compatible = "marvell,armada-370-timer"; 171 compatible = "marvell,armada-370-gating-clock";
168 clocks = <&coreclk 2>; 172 reg = <0x18220 0x4>;
173 clocks = <&coreclk 0>;
174 #clock-cells = <1>;
169 }; 175 };
170 176
171 coreclk: mvebu-sar@18230 { 177 coreclk: mvebu-sar@18230 {
@@ -174,11 +180,28 @@
174 #clock-cells = <1>; 180 #clock-cells = <1>;
175 }; 181 };
176 182
177 gateclk: clock-gating-control@18220 { 183 thermal@18300 {
178 compatible = "marvell,armada-370-gating-clock"; 184 compatible = "marvell,armada370-thermal";
179 reg = <0x18220 0x4>; 185 reg = <0x18300 0x4
186 0x18304 0x4>;
187 status = "okay";
188 };
189
190 interrupt-controller@20000 {
191 reg = <0x20a00 0x1d0>, <0x21870 0x58>;
192 };
193
194 timer@20300 {
195 compatible = "marvell,armada-370-timer";
196 clocks = <&coreclk 2>;
197 };
198
199 usb@50000 {
200 clocks = <&coreclk 0>;
201 };
202
203 usb@51000 {
180 clocks = <&coreclk 0>; 204 clocks = <&coreclk 0>;
181 #clock-cells = <1>;
182 }; 205 };
183 206
184 xor@60800 { 207 xor@60800 {
@@ -218,29 +241,6 @@
218 dmacap,memset; 241 dmacap,memset;
219 }; 242 };
220 }; 243 };
221
222 i2c0: i2c@11000 {
223 reg = <0x11000 0x20>;
224 };
225
226 i2c1: i2c@11100 {
227 reg = <0x11100 0x20>;
228 };
229
230 usb@50000 {
231 clocks = <&coreclk 0>;
232 };
233
234 usb@51000 {
235 clocks = <&coreclk 0>;
236 };
237
238 thermal@18300 {
239 compatible = "marvell,armada370-thermal";
240 reg = <0x18300 0x4
241 0x18304 0x4>;
242 status = "okay";
243 };
244 }; 244 };
245 }; 245 };
246}; 246};
diff --git a/arch/arm/boot/dts/armada-xp.dtsi b/arch/arm/boot/dts/armada-xp.dtsi
index 281c6447e872..4919fb82ac62 100644
--- a/arch/arm/boot/dts/armada-xp.dtsi
+++ b/arch/arm/boot/dts/armada-xp.dtsi
@@ -42,13 +42,14 @@
42 wt-override; 42 wt-override;
43 }; 43 };
44 44
45 interrupt-controller@20000 { 45 i2c0: i2c@11000 {
46 reg = <0x20a00 0x2d0>, <0x21070 0x58>; 46 compatible = "marvell,mv78230-i2c", "marvell,mv64xxx-i2c";
47 reg = <0x11000 0x100>;
47 }; 48 };
48 49
49 armada-370-xp-pmsu@22000 { 50 i2c1: i2c@11100 {
50 compatible = "marvell,armada-370-xp-pmsu"; 51 compatible = "marvell,mv78230-i2c", "marvell,mv64xxx-i2c";
51 reg = <0x22100 0x430>, <0x20800 0x20>; 52 reg = <0x11100 0x100>;
52 }; 53 };
53 54
54 serial@12200 { 55 serial@12200 {
@@ -68,10 +69,16 @@
68 status = "disabled"; 69 status = "disabled";
69 }; 70 };
70 71
71 timer@20300 { 72 system-controller@18200 {
72 compatible = "marvell,armada-xp-timer"; 73 compatible = "marvell,armada-370-xp-system-controller";
73 clocks = <&coreclk 2>, <&refclk>; 74 reg = <0x18200 0x500>;
74 clock-names = "nbclk", "fixed"; 75 };
76
77 gateclk: clock-gating-control@18220 {
78 compatible = "marvell,armada-xp-gating-clock";
79 reg = <0x18220 0x4>;
80 clocks = <&coreclk 0>;
81 #clock-cells = <1>;
75 }; 82 };
76 83
77 coreclk: mvebu-sar@18230 { 84 coreclk: mvebu-sar@18230 {
@@ -80,6 +87,13 @@
80 #clock-cells = <1>; 87 #clock-cells = <1>;
81 }; 88 };
82 89
90 thermal@182b0 {
91 compatible = "marvell,armadaxp-thermal";
92 reg = <0x182b0 0x4
93 0x184d0 0x4>;
94 status = "okay";
95 };
96
83 cpuclk: clock-complex@18700 { 97 cpuclk: clock-complex@18700 {
84 #clock-cells = <1>; 98 #clock-cells = <1>;
85 compatible = "marvell,armada-xp-cpu-clock"; 99 compatible = "marvell,armada-xp-cpu-clock";
@@ -87,16 +101,19 @@
87 clocks = <&coreclk 1>; 101 clocks = <&coreclk 1>;
88 }; 102 };
89 103
90 gateclk: clock-gating-control@18220 { 104 interrupt-controller@20000 {
91 compatible = "marvell,armada-xp-gating-clock"; 105 reg = <0x20a00 0x2d0>, <0x21070 0x58>;
92 reg = <0x18220 0x4>;
93 clocks = <&coreclk 0>;
94 #clock-cells = <1>;
95 }; 106 };
96 107
97 system-controller@18200 { 108 timer@20300 {
98 compatible = "marvell,armada-370-xp-system-controller"; 109 compatible = "marvell,armada-xp-timer";
99 reg = <0x18200 0x500>; 110 clocks = <&coreclk 2>, <&refclk>;
111 clock-names = "nbclk", "fixed";
112 };
113
114 armada-370-xp-pmsu@22000 {
115 compatible = "marvell,armada-370-xp-pmsu";
116 reg = <0x22100 0x430>, <0x20800 0x20>;
100 }; 117 };
101 118
102 eth2: ethernet@30000 { 119 eth2: ethernet@30000 {
@@ -107,6 +124,22 @@
107 status = "disabled"; 124 status = "disabled";
108 }; 125 };
109 126
127 usb@50000 {
128 clocks = <&gateclk 18>;
129 };
130
131 usb@51000 {
132 clocks = <&gateclk 19>;
133 };
134
135 usb@52000 {
136 compatible = "marvell,orion-ehci";
137 reg = <0x52000 0x500>;
138 interrupts = <47>;
139 clocks = <&gateclk 20>;
140 status = "disabled";
141 };
142
110 xor@60900 { 143 xor@60900 {
111 compatible = "marvell,orion-xor"; 144 compatible = "marvell,orion-xor";
112 reg = <0x60900 0x100 145 reg = <0x60900 0x100
@@ -146,39 +179,6 @@
146 dmacap,memset; 179 dmacap,memset;
147 }; 180 };
148 }; 181 };
149
150 i2c0: i2c@11000 {
151 compatible = "marvell,mv78230-i2c", "marvell,mv64xxx-i2c";
152 reg = <0x11000 0x100>;
153 };
154
155 i2c1: i2c@11100 {
156 compatible = "marvell,mv78230-i2c", "marvell,mv64xxx-i2c";
157 reg = <0x11100 0x100>;
158 };
159
160 usb@50000 {
161 clocks = <&gateclk 18>;
162 };
163
164 usb@51000 {
165 clocks = <&gateclk 19>;
166 };
167
168 usb@52000 {
169 compatible = "marvell,orion-ehci";
170 reg = <0x52000 0x500>;
171 interrupts = <47>;
172 clocks = <&gateclk 20>;
173 status = "disabled";
174 };
175
176 thermal@182b0 {
177 compatible = "marvell,armadaxp-thermal";
178 reg = <0x182b0 0x4
179 0x184d0 0x4>;
180 status = "okay";
181 };
182 }; 182 };
183 }; 183 };
184 184
diff --git a/arch/arm/boot/dts/dove.dtsi b/arch/arm/boot/dts/dove.dtsi
index db24b41a5264..852db2860015 100644
--- a/arch/arm/boot/dts/dove.dtsi
+++ b/arch/arm/boot/dts/dove.dtsi
@@ -107,60 +107,29 @@
107 0xffffe000 MBUS_ID(0x03, 0x01) 0 0x0000800 /* CESA SRAM 2k */ 107 0xffffe000 MBUS_ID(0x03, 0x01) 0 0x0000800 /* CESA SRAM 2k */
108 0xfffff000 MBUS_ID(0x0d, 0x00) 0 0x0000800>; /* PMU SRAM 2k */ 108 0xfffff000 MBUS_ID(0x0d, 0x00) 0 0x0000800>; /* PMU SRAM 2k */
109 109
110 mbusc: mbus-ctrl@20000 { 110 spi0: spi-ctrl@10600 {
111 compatible = "marvell,mbus-controller"; 111 compatible = "marvell,orion-spi";
112 reg = <0x20000 0x80>, <0x800100 0x8>; 112 #address-cells = <1>;
113 }; 113 #size-cells = <0>;
114 114 cell-index = <0>;
115 timer: timer@20300 { 115 interrupts = <6>;
116 compatible = "marvell,orion-timer"; 116 reg = <0x10600 0x28>;
117 reg = <0x20300 0x20>;
118 interrupt-parent = <&bridge_intc>;
119 interrupts = <1>, <2>;
120 clocks = <&core_clk 0>; 117 clocks = <&core_clk 0>;
118 pinctrl-0 = <&pmx_spi0>;
119 pinctrl-names = "default";
120 status = "disabled";
121 }; 121 };
122 122
123 intc: main-interrupt-ctrl@20200 { 123 i2c0: i2c-ctrl@11000 {
124 compatible = "marvell,orion-intc"; 124 compatible = "marvell,mv64xxx-i2c";
125 interrupt-controller; 125 reg = <0x11000 0x20>;
126 #interrupt-cells = <1>; 126 #address-cells = <1>;
127 reg = <0x20200 0x10>, <0x20210 0x10>; 127 #size-cells = <0>;
128 }; 128 interrupts = <11>;
129 129 clock-frequency = <400000>;
130 bridge_intc: bridge-interrupt-ctrl@20110 { 130 timeout-ms = <1000>;
131 compatible = "marvell,orion-bridge-intc";
132 interrupt-controller;
133 #interrupt-cells = <1>;
134 reg = <0x20110 0x8>;
135 interrupts = <0>;
136 marvell,#interrupts = <5>;
137 };
138
139 pmu_intc: pmu-interrupt-ctrl@d0050 {
140 compatible = "marvell,dove-pmu-intc";
141 interrupt-controller;
142 #interrupt-cells = <1>;
143 reg = <0xd0050 0x8>;
144 interrupts = <33>;
145 marvell,#interrupts = <7>;
146 };
147
148 core_clk: core-clocks@d0214 {
149 compatible = "marvell,dove-core-clock";
150 reg = <0xd0214 0x4>;
151 #clock-cells = <1>;
152 };
153
154 gate_clk: clock-gating-ctrl@d0038 {
155 compatible = "marvell,dove-gating-clock";
156 reg = <0xd0038 0x4>;
157 clocks = <&core_clk 0>; 131 clocks = <&core_clk 0>;
158 #clock-cells = <1>; 132 status = "disabled";
159 };
160
161 thermal: thermal-diode@d001c {
162 compatible = "marvell,dove-thermal";
163 reg = <0xd001c 0x0c>, <0xd005c 0x08>;
164 }; 133 };
165 134
166 uart0: serial@12000 { 135 uart0: serial@12000 {
@@ -201,34 +170,213 @@
201 status = "disabled"; 170 status = "disabled";
202 }; 171 };
203 172
204 gpio0: gpio-ctrl@d0400 { 173 spi1: spi-ctrl@14600 {
205 compatible = "marvell,orion-gpio"; 174 compatible = "marvell,orion-spi";
206 #gpio-cells = <2>; 175 #address-cells = <1>;
207 gpio-controller; 176 #size-cells = <0>;
208 reg = <0xd0400 0x20>; 177 cell-index = <1>;
209 ngpios = <32>; 178 interrupts = <5>;
179 reg = <0x14600 0x28>;
180 clocks = <&core_clk 0>;
181 status = "disabled";
182 };
183
184 mbusc: mbus-ctrl@20000 {
185 compatible = "marvell,mbus-controller";
186 reg = <0x20000 0x80>, <0x800100 0x8>;
187 };
188
189 bridge_intc: bridge-interrupt-ctrl@20110 {
190 compatible = "marvell,orion-bridge-intc";
210 interrupt-controller; 191 interrupt-controller;
211 #interrupt-cells = <2>; 192 #interrupt-cells = <1>;
212 interrupts = <12>, <13>, <14>, <60>; 193 reg = <0x20110 0x8>;
194 interrupts = <0>;
195 marvell,#interrupts = <5>;
213 }; 196 };
214 197
215 gpio1: gpio-ctrl@d0420 { 198 intc: main-interrupt-ctrl@20200 {
216 compatible = "marvell,orion-gpio"; 199 compatible = "marvell,orion-intc";
217 #gpio-cells = <2>;
218 gpio-controller;
219 reg = <0xd0420 0x20>;
220 ngpios = <32>;
221 interrupt-controller; 200 interrupt-controller;
222 #interrupt-cells = <2>; 201 #interrupt-cells = <1>;
223 interrupts = <61>; 202 reg = <0x20200 0x10>, <0x20210 0x10>;
224 }; 203 };
225 204
226 gpio2: gpio-ctrl@e8400 { 205 timer: timer@20300 {
227 compatible = "marvell,orion-gpio"; 206 compatible = "marvell,orion-timer";
228 #gpio-cells = <2>; 207 reg = <0x20300 0x20>;
229 gpio-controller; 208 interrupt-parent = <&bridge_intc>;
230 reg = <0xe8400 0x0c>; 209 interrupts = <1>, <2>;
231 ngpios = <8>; 210 clocks = <&core_clk 0>;
211 };
212
213 crypto: crypto-engine@30000 {
214 compatible = "marvell,orion-crypto";
215 reg = <0x30000 0x10000>,
216 <0xffffe000 0x800>;
217 reg-names = "regs", "sram";
218 interrupts = <31>;
219 clocks = <&gate_clk 15>;
220 status = "okay";
221 };
222
223 ehci0: usb-host@50000 {
224 compatible = "marvell,orion-ehci";
225 reg = <0x50000 0x1000>;
226 interrupts = <24>;
227 clocks = <&gate_clk 0>;
228 status = "okay";
229 };
230
231 ehci1: usb-host@51000 {
232 compatible = "marvell,orion-ehci";
233 reg = <0x51000 0x1000>;
234 interrupts = <25>;
235 clocks = <&gate_clk 1>;
236 status = "okay";
237 };
238
239 xor0: dma-engine@60800 {
240 compatible = "marvell,orion-xor";
241 reg = <0x60800 0x100
242 0x60a00 0x100>;
243 clocks = <&gate_clk 23>;
244 status = "okay";
245
246 channel0 {
247 interrupts = <39>;
248 dmacap,memcpy;
249 dmacap,xor;
250 };
251
252 channel1 {
253 interrupts = <40>;
254 dmacap,memcpy;
255 dmacap,xor;
256 };
257 };
258
259 xor1: dma-engine@60900 {
260 compatible = "marvell,orion-xor";
261 reg = <0x60900 0x100
262 0x60b00 0x100>;
263 clocks = <&gate_clk 24>;
264 status = "okay";
265
266 channel0 {
267 interrupts = <42>;
268 dmacap,memcpy;
269 dmacap,xor;
270 };
271
272 channel1 {
273 interrupts = <43>;
274 dmacap,memcpy;
275 dmacap,xor;
276 };
277 };
278
279 sdio1: sdio-host@90000 {
280 compatible = "marvell,dove-sdhci";
281 reg = <0x90000 0x100>;
282 interrupts = <36>, <38>;
283 clocks = <&gate_clk 9>;
284 pinctrl-0 = <&pmx_sdio1>;
285 pinctrl-names = "default";
286 status = "disabled";
287 };
288
289 eth: ethernet-ctrl@72000 {
290 compatible = "marvell,orion-eth";
291 #address-cells = <1>;
292 #size-cells = <0>;
293 reg = <0x72000 0x4000>;
294 clocks = <&gate_clk 2>;
295 marvell,tx-checksum-limit = <1600>;
296 status = "disabled";
297
298 ethernet-port@0 {
299 device_type = "network";
300 compatible = "marvell,orion-eth-port";
301 reg = <0>;
302 interrupts = <29>;
303 /* overwrite MAC address in bootloader */
304 local-mac-address = [00 00 00 00 00 00];
305 phy-handle = <&ethphy>;
306 };
307 };
308
309 mdio: mdio-bus@72004 {
310 compatible = "marvell,orion-mdio";
311 #address-cells = <1>;
312 #size-cells = <0>;
313 reg = <0x72004 0x84>;
314 interrupts = <30>;
315 clocks = <&gate_clk 2>;
316 status = "disabled";
317
318 ethphy: ethernet-phy {
319 device_type = "ethernet-phy";
320 /* set phy address in board file */
321 };
322 };
323
324 sdio0: sdio-host@92000 {
325 compatible = "marvell,dove-sdhci";
326 reg = <0x92000 0x100>;
327 interrupts = <35>, <37>;
328 clocks = <&gate_clk 8>;
329 pinctrl-0 = <&pmx_sdio0>;
330 pinctrl-names = "default";
331 status = "disabled";
332 };
333
334 sata0: sata-host@a0000 {
335 compatible = "marvell,orion-sata";
336 reg = <0xa0000 0x2400>;
337 interrupts = <62>;
338 clocks = <&gate_clk 3>;
339 nr-ports = <1>;
340 status = "disabled";
341 };
342
343 audio0: audio-controller@b0000 {
344 compatible = "marvell,dove-audio";
345 reg = <0xb0000 0x2210>;
346 interrupts = <19>, <20>;
347 clocks = <&gate_clk 12>;
348 clock-names = "internal";
349 status = "disabled";
350 };
351
352 audio1: audio-controller@b4000 {
353 compatible = "marvell,dove-audio";
354 reg = <0xb4000 0x2210>;
355 interrupts = <21>, <22>;
356 clocks = <&gate_clk 13>;
357 clock-names = "internal";
358 status = "disabled";
359 };
360
361 thermal: thermal-diode@d001c {
362 compatible = "marvell,dove-thermal";
363 reg = <0xd001c 0x0c>, <0xd005c 0x08>;
364 };
365
366 gate_clk: clock-gating-ctrl@d0038 {
367 compatible = "marvell,dove-gating-clock";
368 reg = <0xd0038 0x4>;
369 clocks = <&core_clk 0>;
370 #clock-cells = <1>;
371 };
372
373 pmu_intc: pmu-interrupt-ctrl@d0050 {
374 compatible = "marvell,dove-pmu-intc";
375 interrupt-controller;
376 #interrupt-cells = <1>;
377 reg = <0xd0050 0x8>;
378 interrupts = <33>;
379 marvell,#interrupts = <7>;
232 }; 380 };
233 381
234 pinctrl: pin-ctrl@d0200 { 382 pinctrl: pin-ctrl@d0200 {
@@ -422,85 +570,32 @@
422 }; 570 };
423 }; 571 };
424 572
425 spi0: spi-ctrl@10600 { 573 core_clk: core-clocks@d0214 {
426 compatible = "marvell,orion-spi"; 574 compatible = "marvell,dove-core-clock";
427 #address-cells = <1>; 575 reg = <0xd0214 0x4>;
428 #size-cells = <0>; 576 #clock-cells = <1>;
429 cell-index = <0>;
430 interrupts = <6>;
431 reg = <0x10600 0x28>;
432 clocks = <&core_clk 0>;
433 pinctrl-0 = <&pmx_spi0>;
434 pinctrl-names = "default";
435 status = "disabled";
436 };
437
438 spi1: spi-ctrl@14600 {
439 compatible = "marvell,orion-spi";
440 #address-cells = <1>;
441 #size-cells = <0>;
442 cell-index = <1>;
443 interrupts = <5>;
444 reg = <0x14600 0x28>;
445 clocks = <&core_clk 0>;
446 status = "disabled";
447 };
448
449 i2c0: i2c-ctrl@11000 {
450 compatible = "marvell,mv64xxx-i2c";
451 reg = <0x11000 0x20>;
452 #address-cells = <1>;
453 #size-cells = <0>;
454 interrupts = <11>;
455 clock-frequency = <400000>;
456 timeout-ms = <1000>;
457 clocks = <&core_clk 0>;
458 status = "disabled";
459 };
460
461 ehci0: usb-host@50000 {
462 compatible = "marvell,orion-ehci";
463 reg = <0x50000 0x1000>;
464 interrupts = <24>;
465 clocks = <&gate_clk 0>;
466 status = "okay";
467 };
468
469 ehci1: usb-host@51000 {
470 compatible = "marvell,orion-ehci";
471 reg = <0x51000 0x1000>;
472 interrupts = <25>;
473 clocks = <&gate_clk 1>;
474 status = "okay";
475 };
476
477 sdio0: sdio-host@92000 {
478 compatible = "marvell,dove-sdhci";
479 reg = <0x92000 0x100>;
480 interrupts = <35>, <37>;
481 clocks = <&gate_clk 8>;
482 pinctrl-0 = <&pmx_sdio0>;
483 pinctrl-names = "default";
484 status = "disabled";
485 }; 577 };
486 578
487 sdio1: sdio-host@90000 { 579 gpio0: gpio-ctrl@d0400 {
488 compatible = "marvell,dove-sdhci"; 580 compatible = "marvell,orion-gpio";
489 reg = <0x90000 0x100>; 581 #gpio-cells = <2>;
490 interrupts = <36>, <38>; 582 gpio-controller;
491 clocks = <&gate_clk 9>; 583 reg = <0xd0400 0x20>;
492 pinctrl-0 = <&pmx_sdio1>; 584 ngpios = <32>;
493 pinctrl-names = "default"; 585 interrupt-controller;
494 status = "disabled"; 586 #interrupt-cells = <2>;
587 interrupts = <12>, <13>, <14>, <60>;
495 }; 588 };
496 589
497 sata0: sata-host@a0000 { 590 gpio1: gpio-ctrl@d0420 {
498 compatible = "marvell,orion-sata"; 591 compatible = "marvell,orion-gpio";
499 reg = <0xa0000 0x2400>; 592 #gpio-cells = <2>;
500 interrupts = <62>; 593 gpio-controller;
501 clocks = <&gate_clk 3>; 594 reg = <0xd0420 0x20>;
502 nr-ports = <1>; 595 ngpios = <32>;
503 status = "disabled"; 596 interrupt-controller;
597 #interrupt-cells = <2>;
598 interrupts = <61>;
504 }; 599 };
505 600
506 rtc: real-time-clock@d8500 { 601 rtc: real-time-clock@d8500 {
@@ -510,107 +605,12 @@
510 interrupts = <5>; 605 interrupts = <5>;
511 }; 606 };
512 607
513 crypto: crypto-engine@30000 { 608 gpio2: gpio-ctrl@e8400 {
514 compatible = "marvell,orion-crypto"; 609 compatible = "marvell,orion-gpio";
515 reg = <0x30000 0x10000>, 610 #gpio-cells = <2>;
516 <0xffffe000 0x800>; 611 gpio-controller;
517 reg-names = "regs", "sram"; 612 reg = <0xe8400 0x0c>;
518 interrupts = <31>; 613 ngpios = <8>;
519 clocks = <&gate_clk 15>;
520 status = "okay";
521 };
522
523 xor0: dma-engine@60800 {
524 compatible = "marvell,orion-xor";
525 reg = <0x60800 0x100
526 0x60a00 0x100>;
527 clocks = <&gate_clk 23>;
528 status = "okay";
529
530 channel0 {
531 interrupts = <39>;
532 dmacap,memcpy;
533 dmacap,xor;
534 };
535
536 channel1 {
537 interrupts = <40>;
538 dmacap,memcpy;
539 dmacap,xor;
540 };
541 };
542
543 xor1: dma-engine@60900 {
544 compatible = "marvell,orion-xor";
545 reg = <0x60900 0x100
546 0x60b00 0x100>;
547 clocks = <&gate_clk 24>;
548 status = "okay";
549
550 channel0 {
551 interrupts = <42>;
552 dmacap,memcpy;
553 dmacap,xor;
554 };
555
556 channel1 {
557 interrupts = <43>;
558 dmacap,memcpy;
559 dmacap,xor;
560 };
561 };
562
563 mdio: mdio-bus@72004 {
564 compatible = "marvell,orion-mdio";
565 #address-cells = <1>;
566 #size-cells = <0>;
567 reg = <0x72004 0x84>;
568 interrupts = <30>;
569 clocks = <&gate_clk 2>;
570 status = "disabled";
571
572 ethphy: ethernet-phy {
573 device_type = "ethernet-phy";
574 /* set phy address in board file */
575 };
576 };
577
578 eth: ethernet-ctrl@72000 {
579 compatible = "marvell,orion-eth";
580 #address-cells = <1>;
581 #size-cells = <0>;
582 reg = <0x72000 0x4000>;
583 clocks = <&gate_clk 2>;
584 marvell,tx-checksum-limit = <1600>;
585 status = "disabled";
586
587 ethernet-port@0 {
588 device_type = "network";
589 compatible = "marvell,orion-eth-port";
590 reg = <0>;
591 interrupts = <29>;
592 /* overwrite MAC address in bootloader */
593 local-mac-address = [00 00 00 00 00 00];
594 phy-handle = <&ethphy>;
595 };
596 };
597
598 audio0: audio-controller@b0000 {
599 compatible = "marvell,dove-audio";
600 reg = <0xb0000 0x2210>;
601 interrupts = <19>, <20>;
602 clocks = <&gate_clk 12>;
603 clock-names = "internal";
604 status = "disabled";
605 };
606
607 audio1: audio-controller@b4000 {
608 compatible = "marvell,dove-audio";
609 reg = <0xb4000 0x2210>;
610 interrupts = <21>, <22>;
611 clocks = <&gate_clk 13>;
612 clock-names = "internal";
613 status = "disabled";
614 }; 614 };
615 }; 615 };
616 }; 616 };
diff --git a/arch/arm/boot/dts/kirkwood.dtsi b/arch/arm/boot/dts/kirkwood.dtsi
index dd58a25a4166..1da94c187085 100644
--- a/arch/arm/boot/dts/kirkwood.dtsi
+++ b/arch/arm/boot/dts/kirkwood.dtsi
@@ -70,39 +70,21 @@
70 #address-cells = <1>; 70 #address-cells = <1>;
71 #size-cells = <1>; 71 #size-cells = <1>;
72 72
73 mbusc: mbus-controller@20000 {
74 compatible = "marvell,mbus-controller";
75 reg = <0x20000 0x80>, <0x1500 0x20>;
76 };
77
78 timer: timer@20300 {
79 compatible = "marvell,orion-timer";
80 reg = <0x20300 0x20>;
81 interrupt-parent = <&bridge_intc>;
82 interrupts = <1>, <2>;
83 clocks = <&core_clk 0>;
84 };
85
86 intc: main-interrupt-ctrl@20200 {
87 compatible = "marvell,orion-intc";
88 interrupt-controller;
89 #interrupt-cells = <1>;
90 reg = <0x20200 0x10>, <0x20210 0x10>;
91 };
92
93 bridge_intc: bridge-interrupt-ctrl@20110 {
94 compatible = "marvell,orion-bridge-intc";
95 interrupt-controller;
96 #interrupt-cells = <1>;
97 reg = <0x20110 0x8>;
98 interrupts = <1>;
99 marvell,#interrupts = <6>;
100 };
101
102 core_clk: core-clocks@10030 { 73 core_clk: core-clocks@10030 {
103 compatible = "marvell,kirkwood-core-clock"; 74 compatible = "marvell,kirkwood-core-clock";
104 reg = <0x10030 0x4>; 75 reg = <0x10030 0x4>;
105 #clock-cells = <1>; 76 #clock-cells = <1>;
77 };
78
79 spi@10600 {
80 compatible = "marvell,orion-spi";
81 #address-cells = <1>;
82 #size-cells = <0>;
83 cell-index = <0>;
84 interrupts = <23>;
85 reg = <0x10600 0x28>;
86 clocks = <&gate_clk 7>;
87 status = "disabled";
106 }; 88 };
107 89
108 gpio0: gpio@10100 { 90 gpio0: gpio@10100 {
@@ -129,6 +111,17 @@
129 clocks = <&gate_clk 7>; 111 clocks = <&gate_clk 7>;
130 }; 112 };
131 113
114 i2c@11000 {
115 compatible = "marvell,mv64xxx-i2c";
116 reg = <0x11000 0x20>;
117 #address-cells = <1>;
118 #size-cells = <0>;
119 interrupts = <29>;
120 clock-frequency = <100000>;
121 clocks = <&gate_clk 7>;
122 status = "disabled";
123 };
124
132 serial@12000 { 125 serial@12000 {
133 compatible = "ns16550a"; 126 compatible = "ns16550a";
134 reg = <0x12000 0x100>; 127 reg = <0x12000 0x100>;
@@ -147,15 +140,18 @@
147 status = "disabled"; 140 status = "disabled";
148 }; 141 };
149 142
150 spi@10600 { 143 mbusc: mbus-controller@20000 {
151 compatible = "marvell,orion-spi"; 144 compatible = "marvell,mbus-controller";
152 #address-cells = <1>; 145 reg = <0x20000 0x80>, <0x1500 0x20>;
153 #size-cells = <0>; 146 };
154 cell-index = <0>; 147
155 interrupts = <23>; 148 bridge_intc: bridge-interrupt-ctrl@20110 {
156 reg = <0x10600 0x28>; 149 compatible = "marvell,orion-bridge-intc";
157 clocks = <&gate_clk 7>; 150 interrupt-controller;
158 status = "disabled"; 151 #interrupt-cells = <1>;
152 reg = <0x20110 0x8>;
153 interrupts = <1>;
154 marvell,#interrupts = <6>;
159 }; 155 };
160 156
161 gate_clk: clock-gating-control@2011c { 157 gate_clk: clock-gating-control@2011c {
@@ -165,6 +161,21 @@
165 #clock-cells = <1>; 161 #clock-cells = <1>;
166 }; 162 };
167 163
164 intc: main-interrupt-ctrl@20200 {
165 compatible = "marvell,orion-intc";
166 interrupt-controller;
167 #interrupt-cells = <1>;
168 reg = <0x20200 0x10>, <0x20210 0x10>;
169 };
170
171 timer: timer@20300 {
172 compatible = "marvell,orion-timer";
173 reg = <0x20300 0x20>;
174 interrupt-parent = <&bridge_intc>;
175 interrupts = <1>, <2>;
176 clocks = <&core_clk 0>;
177 };
178
168 wdt: watchdog-timer@20300 { 179 wdt: watchdog-timer@20300 {
169 compatible = "marvell,orion-wdt"; 180 compatible = "marvell,orion-wdt";
170 reg = <0x20300 0x28>; 181 reg = <0x20300 0x28>;
@@ -174,6 +185,14 @@
174 status = "okay"; 185 status = "okay";
175 }; 186 };
176 187
188 ehci@50000 {
189 compatible = "marvell,orion-ehci";
190 reg = <0x50000 0x1000>;
191 interrupts = <19>;
192 clocks = <&gate_clk 3>;
193 status = "okay";
194 };
195
177 xor@60800 { 196 xor@60800 {
178 compatible = "marvell,orion-xor"; 197 compatible = "marvell,orion-xor";
179 reg = <0x60800 0x100 198 reg = <0x60800 0x100
@@ -214,37 +233,6 @@
214 }; 233 };
215 }; 234 };
216 235
217 ehci@50000 {
218 compatible = "marvell,orion-ehci";
219 reg = <0x50000 0x1000>;
220 interrupts = <19>;
221 clocks = <&gate_clk 3>;
222 status = "okay";
223 };
224
225 i2c@11000 {
226 compatible = "marvell,mv64xxx-i2c";
227 reg = <0x11000 0x20>;
228 #address-cells = <1>;
229 #size-cells = <0>;
230 interrupts = <29>;
231 clock-frequency = <100000>;
232 clocks = <&gate_clk 7>;
233 status = "disabled";
234 };
235
236 mdio: mdio-bus@72004 {
237 compatible = "marvell,orion-mdio";
238 #address-cells = <1>;
239 #size-cells = <0>;
240 reg = <0x72004 0x84>;
241 interrupts = <46>;
242 clocks = <&gate_clk 0>;
243 status = "disabled";
244
245 /* add phy nodes in board file */
246 };
247
248 eth0: ethernet-controller@72000 { 236 eth0: ethernet-controller@72000 {
249 compatible = "marvell,kirkwood-eth"; 237 compatible = "marvell,kirkwood-eth";
250 #address-cells = <1>; 238 #address-cells = <1>;
@@ -265,6 +253,18 @@
265 }; 253 };
266 }; 254 };
267 255
256 mdio: mdio-bus@72004 {
257 compatible = "marvell,orion-mdio";
258 #address-cells = <1>;
259 #size-cells = <0>;
260 reg = <0x72004 0x84>;
261 interrupts = <46>;
262 clocks = <&gate_clk 0>;
263 status = "disabled";
264
265 /* add phy nodes in board file */
266 };
267
268 eth1: ethernet-controller@76000 { 268 eth1: ethernet-controller@76000 {
269 compatible = "marvell,kirkwood-eth"; 269 compatible = "marvell,kirkwood-eth";
270 #address-cells = <1>; 270 #address-cells = <1>;
diff --git a/arch/arm/boot/dts/orion5x.dtsi b/arch/arm/boot/dts/orion5x.dtsi
index e06c37e91ac6..9f51538cd9ef 100644
--- a/arch/arm/boot/dts/orion5x.dtsi
+++ b/arch/arm/boot/dts/orion5x.dtsi
@@ -42,6 +42,25 @@
42 interrupts = <6>, <7>, <8>, <9>; 42 interrupts = <6>, <7>, <8>, <9>;
43 }; 43 };
44 44
45 spi@10600 {
46 compatible = "marvell,orion-spi";
47 #address-cells = <1>;
48 #size-cells = <0>;
49 cell-index = <0>;
50 reg = <0x10600 0x28>;
51 status = "disabled";
52 };
53
54 i2c@11000 {
55 compatible = "marvell,mv64xxx-i2c";
56 reg = <0x11000 0x20>;
57 #address-cells = <1>;
58 #size-cells = <0>;
59 interrupts = <5>;
60 clock-frequency = <100000>;
61 status = "disabled";
62 };
63
45 serial@12000 { 64 serial@12000 {
46 compatible = "ns16550a"; 65 compatible = "ns16550a";
47 reg = <0x12000 0x100>; 66 reg = <0x12000 0x100>;
@@ -60,15 +79,6 @@
60 status = "disabled"; 79 status = "disabled";
61 }; 80 };
62 81
63 spi@10600 {
64 compatible = "marvell,orion-spi";
65 #address-cells = <1>;
66 #size-cells = <0>;
67 cell-index = <0>;
68 reg = <0x10600 0x28>;
69 status = "disabled";
70 };
71
72 wdt@20300 { 82 wdt@20300 {
73 compatible = "marvell,orion-wdt"; 83 compatible = "marvell,orion-wdt";
74 reg = <0x20300 0x28>; 84 reg = <0x20300 0x28>;
@@ -82,30 +92,6 @@
82 status = "disabled"; 92 status = "disabled";
83 }; 93 };
84 94
85 ehci@a0000 {
86 compatible = "marvell,orion-ehci";
87 reg = <0xa0000 0x1000>;
88 interrupts = <12>;
89 status = "disabled";
90 };
91
92 sata@80000 {
93 compatible = "marvell,orion-sata";
94 reg = <0x80000 0x5000>;
95 interrupts = <29>;
96 status = "disabled";
97 };
98
99 i2c@11000 {
100 compatible = "marvell,mv64xxx-i2c";
101 reg = <0x11000 0x20>;
102 #address-cells = <1>;
103 #size-cells = <0>;
104 interrupts = <5>;
105 clock-frequency = <100000>;
106 status = "disabled";
107 };
108
109 xor@60900 { 95 xor@60900 {
110 compatible = "marvell,orion-xor"; 96 compatible = "marvell,orion-xor";
111 reg = <0x60900 0x100 97 reg = <0x60900 0x100
@@ -125,26 +111,6 @@
125 }; 111 };
126 }; 112 };
127 113
128 crypto@90000 {
129 compatible = "marvell,orion-crypto";
130 reg = <0x90000 0x10000>,
131 <0xf2200000 0x800>;
132 reg-names = "regs", "sram";
133 interrupts = <28>;
134 status = "okay";
135 };
136
137 mdio: mdio-bus@72004 {
138 compatible = "marvell,orion-mdio";
139 #address-cells = <1>;
140 #size-cells = <0>;
141 reg = <0x72004 0x84>;
142 interrupts = <22>;
143 status = "disabled";
144
145 /* add phy nodes in board file */
146 };
147
148 eth: ethernet-controller@72000 { 114 eth: ethernet-controller@72000 {
149 compatible = "marvell,orion-eth"; 115 compatible = "marvell,orion-eth";
150 #address-cells = <1>; 116 #address-cells = <1>;
@@ -162,5 +128,39 @@
162 /* set phy-handle property in board file */ 128 /* set phy-handle property in board file */
163 }; 129 };
164 }; 130 };
131
132 mdio: mdio-bus@72004 {
133 compatible = "marvell,orion-mdio";
134 #address-cells = <1>;
135 #size-cells = <0>;
136 reg = <0x72004 0x84>;
137 interrupts = <22>;
138 status = "disabled";
139
140 /* add phy nodes in board file */
141 };
142
143 sata@80000 {
144 compatible = "marvell,orion-sata";
145 reg = <0x80000 0x5000>;
146 interrupts = <29>;
147 status = "disabled";
148 };
149
150 crypto@90000 {
151 compatible = "marvell,orion-crypto";
152 reg = <0x90000 0x10000>,
153 <0xf2200000 0x800>;
154 reg-names = "regs", "sram";
155 interrupts = <28>;
156 status = "okay";
157 };
158
159 ehci@a0000 {
160 compatible = "marvell,orion-ehci";
161 reg = <0xa0000 0x1000>;
162 interrupts = <12>;
163 status = "disabled";
164 };
165 }; 165 };
166}; 166};