blob: 5c8de1930c8bc5a8fc3c0fa19b1d619d703502f5 [file] [log] [blame]
Tony Lindgrenf3d953e2015-07-23 22:33:18 -07001/*
2 * This file is licensed under the terms of the GNU General Public License
3 * version 2. This program is licensed "as is" without any warranty of any
4 * kind, whether express or implied.
5 */
6
7#include <dt-bindings/gpio/gpio.h>
8#include <dt-bindings/pinctrl/omap.h>
9
10#include "skeleton.dtsi"
11
12/ {
13 compatible = "ti,dm814";
14 interrupt-parent = <&intc>;
15
16 aliases {
17 i2c0 = &i2c1;
18 i2c1 = &i2c2;
19 serial0 = &uart1;
20 serial1 = &uart2;
21 serial2 = &uart3;
22 ethernet0 = &cpsw_emac0;
23 ethernet1 = &cpsw_emac1;
24 };
25
26 cpus {
27 #address-cells = <1>;
28 #size-cells = <0>;
29 cpu@0 {
30 compatible = "arm,cortex-a8";
31 device_type = "cpu";
32 reg = <0>;
33 };
34 };
35
36 pmu {
37 compatible = "arm,cortex-a8-pmu";
38 interrupts = <3>;
39 };
40
41 /*
42 * The soc node represents the soc top level view. It is used for IPs
43 * that are not memory mapped in the MPU view or for the MPU itself.
44 */
45 soc {
46 compatible = "ti,omap-infra";
47 mpu {
48 compatible = "ti,omap3-mpu";
49 ti,hwmods = "mpu";
50 };
51 };
52
53 ocp {
54 compatible = "simple-bus";
55 #address-cells = <1>;
56 #size-cells = <1>;
57 ranges;
58 ti,hwmods = "l3_main";
59
60 /*
61 * See TRM "Table 1-317. L4LS Instance Summary", just deduct
62 * 0x1000 from the 1-317 addresses to get the device address
63 */
64 l4ls: l4ls@48000000 {
65 compatible = "ti,dm814-l4ls", "simple-bus";
66 #address-cells = <1>;
67 #size-cells = <1>;
68 ranges = <0 0x48000000 0x2000000>;
69
70 i2c1: i2c@28000 {
71 compatible = "ti,omap4-i2c";
72 #address-cells = <1>;
73 #size-cells = <0>;
74 ti,hwmods = "i2c1";
75 reg = <0x28000 0x1000>;
76 interrupts = <70>;
77 };
78
79 elm: elm@80000 {
80 compatible = "ti,814-elm";
81 ti,hwmods = "elm";
82 reg = <0x80000 0x2000>;
83 interrupts = <4>;
84 };
85
86 gpio1: gpio@32000 {
87 compatible = "ti,omap4-gpio";
88 ti,hwmods = "gpio1";
89 ti,gpio-always-on;
90 reg = <0x32000 0x2000>;
91 interrupts = <96>;
92 gpio-controller;
93 #gpio-cells = <2>;
94 interrupt-controller;
95 #interrupt-cells = <2>;
96 };
97
98 gpio2: gpio@4c000 {
99 compatible = "ti,omap4-gpio";
100 ti,hwmods = "gpio2";
101 ti,gpio-always-on;
102 reg = <0x4c000 0x2000>;
103 interrupts = <98>;
104 gpio-controller;
105 #gpio-cells = <2>;
106 interrupt-controller;
107 #interrupt-cells = <2>;
108 };
109
110 i2c2: i2c@2a000 {
111 compatible = "ti,omap4-i2c";
112 #address-cells = <1>;
113 #size-cells = <0>;
114 ti,hwmods = "i2c2";
115 reg = <0x2a000 0x1000>;
116 interrupts = <71>;
117 };
118
119 mcspi1: spi@30000 {
120 compatible = "ti,omap4-mcspi";
121 reg = <0x30000 0x1000>;
122 #address-cells = <1>;
123 #size-cells = <0>;
124 interrupts = <65>;
125 ti,spi-num-cs = <4>;
126 ti,hwmods = "mcspi1";
127 dmas = <&edma 16 &edma 17
128 &edma 18 &edma 19>;
129 dma-names = "tx0", "rx0", "tx1", "rx1";
130 };
131
132 timer1: timer@2e000 {
133 compatible = "ti,dm814-timer";
134 reg = <0x2e000 0x2000>;
135 interrupts = <67>;
136 ti,hwmods = "timer1";
137 ti,timer-alwon;
138 };
139
140 uart1: uart@20000 {
141 compatible = "ti,omap3-uart";
142 ti,hwmods = "uart1";
143 reg = <0x20000 0x2000>;
144 clock-frequency = <48000000>;
145 interrupts = <72>;
146 dmas = <&edma 26 &edma 27>;
147 dma-names = "tx", "rx";
148 };
149
150 uart2: uart@22000 {
151 compatible = "ti,omap3-uart";
152 ti,hwmods = "uart2";
153 reg = <0x22000 0x2000>;
154 clock-frequency = <48000000>;
155 interrupts = <73>;
156 dmas = <&edma 28 &edma 29>;
157 dma-names = "tx", "rx";
158 };
159
160 uart3: uart@24000 {
161 compatible = "ti,omap3-uart";
162 ti,hwmods = "uart3";
163 reg = <0x24000 0x2000>;
164 clock-frequency = <48000000>;
165 interrupts = <74>;
166 dmas = <&edma 30 &edma 31>;
167 dma-names = "tx", "rx";
168 };
169
170 timer2: timer@40000 {
171 compatible = "ti,dm814-timer";
172 reg = <0x40000 0x2000>;
173 interrupts = <68>;
174 ti,hwmods = "timer2";
175 };
176
177 timer3: timer@42000 {
178 compatible = "ti,dm814-timer";
179 reg = <0x42000 0x2000>;
180 interrupts = <69>;
181 ti,hwmods = "timer3";
182 };
183
Tony Lindgren87ee15e2015-09-14 07:07:28 -0700184 control: control@140000 {
Tony Lindgrenf3d953e2015-07-23 22:33:18 -0700185 compatible = "ti,dm814-scm", "simple-bus";
Tony Lindgren87ee15e2015-09-14 07:07:28 -0700186 reg = <0x140000 0x16d000>;
Tony Lindgrenf3d953e2015-07-23 22:33:18 -0700187 #address-cells = <1>;
188 #size-cells = <1>;
189 ranges = <0 0x160000 0x16d000>;
190
191 scm_conf: scm_conf@0 {
192 compatible = "syscon";
193 reg = <0x0 0x800>;
194 #address-cells = <1>;
195 #size-cells = <1>;
196
197 scm_clocks: clocks {
198 #address-cells = <1>;
199 #size-cells = <0>;
200 };
201
202 scm_clockdomains: clockdomains {
203 };
204 };
205
206 pincntl: pinmux@800 {
207 compatible = "pinctrl-single";
208 reg = <0x800 0xc38>;
209 #address-cells = <1>;
210 #size-cells = <0>;
211 pinctrl-single,register-width = <32>;
212 pinctrl-single,function-mask = <0x300ff>;
213 };
214 };
215
216 prcm: prcm@180000 {
217 compatible = "ti,dm814-prcm", "simple-bus";
Tony Lindgren7f8f0b12015-12-03 11:35:41 -0800218 reg = <0x180000 0x2000>;
219 #address-cells = <1>;
220 #size-cells = <1>;
221 ranges = <0 0x180000 0x2000>;
Tony Lindgrenf3d953e2015-07-23 22:33:18 -0700222
223 prcm_clocks: clocks {
224 #address-cells = <1>;
225 #size-cells = <0>;
226 };
227
228 prcm_clockdomains: clockdomains {
229 };
230 };
231
Tony Lindgren7f8f0b12015-12-03 11:35:41 -0800232 /* See TRM PLL_SUBSYS_BASE and "PLLSS Registers" */
Tony Lindgrenf3d953e2015-07-23 22:33:18 -0700233 pllss: pllss@1c5000 {
234 compatible = "ti,dm814-pllss", "simple-bus";
Tony Lindgren7f8f0b12015-12-03 11:35:41 -0800235 reg = <0x1c5000 0x1000>;
236 #address-cells = <1>;
237 #size-cells = <1>;
238 ranges = <0 0x1c5000 0x1000>;
Tony Lindgrenf3d953e2015-07-23 22:33:18 -0700239
240 pllss_clocks: clocks {
241 #address-cells = <1>;
242 #size-cells = <0>;
243 };
244
245 pllss_clockdomains: clockdomains {
246 };
247 };
248
249 wdt1: wdt@1c7000 {
250 compatible = "ti,omap3-wdt";
251 ti,hwmods = "wd_timer";
252 reg = <0x1c7000 0x1000>;
253 interrupts = <91>;
254 };
255 };
256
257 intc: interrupt-controller@48200000 {
258 compatible = "ti,dm814-intc";
259 interrupt-controller;
260 #interrupt-cells = <1>;
261 reg = <0x48200000 0x1000>;
262 };
263
264 edma: edma@49000000 {
265 compatible = "ti,edma3";
266 ti,hwmods = "tpcc", "tptc0", "tptc1", "tptc2";
267 reg = <0x49000000 0x10000>,
268 <0x44e10f90 0x40>;
269 interrupts = <12 13 14>;
270 #dma-cells = <1>;
271 };
272
273 /* See TRM "Table 1-318. L4HS Instance Summary" */
274 l4hs: l4hs@4a000000 {
275 compatible = "ti,dm814-l4hs", "simple-bus";
276 #address-cells = <1>;
277 #size-cells = <1>;
278 ranges = <0 0x4a000000 0x1b4040>;
279 };
280
281 /* REVISIT: Move to live under l4hs once driver is fixed */
282 mac: ethernet@4a100000 {
283 compatible = "ti,cpsw";
284 ti,hwmods = "cpgmac0";
285 clocks = <&cpsw_125mhz_gclk>, <&cpsw_cpts_rft_clk>;
286 clock-names = "fck", "cpts";
287 cpdma_channels = <8>;
288 ale_entries = <1024>;
289 bd_ram_size = <0x2000>;
290 no_bd_ram = <0>;
291 rx_descs = <64>;
292 mac_control = <0x20>;
293 slaves = <2>;
294 active_slave = <0>;
295 cpts_clock_mult = <0x80000000>;
296 cpts_clock_shift = <29>;
297 reg = <0x4a100000 0x800
298 0x4a100900 0x100>;
299 #address-cells = <1>;
300 #size-cells = <1>;
301 interrupt-parent = <&intc>;
302 /*
303 * c0_rx_thresh_pend
304 * c0_rx_pend
305 * c0_tx_pend
306 * c0_misc_pend
307 */
308 interrupts = <40 41 42 43>;
309 ranges;
310 syscon = <&scm_conf>;
311
312 davinci_mdio: mdio@4a100800 {
313 compatible = "ti,davinci_mdio";
314 #address-cells = <1>;
315 #size-cells = <0>;
316 ti,hwmods = "davinci_mdio";
317 bus_freq = <1000000>;
318 reg = <0x4a100800 0x100>;
319 };
320
321 cpsw_emac0: slave@4a100200 {
322 /* Filled in by U-Boot */
323 mac-address = [ 00 00 00 00 00 00 ];
324 };
325
326 cpsw_emac1: slave@4a100300 {
327 /* Filled in by U-Boot */
328 mac-address = [ 00 00 00 00 00 00 ];
329 };
330
Tony Lindgren87ee15e2015-09-14 07:07:28 -0700331 phy_sel: cpsw-phy-sel@48140650 {
Tony Lindgrenf3d953e2015-07-23 22:33:18 -0700332 compatible = "ti,am3352-cpsw-phy-sel";
Tony Lindgren87ee15e2015-09-14 07:07:28 -0700333 reg= <0x48140650 0x4>;
Tony Lindgrenf3d953e2015-07-23 22:33:18 -0700334 reg-names = "gmii-sel";
335 };
336 };
337 };
338};
Tony Lindgren25515b62015-07-23 22:33:18 -0700339
340#include "dm814x-clocks.dtsi"