2 * Copyright 2012 DENX Software Engineering GmbH
3 * Heiko Schocher <hs@denx.de>
5 * This program is free software; you can redistribute it and/or modify it
6 * under the terms of the GNU General Public License as published by the
7 * Free Software Foundation; either version 2 of the License, or (at your
8 * option) any later version.
10 #include <dt-bindings/interrupt-controller/irq.h>
19 device_type = "memory";
20 reg = <0xc0000000 0x0>;
27 intc: interrupt-controller@fffee000 {
28 compatible = "ti,cp-intc";
30 #interrupt-cells = <1>;
32 reg = <0xfffee000 0x2000>;
37 compatible = "fixed-clock";
39 clock-output-names = "ref_clk";
41 sata_refclk: sata_refclk {
42 compatible = "fixed-clock";
44 clock-output-names = "sata_refclk";
47 usb_refclkin: usb_refclkin {
48 compatible = "fixed-clock";
50 clock-output-names = "usb_refclkin";
55 compatible = "ti,da850-dsp";
56 reg = <0x11800000 0x40000>,
61 reg-names = "l2sram", "l1pram", "l1dram", "host1cfg", "chipsig";
62 interrupt-parent = <&intc>;
69 compatible = "simple-bus";
73 ranges = <0x0 0x01c00000 0x400000>;
74 interrupt-parent = <&intc>;
76 psc0: clock-controller@10000 {
77 compatible = "ti,da850-psc0";
78 reg = <0x10000 0x1000>;
81 #power-domain-cells = <1>;
82 clocks = <&pll0_sysclk 1>, <&pll0_sysclk 2>,
83 <&pll0_sysclk 4>, <&pll0_sysclk 6>,
85 clock-names = "pll0_sysclk1", "pll0_sysclk2",
86 "pll0_sysclk4", "pll0_sysclk6",
89 pll0: clock-controller@11000 {
90 compatible = "ti,da850-pll0";
91 reg = <0x11000 0x1000>;
92 clocks = <&ref_clk>, <&pll1_sysclk 3>;
93 clock-names = "clksrc", "extclksrc";
101 pll0_auxclk: auxclk {
104 pll0_obsclk: obsclk {
108 pmx_core: pinmux@14120 {
109 compatible = "pinctrl-single";
110 reg = <0x14120 0x50>;
111 #pinctrl-cells = <2>;
112 pinctrl-single,bit-per-mux;
113 pinctrl-single,register-width = <32>;
114 pinctrl-single,function-mask = <0xf>;
115 /* pin base, nr pins & gpio function */
116 pinctrl-single,gpio-range = <&range 0 17 0x8>,
124 #pinctrl-single,gpio-range-cells = <3>;
127 serial0_rtscts_pins: pinmux_serial0_rtscts_pins {
128 pinctrl-single,bits = <
129 /* UART0_RTS UART0_CTS */
130 0x0c 0x22000000 0xff000000
133 serial0_rxtx_pins: pinmux_serial0_rxtx_pins {
134 pinctrl-single,bits = <
135 /* UART0_TXD UART0_RXD */
136 0x0c 0x00220000 0x00ff0000
139 serial1_rtscts_pins: pinmux_serial1_rtscts_pins {
140 pinctrl-single,bits = <
141 /* UART1_CTS UART1_RTS */
142 0x00 0x00440000 0x00ff0000
145 serial1_rxtx_pins: pinmux_serial1_rxtx_pins {
146 pinctrl-single,bits = <
147 /* UART1_TXD UART1_RXD */
148 0x10 0x22000000 0xff000000
151 serial2_rtscts_pins: pinmux_serial2_rtscts_pins {
152 pinctrl-single,bits = <
153 /* UART2_CTS UART2_RTS */
154 0x00 0x44000000 0xff000000
157 serial2_rxtx_pins: pinmux_serial2_rxtx_pins {
158 pinctrl-single,bits = <
159 /* UART2_TXD UART2_RXD */
160 0x10 0x00220000 0x00ff0000
163 i2c0_pins: pinmux_i2c0_pins {
164 pinctrl-single,bits = <
165 /* I2C0_SDA,I2C0_SCL */
166 0x10 0x00002200 0x0000ff00
169 i2c1_pins: pinmux_i2c1_pins {
170 pinctrl-single,bits = <
171 /* I2C1_SDA, I2C1_SCL */
172 0x10 0x00440000 0x00ff0000
175 mmc0_pins: pinmux_mmc_pins {
176 pinctrl-single,bits = <
177 /* MMCSD0_DAT[3] MMCSD0_DAT[2]
178 * MMCSD0_DAT[1] MMCSD0_DAT[0]
179 * MMCSD0_CMD MMCSD0_CLK
181 0x28 0x00222222 0x00ffffff
184 ehrpwm0a_pins: pinmux_ehrpwm0a_pins {
185 pinctrl-single,bits = <
187 0xc 0x00000002 0x0000000f
190 ehrpwm0b_pins: pinmux_ehrpwm0b_pins {
191 pinctrl-single,bits = <
193 0xc 0x00000020 0x000000f0
196 ehrpwm1a_pins: pinmux_ehrpwm1a_pins {
197 pinctrl-single,bits = <
199 0x14 0x00000002 0x0000000f
202 ehrpwm1b_pins: pinmux_ehrpwm1b_pins {
203 pinctrl-single,bits = <
205 0x14 0x00000020 0x000000f0
208 ecap0_pins: pinmux_ecap0_pins {
209 pinctrl-single,bits = <
211 0x8 0x20000000 0xf0000000
214 ecap1_pins: pinmux_ecap1_pins {
215 pinctrl-single,bits = <
217 0x4 0x40000000 0xf0000000
220 ecap2_pins: pinmux_ecap2_pins {
221 pinctrl-single,bits = <
223 0x4 0x00000004 0x0000000f
226 spi0_pins: pinmux_spi0_pins {
227 pinctrl-single,bits = <
228 /* SIMO, SOMI, CLK */
229 0xc 0x00001101 0x0000ff0f
232 spi0_cs0_pin: pinmux_spi0_cs0 {
233 pinctrl-single,bits = <
235 0x10 0x00000010 0x000000f0
238 spi0_cs3_pin: pinmux_spi0_cs3_pin {
239 pinctrl-single,bits = <
241 0xc 0x01000000 0x0f000000
244 spi1_pins: pinmux_spi1_pins {
245 pinctrl-single,bits = <
246 /* SIMO, SOMI, CLK */
247 0x14 0x00110100 0x00ff0f00
250 spi1_cs0_pin: pinmux_spi1_cs0 {
251 pinctrl-single,bits = <
253 0x14 0x00000010 0x000000f0
256 mdio_pins: pinmux_mdio_pins {
257 pinctrl-single,bits = <
258 /* MDIO_CLK, MDIO_D */
259 0x10 0x00000088 0x000000ff
262 mii_pins: pinmux_mii_pins {
263 pinctrl-single,bits = <
265 * MII_TXEN, MII_TXCLK, MII_COL
266 * MII_TXD_3, MII_TXD_2, MII_TXD_1
269 0x8 0x88888880 0xfffffff0
271 * MII_RXER, MII_CRS, MII_RXCLK
272 * MII_RXDV, MII_RXD_3, MII_RXD_2
273 * MII_RXD_1, MII_RXD_0
275 0xc 0x88888888 0xffffffff
278 lcd_pins: pinmux_lcd_pins {
279 pinctrl-single,bits = <
281 * LCD_D[2], LCD_D[3], LCD_D[4], LCD_D[5],
284 0x40 0x22222200 0xffffff00
286 * LCD_D[10], LCD_D[11], LCD_D[12], LCD_D[13],
287 * LCD_D[14], LCD_D[15], LCD_D[0], LCD_D[1]
289 0x44 0x22222222 0xffffffff
290 /* LCD_D[8], LCD_D[9] */
291 0x48 0x00000022 0x000000ff
294 0x48 0x02000000 0x0f000000
295 /* LCD_AC_ENB_CS, LCD_VSYNC, LCD_HSYNC */
296 0x4c 0x02000022 0x0f0000ff
299 vpif_capture_pins: vpif_capture_pins {
300 pinctrl-single,bits = <
301 /* VP_DIN[2..7], VP_CLKIN1, VP_CLKIN0 */
302 0x38 0x11111111 0xffffffff
303 /* VP_DIN[10..15,0..1] */
304 0x3c 0x11111111 0xffffffff
306 0x40 0x00000011 0x000000ff
309 vpif_display_pins: vpif_display_pins {
310 pinctrl-single,bits = <
312 0x40 0x11111100 0xffffff00
313 /* VP_DOUT[10..15,0..1] */
314 0x44 0x11111111 0xffffffff
316 0x48 0x00000011 0x000000ff
318 * VP_CLKOUT3, VP_CLKIN3,
319 * VP_CLKOUT2, VP_CLKIN2
321 0x4c 0x00111100 0x00ffff00
325 prictrl: priority-controller@14110 {
326 compatible = "ti,da850-mstpri";
327 reg = <0x14110 0x0c>;
330 cfgchip: chip-controller@1417c {
331 compatible = "ti,da830-cfgchip", "syscon", "simple-mfd";
332 reg = <0x1417c 0x14>;
335 compatible = "ti,da830-usb-phy";
337 clocks = <&usb_phy_clk 0>, <&usb_phy_clk 1>;
338 clock-names = "usb0_clk48", "usb1_clk48";
341 usb_phy_clk: usb-phy-clocks {
342 compatible = "ti,da830-usb-phy-clocks";
344 clocks = <&psc1 1>, <&usb_refclkin>,
346 clock-names = "fck", "usb_refclkin", "auxclk";
348 ehrpwm_tbclk: ehrpwm_tbclk {
349 compatible = "ti,da830-tbclksync";
355 compatible = "ti,da830-div4p5ena";
357 clocks = <&pll0_pllout>;
358 clock-names = "pll0_pllout";
361 compatible = "ti,da850-async1-clksrc";
363 clocks = <&pll0_sysclk 3>, <&div4p5_clk>;
364 clock-names = "pll0_sysclk3", "div4.5";
367 compatible = "ti,da850-async3-clksrc";
369 clocks = <&pll0_sysclk 2>, <&pll1_sysclk 2>;
370 clock-names = "pll0_sysclk2", "pll1_sysclk2";
374 compatible = "ti,edma3-tpcc";
375 /* eDMA3 CC0: 0x01c0 0000 - 0x01c0 7fff */
377 reg-names = "edma3_cc";
378 interrupts = <11 12>;
379 interrupt-names = "edma3_ccint", "edma3_ccerrint";
382 ti,tptcs = <&edma0_tptc0 7>, <&edma0_tptc1 0>;
383 power-domains = <&psc0 0>;
385 edma0_tptc0: tptc@8000 {
386 compatible = "ti,edma3-tptc";
387 reg = <0x8000 0x400>;
389 interrupt-names = "edm3_tcerrint";
390 power-domains = <&psc0 1>;
392 edma0_tptc1: tptc@8400 {
393 compatible = "ti,edma3-tptc";
394 reg = <0x8400 0x400>;
396 interrupt-names = "edm3_tcerrint";
397 power-domains = <&psc0 2>;
400 compatible = "ti,edma3-tpcc";
401 /* eDMA3 CC1: 0x01e3 0000 - 0x01e3 7fff */
402 reg = <0x230000 0x8000>;
403 reg-names = "edma3_cc";
404 interrupts = <93 94>;
405 interrupt-names = "edma3_ccint", "edma3_ccerrint";
408 ti,tptcs = <&edma1_tptc0 7>;
409 power-domains = <&psc1 0>;
411 edma1_tptc0: tptc@238000 {
412 compatible = "ti,edma3-tptc";
413 reg = <0x238000 0x400>;
415 interrupt-names = "edm3_tcerrint";
416 power-domains = <&psc1 21>;
418 serial0: serial@42000 {
419 compatible = "ti,da830-uart", "ns16550a";
420 reg = <0x42000 0x100>;
425 power-domains = <&psc0 9>;
428 serial1: serial@10c000 {
429 compatible = "ti,da830-uart", "ns16550a";
430 reg = <0x10c000 0x100>;
435 power-domains = <&psc1 12>;
438 serial2: serial@10d000 {
439 compatible = "ti,da830-uart", "ns16550a";
440 reg = <0x10d000 0x100>;
445 power-domains = <&psc1 13>;
449 compatible = "ti,da830-rtc";
450 reg = <0x23000 0x1000>;
453 clocks = <&pll0_auxclk>;
454 clock-names = "int-clk";
458 compatible = "ti,davinci-i2c";
459 reg = <0x22000 0x1000>;
461 #address-cells = <1>;
463 clocks = <&pll0_auxclk>;
467 compatible = "ti,davinci-i2c";
468 reg = <0x228000 0x1000>;
470 #address-cells = <1>;
473 power-domains = <&psc1 11>;
476 clocksource: timer@20000 {
477 compatible = "ti,da830-timer";
478 reg = <0x20000 0x1000>;
479 interrupts = <21>, <22>;
480 interrupt-names = "tint12", "tint34";
481 clocks = <&pll0_auxclk>;
484 compatible = "ti,davinci-wdt";
485 reg = <0x21000 0x1000>;
486 clocks = <&pll0_auxclk>;
490 compatible = "ti,da830-mmc";
491 reg = <0x40000 0x1000>;
495 dmas = <&edma0 16 0>, <&edma0 17 0>;
496 dma-names = "rx", "tx";
501 compatible = "ti,da850-vpif";
502 reg = <0x217000 0x1000>;
504 power-domains = <&psc1 9>;
507 /* VPIF capture port */
509 #address-cells = <1>;
513 /* VPIF display port */
515 #address-cells = <1>;
520 compatible = "ti,da830-mmc";
521 reg = <0x21b000 0x1000>;
525 dmas = <&edma1 28 0>, <&edma1 29 0>;
526 dma-names = "rx", "tx";
530 ehrpwm0: pwm@300000 {
531 compatible = "ti,da850-ehrpwm", "ti,am3352-ehrpwm",
534 reg = <0x300000 0x2000>;
535 clocks = <&psc1 17>, <&ehrpwm_tbclk>;
536 clock-names = "fck", "tbclk";
537 power-domains = <&psc1 17>;
540 ehrpwm1: pwm@302000 {
541 compatible = "ti,da850-ehrpwm", "ti,am3352-ehrpwm",
544 reg = <0x302000 0x2000>;
545 clocks = <&psc1 17>, <&ehrpwm_tbclk>;
546 clock-names = "fck", "tbclk";
547 power-domains = <&psc1 17>;
551 compatible = "ti,da850-ecap", "ti,am3352-ecap",
554 reg = <0x306000 0x80>;
557 power-domains = <&psc1 20>;
561 compatible = "ti,da850-ecap", "ti,am3352-ecap",
564 reg = <0x307000 0x80>;
567 power-domains = <&psc1 20>;
571 compatible = "ti,da850-ecap", "ti,am3352-ecap",
574 reg = <0x308000 0x80>;
577 power-domains = <&psc1 20>;
581 #address-cells = <1>;
583 compatible = "ti,da830-spi";
584 reg = <0x41000 0x1000>;
586 ti,davinci-spi-intr-line = <1>;
588 dmas = <&edma0 14 0>, <&edma0 15 0>;
589 dma-names = "rx", "tx";
591 power-domains = <&psc0 4>;
595 #address-cells = <1>;
597 compatible = "ti,da830-spi";
598 reg = <0x30e000 0x1000>;
600 ti,davinci-spi-intr-line = <1>;
602 dmas = <&edma0 18 0>, <&edma0 19 0>;
603 dma-names = "rx", "tx";
605 power-domains = <&psc1 10>;
609 compatible = "ti,da830-musb";
610 reg = <0x200000 0x1000>;
613 interrupt-names = "mc";
616 phy-names = "usb-phy";
621 #address-cells = <1>;
624 dmas = <&cppi41dma 0 0 &cppi41dma 1 0
625 &cppi41dma 2 0 &cppi41dma 3 0
626 &cppi41dma 0 1 &cppi41dma 1 1
627 &cppi41dma 2 1 &cppi41dma 3 1>;
629 "rx1", "rx2", "rx3", "rx4",
630 "tx1", "tx2", "tx3", "tx4";
632 cppi41dma: dma-controller@201000 {
633 compatible = "ti,da830-cppi41";
634 reg = <0x201000 0x1000
637 reg-names = "controller",
638 "scheduler", "queuemgr";
642 power-domains = <&psc1 1>;
647 compatible = "ti,da850-ahci";
648 reg = <0x218000 0x2000>, <0x22c018 0x4>;
650 clocks = <&psc1 8>, <&sata_refclk>;
651 clock-names = "fck", "refclk";
654 pll1: clock-controller@21a000 {
655 compatible = "ti,da850-pll1";
656 reg = <0x21a000 0x1000>;
658 clock-names = "clksrc";
660 pll1_sysclk: sysclk {
663 pll1_obsclk: obsclk {
668 compatible = "ti,davinci_mdio";
669 #address-cells = <1>;
671 reg = <0x224000 0x1000>;
674 power-domains = <&psc1 5>;
677 eth0: ethernet@220000 {
678 compatible = "ti,davinci-dm6467-emac";
679 reg = <0x220000 0x4000>;
680 ti,davinci-ctrl-reg-offset = <0x3000>;
681 ti,davinci-ctrl-mod-reg-offset = <0x2000>;
682 ti,davinci-ctrl-ram-offset = <0>;
683 ti,davinci-ctrl-ram-size = <0x2000>;
684 local-mac-address = [ 00 00 00 00 00 00 ];
691 power-domains = <&psc1 5>;
695 compatible = "ti,da830-ohci";
696 reg = <0x225000 0x1000>;
699 phy-names = "usb-phy";
704 compatible = "ti,dm6441-gpio";
707 reg = <0x226000 0x1000>;
708 interrupts = <42 43 44 45 46 47 48 49 50>;
710 ti,davinci-gpio-unbanked = <0>;
712 clock-names = "gpio";
714 interrupt-controller;
715 #interrupt-cells = <2>;
716 gpio-ranges = <&pmx_core 0 15 1>,
796 <&pmx_core 80 103 1>,
797 <&pmx_core 81 102 1>,
798 <&pmx_core 82 101 1>,
799 <&pmx_core 83 100 1>,
812 <&pmx_core 96 158 1>,
813 <&pmx_core 97 157 1>,
814 <&pmx_core 98 156 1>,
815 <&pmx_core 99 155 1>,
816 <&pmx_core 100 154 1>,
817 <&pmx_core 101 129 1>,
818 <&pmx_core 102 113 1>,
819 <&pmx_core 103 112 1>,
820 <&pmx_core 104 111 1>,
821 <&pmx_core 105 110 1>,
822 <&pmx_core 106 109 1>,
823 <&pmx_core 107 108 1>,
824 <&pmx_core 108 107 1>,
825 <&pmx_core 109 106 1>,
826 <&pmx_core 110 105 1>,
827 <&pmx_core 111 104 1>,
828 <&pmx_core 112 145 1>,
829 <&pmx_core 113 144 1>,
830 <&pmx_core 114 143 1>,
831 <&pmx_core 115 142 1>,
832 <&pmx_core 116 141 1>,
833 <&pmx_core 117 140 1>,
834 <&pmx_core 118 139 1>,
835 <&pmx_core 119 138 1>,
836 <&pmx_core 120 137 1>,
837 <&pmx_core 121 136 1>,
838 <&pmx_core 122 135 1>,
839 <&pmx_core 123 134 1>,
840 <&pmx_core 124 133 1>,
841 <&pmx_core 125 132 1>,
842 <&pmx_core 126 131 1>,
843 <&pmx_core 127 130 1>,
844 <&pmx_core 128 159 1>,
845 <&pmx_core 129 31 1>,
846 <&pmx_core 130 30 1>,
847 <&pmx_core 131 20 1>,
848 <&pmx_core 132 28 1>,
849 <&pmx_core 133 27 1>,
850 <&pmx_core 134 26 1>,
851 <&pmx_core 135 23 1>,
852 <&pmx_core 136 153 1>,
853 <&pmx_core 137 152 1>,
854 <&pmx_core 138 151 1>,
855 <&pmx_core 139 150 1>,
856 <&pmx_core 140 149 1>,
857 <&pmx_core 141 148 1>,
858 <&pmx_core 142 147 1>,
859 <&pmx_core 143 146 1>;
861 psc1: clock-controller@227000 {
862 compatible = "ti,da850-psc1";
863 reg = <0x227000 0x1000>;
865 #power-domain-cells = <1>;
866 clocks = <&pll0_sysclk 2>, <&pll0_sysclk 4>,
868 clock-names = "pll0_sysclk2", "pll0_sysclk4", "async3";
869 assigned-clocks = <&async3_clk>;
870 assigned-clock-parents = <&pll1_sysclk 2>;
872 pinconf: pin-controller@22c00c {
873 compatible = "ti,da850-pupd";
874 reg = <0x22c00c 0x8>;
878 mcasp0: mcasp@100000 {
879 compatible = "ti,da830-mcasp-audio";
880 reg = <0x100000 0x2000>,
882 reg-names = "mpu", "dat";
884 interrupt-names = "common";
885 power-domains = <&psc1 7>;
889 dma-names = "tx", "rx";
892 lcdc: display@213000 {
893 compatible = "ti,da850-tilcdc";
894 reg = <0x213000 0x1000>;
896 max-pixelclock = <37500>;
899 power-domains = <&psc1 16>;
903 aemif: aemif@68000000 {
904 compatible = "ti,da850-aemif";
905 #address-cells = <2>;
908 reg = <0x68000000 0x00008000>;
909 ranges = <0 0 0x60000000 0x08000000
910 1 0 0x68000000 0x00008000>;
912 clock-names = "aemif";
916 memctrl: memory-controller@b0000000 {
917 compatible = "ti,da850-ddr-controller";
918 reg = <0xb0000000 0xe8>;