Merge tag 'renesas-boards-cleanup-for-v3.12' of git://git.kernel.org/pub/scm/linux...
[firefly-linux-kernel-4.4.55.git] / arch / arm / boot / dts / dove.dtsi
1 /include/ "skeleton.dtsi"
2
3 / {
4         compatible = "marvell,dove";
5         model = "Marvell Armada 88AP510 SoC";
6
7         aliases {
8                 gpio0 = &gpio0;
9                 gpio1 = &gpio1;
10                 gpio2 = &gpio2;
11         };
12
13         soc@f1000000 {
14                 compatible = "simple-bus";
15                 #address-cells = <1>;
16                 #size-cells = <1>;
17                 interrupt-parent = <&intc>;
18
19                 ranges = <0xc8000000 0xc8000000 0x0100000   /* CESA SRAM   1M */
20                           0xe0000000 0xe0000000 0x8000000   /* PCIe0 Mem 128M */
21                           0xe8000000 0xe8000000 0x8000000   /* PCIe1 Mem 128M */
22                           0xf0000000 0xf0000000 0x0100000   /* ScratchPad  1M */
23                           0x00000000 0xf1000000 0x1000000   /* SB/NB regs 16M */
24                           0xf2000000 0xf2000000 0x0100000   /* PCIe0 I/O   1M */
25                           0xf2100000 0xf2100000 0x0100000   /* PCIe0 I/O   1M */
26                           0xf8000000 0xf8000000 0x8000000>; /* BootROM   128M */
27
28                 l2: l2-cache {
29                         compatible = "marvell,tauros2-cache";
30                         marvell,tauros2-cache-features = <0>;
31                 };
32
33                 timer: timer@20300 {
34                         compatible = "marvell,orion-timer";
35                         reg = <0x20300 0x20>;
36                         interrupt-parent = <&bridge_intc>;
37                         interrupts = <1>, <2>;
38                         clocks = <&core_clk 0>;
39                 };
40
41                 intc: main-interrupt-ctrl@20200 {
42                         compatible = "marvell,orion-intc";
43                         interrupt-controller;
44                         #interrupt-cells = <1>;
45                         reg = <0x20200 0x10>, <0x20210 0x10>;
46                 };
47
48                 bridge_intc: bridge-interrupt-ctrl@20110 {
49                         compatible = "marvell,orion-bridge-intc";
50                         interrupt-controller;
51                         #interrupt-cells = <1>;
52                         reg = <0x20110 0x8>;
53                         interrupts = <0>;
54                         marvell,#interrupts = <5>;
55                 };
56
57                 core_clk: core-clocks@d0214 {
58                         compatible = "marvell,dove-core-clock";
59                         reg = <0xd0214 0x4>;
60                         #clock-cells = <1>;
61                 };
62
63                 gate_clk: clock-gating-control@d0038 {
64                         compatible = "marvell,dove-gating-clock";
65                         reg = <0xd0038 0x4>;
66                         clocks = <&core_clk 0>;
67                         #clock-cells = <1>;
68                 };
69
70                 thermal: thermal@d001c {
71                         compatible = "marvell,dove-thermal";
72                         reg = <0xd001c 0x0c>, <0xd005c 0x08>;
73                 };
74
75                 uart0: serial@12000 {
76                         compatible = "ns16550a";
77                         reg = <0x12000 0x100>;
78                         reg-shift = <2>;
79                         interrupts = <7>;
80                         clocks = <&core_clk 0>;
81                         status = "disabled";
82                 };
83
84                 uart1: serial@12100 {
85                         compatible = "ns16550a";
86                         reg = <0x12100 0x100>;
87                         reg-shift = <2>;
88                         interrupts = <8>;
89                         clocks = <&core_clk 0>;
90                         status = "disabled";
91                 };
92
93                 uart2: serial@12200 {
94                         compatible = "ns16550a";
95                         reg = <0x12000 0x100>;
96                         reg-shift = <2>;
97                         interrupts = <9>;
98                         clocks = <&core_clk 0>;
99                         status = "disabled";
100                 };
101
102                 uart3: serial@12300 {
103                         compatible = "ns16550a";
104                         reg = <0x12100 0x100>;
105                         reg-shift = <2>;
106                         interrupts = <10>;
107                         clocks = <&core_clk 0>;
108                         status = "disabled";
109                 };
110
111                 gpio0: gpio@d0400 {
112                         compatible = "marvell,orion-gpio";
113                         #gpio-cells = <2>;
114                         gpio-controller;
115                         reg = <0xd0400 0x20>;
116                         ngpios = <32>;
117                         interrupt-controller;
118                         #interrupt-cells = <2>;
119                         interrupts = <12>, <13>, <14>, <60>;
120                 };
121
122                 gpio1: gpio@d0420 {
123                         compatible = "marvell,orion-gpio";
124                         #gpio-cells = <2>;
125                         gpio-controller;
126                         reg = <0xd0420 0x20>;
127                         ngpios = <32>;
128                         interrupt-controller;
129                         #interrupt-cells = <2>;
130                         interrupts = <61>;
131                 };
132
133                 gpio2: gpio@e8400 {
134                         compatible = "marvell,orion-gpio";
135                         #gpio-cells = <2>;
136                         gpio-controller;
137                         reg = <0xe8400 0x0c>;
138                         ngpios = <8>;
139                 };
140
141                 pinctrl: pinctrl@d0200 {
142                         compatible = "marvell,dove-pinctrl";
143                         reg = <0xd0200 0x10>;
144                         clocks = <&gate_clk 22>;
145                 };
146
147                 spi0: spi@10600 {
148                         compatible = "marvell,orion-spi";
149                         #address-cells = <1>;
150                         #size-cells = <0>;
151                         cell-index = <0>;
152                         interrupts = <6>;
153                         reg = <0x10600 0x28>;
154                         clocks = <&core_clk 0>;
155                         status = "disabled";
156                 };
157
158                 spi1: spi@14600 {
159                         compatible = "marvell,orion-spi";
160                         #address-cells = <1>;
161                         #size-cells = <0>;
162                         cell-index = <1>;
163                         interrupts = <5>;
164                         reg = <0x14600 0x28>;
165                         clocks = <&core_clk 0>;
166                         status = "disabled";
167                 };
168
169                 i2c0: i2c@11000 {
170                         compatible = "marvell,mv64xxx-i2c";
171                         reg = <0x11000 0x20>;
172                         #address-cells = <1>;
173                         #size-cells = <0>;
174                         interrupts = <11>;
175                         clock-frequency = <400000>;
176                         timeout-ms = <1000>;
177                         clocks = <&core_clk 0>;
178                         status = "disabled";
179                 };
180
181                 ehci0: usb-host@50000 {
182                         compatible = "marvell,orion-ehci";
183                         reg = <0x50000 0x1000>;
184                         interrupts = <24>;
185                         clocks = <&gate_clk 0>;
186                         status = "okay";
187                 };
188
189                 ehci1: usb-host@51000 {
190                         compatible = "marvell,orion-ehci";
191                         reg = <0x51000 0x1000>;
192                         interrupts = <25>;
193                         clocks = <&gate_clk 1>;
194                         status = "okay";
195                 };
196
197                 sdio0: sdio@92000 {
198                         compatible = "marvell,dove-sdhci";
199                         reg = <0x92000 0x100>;
200                         interrupts = <35>, <37>;
201                         clocks = <&gate_clk 8>;
202                         status = "disabled";
203                 };
204
205                 sdio1: sdio@90000 {
206                         compatible = "marvell,dove-sdhci";
207                         reg = <0x90000 0x100>;
208                         interrupts = <36>, <38>;
209                         clocks = <&gate_clk 9>;
210                         status = "disabled";
211                 };
212
213                 sata0: sata@a0000 {
214                         compatible = "marvell,orion-sata";
215                         reg = <0xa0000 0x2400>;
216                         interrupts = <62>;
217                         clocks = <&gate_clk 3>;
218                         nr-ports = <1>;
219                         status = "disabled";
220                 };
221
222                 rtc@d8500 {
223                         compatible = "marvell,orion-rtc";
224                         reg = <0xd8500 0x20>;
225                 };
226
227                 crypto: crypto@30000 {
228                         compatible = "marvell,orion-crypto";
229                         reg = <0x30000 0x10000>,
230                               <0xc8000000 0x800>;
231                         reg-names = "regs", "sram";
232                         interrupts = <31>;
233                         clocks = <&gate_clk 15>;
234                         status = "okay";
235                 };
236
237                 xor0: dma-engine@60800 {
238                         compatible = "marvell,orion-xor";
239                         reg = <0x60800 0x100
240                                0x60a00 0x100>;
241                         clocks = <&gate_clk 23>;
242                         status = "okay";
243
244                         channel0 {
245                                 interrupts = <39>;
246                                 dmacap,memcpy;
247                                 dmacap,xor;
248                         };
249
250                         channel1 {
251                                 interrupts = <40>;
252                                 dmacap,memset;
253                                 dmacap,memcpy;
254                                 dmacap,xor;
255                         };
256                 };
257
258                 xor1: dma-engine@60900 {
259                         compatible = "marvell,orion-xor";
260                         reg = <0x60900 0x100
261                                0x60b00 0x100>;
262                         clocks = <&gate_clk 24>;
263                         status = "okay";
264
265                         channel0 {
266                                 interrupts = <42>;
267                                 dmacap,memcpy;
268                                 dmacap,xor;
269                         };
270
271                         channel1 {
272                                 interrupts = <43>;
273                                 dmacap,memset;
274                                 dmacap,memcpy;
275                                 dmacap,xor;
276                         };
277                 };
278
279                 mdio: mdio-bus@72004 {
280                         compatible = "marvell,orion-mdio";
281                         #address-cells = <1>;
282                         #size-cells = <0>;
283                         reg = <0x72004 0x84>;
284                         interrupts = <30>;
285                         clocks = <&gate_clk 2>;
286                         status = "disabled";
287
288                         ethphy: ethernet-phy {
289                                 device-type = "ethernet-phy";
290                                 /* set phy address in board file */
291                         };
292                 };
293
294                 eth: ethernet-controller@72000 {
295                         compatible = "marvell,orion-eth";
296                         #address-cells = <1>;
297                         #size-cells = <0>;
298                         reg = <0x72000 0x4000>;
299                         clocks = <&gate_clk 2>;
300                         marvell,tx-checksum-limit = <1600>;
301                         status = "disabled";
302
303                         ethernet-port@0 {
304                                 device_type = "network";
305                                 compatible = "marvell,orion-eth-port";
306                                 reg = <0>;
307                                 interrupts = <29>;
308                                 /* overwrite MAC address in bootloader */
309                                 local-mac-address = [00 00 00 00 00 00];
310                                 phy-handle = <&ethphy>;
311                         };
312                 };
313         };
314 };