blob: 68b156b52003934f619cd18568b42296351fc24e [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 /*
Tony Lindgren3a91b0612015-12-03 12:02:32 -080061 * See TRM "Table 1-317. L4LS Instance Summary" for hints.
62 * It shows the module target agent registers though, so the
63 * actual device is typically 0x1000 before the target agent
64 * except in cases where the module is larger than 0x1000.
Tony Lindgrenf3d953e2015-07-23 22:33:18 -070065 */
66 l4ls: l4ls@48000000 {
67 compatible = "ti,dm814-l4ls", "simple-bus";
68 #address-cells = <1>;
69 #size-cells = <1>;
70 ranges = <0 0x48000000 0x2000000>;
71
72 i2c1: i2c@28000 {
73 compatible = "ti,omap4-i2c";
74 #address-cells = <1>;
75 #size-cells = <0>;
76 ti,hwmods = "i2c1";
77 reg = <0x28000 0x1000>;
78 interrupts = <70>;
79 };
80
81 elm: elm@80000 {
82 compatible = "ti,814-elm";
83 ti,hwmods = "elm";
84 reg = <0x80000 0x2000>;
85 interrupts = <4>;
86 };
87
88 gpio1: gpio@32000 {
89 compatible = "ti,omap4-gpio";
90 ti,hwmods = "gpio1";
91 ti,gpio-always-on;
92 reg = <0x32000 0x2000>;
93 interrupts = <96>;
94 gpio-controller;
95 #gpio-cells = <2>;
96 interrupt-controller;
97 #interrupt-cells = <2>;
98 };
99
100 gpio2: gpio@4c000 {
101 compatible = "ti,omap4-gpio";
102 ti,hwmods = "gpio2";
103 ti,gpio-always-on;
104 reg = <0x4c000 0x2000>;
105 interrupts = <98>;
106 gpio-controller;
107 #gpio-cells = <2>;
108 interrupt-controller;
109 #interrupt-cells = <2>;
110 };
111
112 i2c2: i2c@2a000 {
113 compatible = "ti,omap4-i2c";
114 #address-cells = <1>;
115 #size-cells = <0>;
116 ti,hwmods = "i2c2";
117 reg = <0x2a000 0x1000>;
118 interrupts = <71>;
119 };
120
121 mcspi1: spi@30000 {
122 compatible = "ti,omap4-mcspi";
123 reg = <0x30000 0x1000>;
124 #address-cells = <1>;
125 #size-cells = <0>;
126 interrupts = <65>;
127 ti,spi-num-cs = <4>;
128 ti,hwmods = "mcspi1";
129 dmas = <&edma 16 &edma 17
130 &edma 18 &edma 19>;
131 dma-names = "tx0", "rx0", "tx1", "rx1";
132 };
133
134 timer1: timer@2e000 {
135 compatible = "ti,dm814-timer";
136 reg = <0x2e000 0x2000>;
137 interrupts = <67>;
138 ti,hwmods = "timer1";
139 ti,timer-alwon;
140 };
141
142 uart1: uart@20000 {
143 compatible = "ti,omap3-uart";
144 ti,hwmods = "uart1";
145 reg = <0x20000 0x2000>;
146 clock-frequency = <48000000>;
147 interrupts = <72>;
148 dmas = <&edma 26 &edma 27>;
149 dma-names = "tx", "rx";
150 };
151
152 uart2: uart@22000 {
153 compatible = "ti,omap3-uart";
154 ti,hwmods = "uart2";
155 reg = <0x22000 0x2000>;
156 clock-frequency = <48000000>;
157 interrupts = <73>;
158 dmas = <&edma 28 &edma 29>;
159 dma-names = "tx", "rx";
160 };
161
162 uart3: uart@24000 {
163 compatible = "ti,omap3-uart";
164 ti,hwmods = "uart3";
165 reg = <0x24000 0x2000>;
166 clock-frequency = <48000000>;
167 interrupts = <74>;
168 dmas = <&edma 30 &edma 31>;
169 dma-names = "tx", "rx";
170 };
171
172 timer2: timer@40000 {
173 compatible = "ti,dm814-timer";
174 reg = <0x40000 0x2000>;
175 interrupts = <68>;
176 ti,hwmods = "timer2";
177 };
178
179 timer3: timer@42000 {
180 compatible = "ti,dm814-timer";
181 reg = <0x42000 0x2000>;
182 interrupts = <69>;
183 ti,hwmods = "timer3";
184 };
185
Tony Lindgren87ee15e2015-09-14 07:07:28 -0700186 control: control@140000 {
Tony Lindgrenf3d953e2015-07-23 22:33:18 -0700187 compatible = "ti,dm814-scm", "simple-bus";
Tony Lindgren3a91b0612015-12-03 12:02:32 -0800188 reg = <0x140000 0x20000>;
Tony Lindgrenf3d953e2015-07-23 22:33:18 -0700189 #address-cells = <1>;
190 #size-cells = <1>;
Tony Lindgren3a91b0612015-12-03 12:02:32 -0800191 ranges = <0 0x140000 0x20000>;
Tony Lindgrenf3d953e2015-07-23 22:33:18 -0700192
193 scm_conf: scm_conf@0 {
194 compatible = "syscon";
195 reg = <0x0 0x800>;
196 #address-cells = <1>;
197 #size-cells = <1>;
198
199 scm_clocks: clocks {
200 #address-cells = <1>;
201 #size-cells = <0>;
202 };
203
204 scm_clockdomains: clockdomains {
205 };
206 };
207
208 pincntl: pinmux@800 {
209 compatible = "pinctrl-single";
210 reg = <0x800 0xc38>;
211 #address-cells = <1>;
212 #size-cells = <0>;
213 pinctrl-single,register-width = <32>;
214 pinctrl-single,function-mask = <0x300ff>;
215 };
216 };
217
218 prcm: prcm@180000 {
219 compatible = "ti,dm814-prcm", "simple-bus";
Tony Lindgren7f8f0b12015-12-03 11:35:41 -0800220 reg = <0x180000 0x2000>;
221 #address-cells = <1>;
222 #size-cells = <1>;
223 ranges = <0 0x180000 0x2000>;
Tony Lindgrenf3d953e2015-07-23 22:33:18 -0700224
225 prcm_clocks: clocks {
226 #address-cells = <1>;
227 #size-cells = <0>;
228 };
229
230 prcm_clockdomains: clockdomains {
231 };
232 };
233
Tony Lindgren7f8f0b12015-12-03 11:35:41 -0800234 /* See TRM PLL_SUBSYS_BASE and "PLLSS Registers" */
Tony Lindgrenf3d953e2015-07-23 22:33:18 -0700235 pllss: pllss@1c5000 {
236 compatible = "ti,dm814-pllss", "simple-bus";
Tony Lindgren7f8f0b12015-12-03 11:35:41 -0800237 reg = <0x1c5000 0x1000>;
238 #address-cells = <1>;
239 #size-cells = <1>;
240 ranges = <0 0x1c5000 0x1000>;
Tony Lindgrenf3d953e2015-07-23 22:33:18 -0700241
242 pllss_clocks: clocks {
243 #address-cells = <1>;
244 #size-cells = <0>;
245 };
246
247 pllss_clockdomains: clockdomains {
248 };
249 };
250
251 wdt1: wdt@1c7000 {
252 compatible = "ti,omap3-wdt";
253 ti,hwmods = "wd_timer";
254 reg = <0x1c7000 0x1000>;
255 interrupts = <91>;
256 };
257 };
258
259 intc: interrupt-controller@48200000 {
260 compatible = "ti,dm814-intc";
261 interrupt-controller;
262 #interrupt-cells = <1>;
263 reg = <0x48200000 0x1000>;
264 };
265
266 edma: edma@49000000 {
267 compatible = "ti,edma3";
268 ti,hwmods = "tpcc", "tptc0", "tptc1", "tptc2";
269 reg = <0x49000000 0x10000>,
270 <0x44e10f90 0x40>;
271 interrupts = <12 13 14>;
272 #dma-cells = <1>;
273 };
274
275 /* See TRM "Table 1-318. L4HS Instance Summary" */
276 l4hs: l4hs@4a000000 {
277 compatible = "ti,dm814-l4hs", "simple-bus";
278 #address-cells = <1>;
279 #size-cells = <1>;
280 ranges = <0 0x4a000000 0x1b4040>;
281 };
282
283 /* REVISIT: Move to live under l4hs once driver is fixed */
284 mac: ethernet@4a100000 {
285 compatible = "ti,cpsw";
286 ti,hwmods = "cpgmac0";
287 clocks = <&cpsw_125mhz_gclk>, <&cpsw_cpts_rft_clk>;
288 clock-names = "fck", "cpts";
289 cpdma_channels = <8>;
290 ale_entries = <1024>;
291 bd_ram_size = <0x2000>;
292 no_bd_ram = <0>;
293 rx_descs = <64>;
294 mac_control = <0x20>;
295 slaves = <2>;
296 active_slave = <0>;
297 cpts_clock_mult = <0x80000000>;
298 cpts_clock_shift = <29>;
299 reg = <0x4a100000 0x800
300 0x4a100900 0x100>;
301 #address-cells = <1>;
302 #size-cells = <1>;
303 interrupt-parent = <&intc>;
304 /*
305 * c0_rx_thresh_pend
306 * c0_rx_pend
307 * c0_tx_pend
308 * c0_misc_pend
309 */
310 interrupts = <40 41 42 43>;
311 ranges;
312 syscon = <&scm_conf>;
313
314 davinci_mdio: mdio@4a100800 {
315 compatible = "ti,davinci_mdio";
316 #address-cells = <1>;
317 #size-cells = <0>;
318 ti,hwmods = "davinci_mdio";
319 bus_freq = <1000000>;
320 reg = <0x4a100800 0x100>;
321 };
322
323 cpsw_emac0: slave@4a100200 {
324 /* Filled in by U-Boot */
325 mac-address = [ 00 00 00 00 00 00 ];
326 };
327
328 cpsw_emac1: slave@4a100300 {
329 /* Filled in by U-Boot */
330 mac-address = [ 00 00 00 00 00 00 ];
331 };
332
Tony Lindgren87ee15e2015-09-14 07:07:28 -0700333 phy_sel: cpsw-phy-sel@48140650 {
Tony Lindgrenf3d953e2015-07-23 22:33:18 -0700334 compatible = "ti,am3352-cpsw-phy-sel";
Tony Lindgren87ee15e2015-09-14 07:07:28 -0700335 reg= <0x48140650 0x4>;
Tony Lindgrenf3d953e2015-07-23 22:33:18 -0700336 reg-names = "gmii-sel";
337 };
338 };
339 };
340};
Tony Lindgren25515b62015-07-23 22:33:18 -0700341
342#include "dm814x-clocks.dtsi"