f3f7e9d8adca4862c92cd22d00eb6d15267a8a8c
[pandora-kernel.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                 intc: interrupt-controller {
34                         compatible = "marvell,orion-intc";
35                         interrupt-controller;
36                         #interrupt-cells = <1>;
37                         reg = <0x20204 0x04>, <0x20214 0x04>;
38                 };
39
40                 core_clk: core-clocks@d0214 {
41                         compatible = "marvell,dove-core-clock";
42                         reg = <0xd0214 0x4>;
43                         #clock-cells = <1>;
44                 };
45
46                 gate_clk: clock-gating-control@d0038 {
47                         compatible = "marvell,dove-gating-clock";
48                         reg = <0xd0038 0x4>;
49                         clocks = <&core_clk 0>;
50                         #clock-cells = <1>;
51                 };
52
53                 uart0: serial@12000 {
54                         compatible = "ns16550a";
55                         reg = <0x12000 0x100>;
56                         reg-shift = <2>;
57                         interrupts = <7>;
58                         clock-frequency = <166666667>;
59                         status = "disabled";
60                 };
61
62                 uart1: serial@12100 {
63                         compatible = "ns16550a";
64                         reg = <0x12100 0x100>;
65                         reg-shift = <2>;
66                         interrupts = <8>;
67                         clock-frequency = <166666667>;
68                         status = "disabled";
69                 };
70
71                 uart2: serial@12200 {
72                         compatible = "ns16550a";
73                         reg = <0x12000 0x100>;
74                         reg-shift = <2>;
75                         interrupts = <9>;
76                         clock-frequency = <166666667>;
77                         status = "disabled";
78                 };
79
80                 uart3: serial@12300 {
81                         compatible = "ns16550a";
82                         reg = <0x12100 0x100>;
83                         reg-shift = <2>;
84                         interrupts = <10>;
85                         clock-frequency = <166666667>;
86                         status = "disabled";
87                 };
88
89                 gpio0: gpio@d0400 {
90                         compatible = "marvell,orion-gpio";
91                         #gpio-cells = <2>;
92                         gpio-controller;
93                         reg = <0xd0400 0x20>;
94                         ngpios = <32>;
95                         interrupt-controller;
96                         interrupts = <12>, <13>, <14>, <60>;
97                 };
98
99                 gpio1: gpio@d0420 {
100                         compatible = "marvell,orion-gpio";
101                         #gpio-cells = <2>;
102                         gpio-controller;
103                         reg = <0xd0420 0x20>;
104                         ngpios = <32>;
105                         interrupt-controller;
106                         interrupts = <61>;
107                 };
108
109                 gpio2: gpio@e8400 {
110                         compatible = "marvell,orion-gpio";
111                         #gpio-cells = <2>;
112                         gpio-controller;
113                         reg = <0xe8400 0x0c>;
114                         ngpios = <8>;
115                 };
116
117                 pinctrl: pinctrl@d0200 {
118                         compatible = "marvell,dove-pinctrl";
119                         reg = <0xd0200 0x10>;
120                 };
121
122                 spi0: spi@10600 {
123                         compatible = "marvell,orion-spi";
124                         #address-cells = <1>;
125                         #size-cells = <0>;
126                         cell-index = <0>;
127                         interrupts = <6>;
128                         reg = <0x10600 0x28>;
129                         clocks = <&core_clk 0>;
130                         status = "disabled";
131                 };
132
133                 spi1: spi@14600 {
134                         compatible = "marvell,orion-spi";
135                         #address-cells = <1>;
136                         #size-cells = <0>;
137                         cell-index = <1>;
138                         interrupts = <5>;
139                         reg = <0x14600 0x28>;
140                         clocks = <&core_clk 0>;
141                         status = "disabled";
142                 };
143
144                 i2c0: i2c@11000 {
145                         compatible = "marvell,mv64xxx-i2c";
146                         reg = <0x11000 0x20>;
147                         #address-cells = <1>;
148                         #size-cells = <0>;
149                         interrupts = <11>;
150                         clock-frequency = <400000>;
151                         timeout-ms = <1000>;
152                         clocks = <&core_clk 0>;
153                         status = "disabled";
154                 };
155
156                 sdio0: sdio@92000 {
157                         compatible = "marvell,dove-sdhci";
158                         reg = <0x92000 0x100>;
159                         interrupts = <35>, <37>;
160                         clocks = <&gate_clk 8>;
161                         status = "disabled";
162                 };
163
164                 sdio1: sdio@90000 {
165                         compatible = "marvell,dove-sdhci";
166                         reg = <0x90000 0x100>;
167                         interrupts = <36>, <38>;
168                         clocks = <&gate_clk 9>;
169                         status = "disabled";
170                 };
171
172                 sata0: sata@a0000 {
173                         compatible = "marvell,orion-sata";
174                         reg = <0xa0000 0x2400>;
175                         interrupts = <62>;
176                         clocks = <&gate_clk 3>;
177                         nr-ports = <1>;
178                         status = "disabled";
179                 };
180
181                 crypto: crypto@30000 {
182                         compatible = "marvell,orion-crypto";
183                         reg = <0x30000 0x10000>,
184                               <0xc8000000 0x800>;
185                         reg-names = "regs", "sram";
186                         interrupts = <31>;
187                         clocks = <&gate_clk 15>;
188                         status = "okay";
189                 };
190
191                 xor0: dma-engine@60800 {
192                         compatible = "marvell,orion-xor";
193                         reg = <0x60800 0x100
194                                0x60a00 0x100>;
195                         clocks = <&gate_clk 23>;
196                         status = "okay";
197
198                         channel0 {
199                                 interrupts = <39>;
200                                 dmacap,memcpy;
201                                 dmacap,xor;
202                         };
203
204                         channel1 {
205                                 interrupts = <40>;
206                                 dmacap,memset;
207                                 dmacap,memcpy;
208                                 dmacap,xor;
209                         };
210                 };
211
212                 xor1: dma-engine@60900 {
213                         compatible = "marvell,orion-xor";
214                         reg = <0x60900 0x100
215                                0x60b00 0x100>;
216                         clocks = <&gate_clk 24>;
217                         status = "okay";
218
219                         channel0 {
220                                 interrupts = <42>;
221                                 dmacap,memcpy;
222                                 dmacap,xor;
223                         };
224
225                         channel1 {
226                                 interrupts = <43>;
227                                 dmacap,memset;
228                                 dmacap,memcpy;
229                                 dmacap,xor;
230                         };
231                 };
232         };
233 };