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.
7 #include <dt-bindings/gpio/gpio.h>
8 #include <dt-bindings/pinctrl/dm814x.h>
10 #include "skeleton.dtsi"
13 compatible = "ti,dm814";
14 interrupt-parent = <&intc>;
22 ethernet0 = &cpsw_emac0;
23 ethernet1 = &cpsw_emac1;
30 compatible = "arm,cortex-a8";
37 compatible = "arm,cortex-a8-pmu";
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.
46 compatible = "ti,omap-infra";
48 compatible = "ti,omap3-mpu";
54 compatible = "simple-bus";
58 ti,hwmods = "l3_main";
61 * 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.
67 compatible = "ti,dm814-l4ls", "simple-bus";
70 ranges = <0 0x48000000 0x2000000>;
73 compatible = "ti,omap4-i2c";
77 reg = <0x28000 0x1000>;
82 compatible = "ti,814-elm";
84 reg = <0x80000 0x2000>;
89 compatible = "ti,omap4-gpio";
92 reg = <0x32000 0x2000>;
97 #interrupt-cells = <2>;
101 compatible = "ti,omap4-gpio";
104 reg = <0x4c000 0x2000>;
108 interrupt-controller;
109 #interrupt-cells = <2>;
113 compatible = "ti,omap4-i2c";
114 #address-cells = <1>;
117 reg = <0x2a000 0x1000>;
122 compatible = "ti,omap4-mcspi";
123 reg = <0x30000 0x1000>;
124 #address-cells = <1>;
128 ti,hwmods = "mcspi1";
129 dmas = <&edma 16 0 &edma 17 0
130 &edma 18 0 &edma 19 0>;
131 dma-names = "tx0", "rx0", "tx1", "rx1";
134 timer1: timer@2e000 {
135 compatible = "ti,dm814-timer";
136 reg = <0x2e000 0x2000>;
138 ti,hwmods = "timer1";
143 compatible = "ti,omap3-uart";
145 reg = <0x20000 0x2000>;
146 clock-frequency = <48000000>;
148 dmas = <&edma 26 0 &edma 27 0>;
149 dma-names = "tx", "rx";
153 compatible = "ti,omap3-uart";
155 reg = <0x22000 0x2000>;
156 clock-frequency = <48000000>;
158 dmas = <&edma 28 0 &edma 29 0>;
159 dma-names = "tx", "rx";
163 compatible = "ti,omap3-uart";
165 reg = <0x24000 0x2000>;
166 clock-frequency = <48000000>;
168 dmas = <&edma 30 0 &edma 31 0>;
169 dma-names = "tx", "rx";
172 timer2: timer@40000 {
173 compatible = "ti,dm814-timer";
174 reg = <0x40000 0x2000>;
176 ti,hwmods = "timer2";
179 timer3: timer@42000 {
180 compatible = "ti,dm814-timer";
181 reg = <0x42000 0x2000>;
183 ti,hwmods = "timer3";
187 compatible = "ti,omap4-hsmmc";
191 dma-names = "tx", "rx";
193 interrupt-parent = <&intc>;
194 reg = <0x60000 0x1000>;
198 compatible = "ti,omap4-hsmmc";
202 dma-names = "tx", "rx";
204 interrupt-parent = <&intc>;
205 reg = <0x1d8000 0x1000>;
208 control: control@140000 {
209 compatible = "ti,dm814-scm", "simple-bus";
210 reg = <0x140000 0x20000>;
211 #address-cells = <1>;
213 ranges = <0 0x140000 0x20000>;
215 scm_conf: scm_conf@0 {
216 compatible = "syscon";
218 #address-cells = <1>;
222 #address-cells = <1>;
226 scm_clockdomains: clockdomains {
230 edma_xbar: dma-router@f90 {
231 compatible = "ti,am335x-edma-crossbar";
235 dma-masters = <&edma>;
239 * Note that silicon revision 2.1 and older
240 * require input enabled (bit 18 set) for all
241 * 3.3V I/Os to avoid cumulative hardware damage.
242 * For more info, see errata advisory 2.1.87.
243 * We leave bit 18 out of function-mask and rely
244 * on the bootloader for it.
246 pincntl: pinmux@800 {
247 compatible = "pinctrl-single";
249 #address-cells = <1>;
251 pinctrl-single,register-width = <32>;
252 pinctrl-single,function-mask = <0x307ff>;
257 compatible = "ti,dm814-prcm", "simple-bus";
258 reg = <0x180000 0x2000>;
259 #address-cells = <1>;
261 ranges = <0 0x180000 0x2000>;
263 prcm_clocks: clocks {
264 #address-cells = <1>;
268 prcm_clockdomains: clockdomains {
272 /* See TRM PLL_SUBSYS_BASE and "PLLSS Registers" */
273 pllss: pllss@1c5000 {
274 compatible = "ti,dm814-pllss", "simple-bus";
275 reg = <0x1c5000 0x1000>;
276 #address-cells = <1>;
278 ranges = <0 0x1c5000 0x1000>;
280 pllss_clocks: clocks {
281 #address-cells = <1>;
285 pllss_clockdomains: clockdomains {
290 compatible = "ti,omap3-wdt";
291 ti,hwmods = "wd_timer";
292 reg = <0x1c7000 0x1000>;
297 intc: interrupt-controller@48200000 {
298 compatible = "ti,dm814-intc";
299 interrupt-controller;
300 #interrupt-cells = <1>;
301 reg = <0x48200000 0x1000>;
304 /* Board must configure evtmux with edma_xbar for EDMA */
306 compatible = "ti,omap4-hsmmc";
309 interrupt-parent = <&intc>;
310 reg = <0x47810000 0x1000>;
313 edma: edma@49000000 {
314 compatible = "ti,edma3-tpcc";
316 reg = <0x49000000 0x10000>;
317 reg-names = "edma3_cc";
318 interrupts = <12 13 14>;
319 interrupt-names = "edma3_ccint", "emda3_mperr",
324 ti,tptcs = <&edma_tptc0 7>, <&edma_tptc1 5>,
325 <&edma_tptc2 3>, <&edma_tptc3 0>;
327 ti,edma-memcpy-channels = <20 21>;
330 edma_tptc0: tptc@49800000 {
331 compatible = "ti,edma3-tptc";
333 reg = <0x49800000 0x100000>;
335 interrupt-names = "edma3_tcerrint";
338 edma_tptc1: tptc@49900000 {
339 compatible = "ti,edma3-tptc";
341 reg = <0x49900000 0x100000>;
343 interrupt-names = "edma3_tcerrint";
346 edma_tptc2: tptc@49a00000 {
347 compatible = "ti,edma3-tptc";
349 reg = <0x49a00000 0x100000>;
351 interrupt-names = "edma3_tcerrint";
354 edma_tptc3: tptc@49b00000 {
355 compatible = "ti,edma3-tptc";
357 reg = <0x49b00000 0x100000>;
359 interrupt-names = "edma3_tcerrint";
362 /* See TRM "Table 1-318. L4HS Instance Summary" */
363 l4hs: l4hs@4a000000 {
364 compatible = "ti,dm814-l4hs", "simple-bus";
365 #address-cells = <1>;
367 ranges = <0 0x4a000000 0x1b4040>;
370 /* REVISIT: Move to live under l4hs once driver is fixed */
371 mac: ethernet@4a100000 {
372 compatible = "ti,cpsw";
373 ti,hwmods = "cpgmac0";
374 clocks = <&cpsw_125mhz_gclk>, <&cpsw_cpts_rft_clk>;
375 clock-names = "fck", "cpts";
376 cpdma_channels = <8>;
377 ale_entries = <1024>;
378 bd_ram_size = <0x2000>;
381 mac_control = <0x20>;
384 cpts_clock_mult = <0x80000000>;
385 cpts_clock_shift = <29>;
386 reg = <0x4a100000 0x800
388 #address-cells = <1>;
390 interrupt-parent = <&intc>;
397 interrupts = <40 41 42 43>;
399 syscon = <&scm_conf>;
401 davinci_mdio: mdio@4a100800 {
402 compatible = "ti,davinci_mdio";
403 #address-cells = <1>;
405 ti,hwmods = "davinci_mdio";
406 bus_freq = <1000000>;
407 reg = <0x4a100800 0x100>;
410 cpsw_emac0: slave@4a100200 {
411 /* Filled in by U-Boot */
412 mac-address = [ 00 00 00 00 00 00 ];
415 cpsw_emac1: slave@4a100300 {
416 /* Filled in by U-Boot */
417 mac-address = [ 00 00 00 00 00 00 ];
420 phy_sel: cpsw-phy-sel@48140650 {
421 compatible = "ti,am3352-cpsw-phy-sel";
422 reg= <0x48140650 0x4>;
423 reg-names = "gmii-sel";
429 #include "dm814x-clocks.dtsi"