1 // SPDX-License-Identifier: GPL-2.0-or-later
3 * Copyright 2012 DENX Software Engineering GmbH
4 * Heiko Schocher <hs@denx.de>
6 #include <dt-bindings/interrupt-controller/irq.h>
15 device_type = "memory";
16 reg = <0xc0000000 0x0>;
24 compatible = "arm,arm926ej-s";
28 operating-points-v2 = <&opp_table>;
32 opp_table: opp-table {
33 compatible = "operating-points-v2";
35 opp_100: opp100-100000000 {
36 opp-hz = /bits/ 64 <100000000>;
37 opp-microvolt = <1000000 950000 1050000>;
40 opp_200: opp110-200000000 {
41 opp-hz = /bits/ 64 <200000000>;
42 opp-microvolt = <1100000 1050000 1160000>;
45 opp_300: opp120-300000000 {
46 opp-hz = /bits/ 64 <300000000>;
47 opp-microvolt = <1200000 1140000 1320000>;
51 * Original silicon was 300MHz max, so higher frequencies
52 * need to be enabled on a per-board basis if the chip is
56 opp_375: opp120-375000000 {
58 opp-hz = /bits/ 64 <375000000>;
59 opp-microvolt = <1200000 1140000 1320000>;
62 opp_456: opp130-456000000 {
64 opp-hz = /bits/ 64 <456000000>;
65 opp-microvolt = <1300000 1250000 1350000>;
73 intc: interrupt-controller@fffee000 {
74 compatible = "ti,cp-intc";
76 #interrupt-cells = <1>;
78 reg = <0xfffee000 0x2000>;
83 compatible = "fixed-clock";
85 clock-output-names = "ref_clk";
87 sata_refclk: sata_refclk {
88 compatible = "fixed-clock";
90 clock-output-names = "sata_refclk";
93 usb_refclkin: usb_refclkin {
94 compatible = "fixed-clock";
96 clock-output-names = "usb_refclkin";
101 compatible = "ti,da850-dsp";
102 reg = <0x11800000 0x40000>,
107 reg-names = "l2sram", "l1pram", "l1dram", "host1cfg", "chipsig";
108 interrupt-parent = <&intc>;
115 compatible = "simple-bus";
117 #address-cells = <1>;
119 ranges = <0x0 0x01c00000 0x400000>;
120 interrupt-parent = <&intc>;
122 psc0: clock-controller@10000 {
123 compatible = "ti,da850-psc0";
124 reg = <0x10000 0x1000>;
127 #power-domain-cells = <1>;
128 clocks = <&pll0_sysclk 1>, <&pll0_sysclk 2>,
129 <&pll0_sysclk 4>, <&pll0_sysclk 6>,
131 clock-names = "pll0_sysclk1", "pll0_sysclk2",
132 "pll0_sysclk4", "pll0_sysclk6",
135 pll0: clock-controller@11000 {
136 compatible = "ti,da850-pll0";
137 reg = <0x11000 0x1000>;
138 clocks = <&ref_clk>, <&pll1_sysclk 3>;
139 clock-names = "clksrc", "extclksrc";
141 pll0_pllout: pllout {
144 pll0_sysclk: sysclk {
147 pll0_auxclk: auxclk {
150 pll0_obsclk: obsclk {
154 pmx_core: pinmux@14120 {
155 compatible = "pinctrl-single";
156 reg = <0x14120 0x50>;
157 #pinctrl-cells = <2>;
158 pinctrl-single,bit-per-mux;
159 pinctrl-single,register-width = <32>;
160 pinctrl-single,function-mask = <0xf>;
161 /* pin base, nr pins & gpio function */
162 pinctrl-single,gpio-range = <&range 0 17 0x8>,
170 #pinctrl-single,gpio-range-cells = <3>;
173 serial0_rtscts_pins: pinmux_serial0_rtscts_pins {
174 pinctrl-single,bits = <
175 /* UART0_RTS UART0_CTS */
176 0x0c 0x22000000 0xff000000
179 serial0_rxtx_pins: pinmux_serial0_rxtx_pins {
180 pinctrl-single,bits = <
181 /* UART0_TXD UART0_RXD */
182 0x0c 0x00220000 0x00ff0000
185 serial1_rtscts_pins: pinmux_serial1_rtscts_pins {
186 pinctrl-single,bits = <
187 /* UART1_CTS UART1_RTS */
188 0x00 0x00440000 0x00ff0000
191 serial1_rxtx_pins: pinmux_serial1_rxtx_pins {
192 pinctrl-single,bits = <
193 /* UART1_TXD UART1_RXD */
194 0x10 0x22000000 0xff000000
197 serial2_rtscts_pins: pinmux_serial2_rtscts_pins {
198 pinctrl-single,bits = <
199 /* UART2_CTS UART2_RTS */
200 0x00 0x44000000 0xff000000
203 serial2_rxtx_pins: pinmux_serial2_rxtx_pins {
204 pinctrl-single,bits = <
205 /* UART2_TXD UART2_RXD */
206 0x10 0x00220000 0x00ff0000
209 i2c0_pins: pinmux_i2c0_pins {
210 pinctrl-single,bits = <
211 /* I2C0_SDA,I2C0_SCL */
212 0x10 0x00002200 0x0000ff00
215 i2c1_pins: pinmux_i2c1_pins {
216 pinctrl-single,bits = <
217 /* I2C1_SDA, I2C1_SCL */
218 0x10 0x00440000 0x00ff0000
221 mmc0_pins: pinmux_mmc_pins {
222 pinctrl-single,bits = <
223 /* MMCSD0_DAT[3] MMCSD0_DAT[2]
224 * MMCSD0_DAT[1] MMCSD0_DAT[0]
225 * MMCSD0_CMD MMCSD0_CLK
227 0x28 0x00222222 0x00ffffff
230 ehrpwm0a_pins: pinmux_ehrpwm0a_pins {
231 pinctrl-single,bits = <
233 0xc 0x00000002 0x0000000f
236 ehrpwm0b_pins: pinmux_ehrpwm0b_pins {
237 pinctrl-single,bits = <
239 0xc 0x00000020 0x000000f0
242 ehrpwm1a_pins: pinmux_ehrpwm1a_pins {
243 pinctrl-single,bits = <
245 0x14 0x00000002 0x0000000f
248 ehrpwm1b_pins: pinmux_ehrpwm1b_pins {
249 pinctrl-single,bits = <
251 0x14 0x00000020 0x000000f0
254 ecap0_pins: pinmux_ecap0_pins {
255 pinctrl-single,bits = <
257 0x8 0x20000000 0xf0000000
260 ecap1_pins: pinmux_ecap1_pins {
261 pinctrl-single,bits = <
263 0x4 0x40000000 0xf0000000
266 ecap2_pins: pinmux_ecap2_pins {
267 pinctrl-single,bits = <
269 0x4 0x00000004 0x0000000f
272 spi0_pins: pinmux_spi0_pins {
273 pinctrl-single,bits = <
274 /* SIMO, SOMI, CLK */
275 0xc 0x00001101 0x0000ff0f
278 spi0_cs0_pin: pinmux_spi0_cs0 {
279 pinctrl-single,bits = <
281 0x10 0x00000010 0x000000f0
284 spi0_cs3_pin: pinmux_spi0_cs3_pin {
285 pinctrl-single,bits = <
287 0xc 0x01000000 0x0f000000
290 spi1_pins: pinmux_spi1_pins {
291 pinctrl-single,bits = <
292 /* SIMO, SOMI, CLK */
293 0x14 0x00110100 0x00ff0f00
296 spi1_cs0_pin: pinmux_spi1_cs0 {
297 pinctrl-single,bits = <
299 0x14 0x00000010 0x000000f0
302 mdio_pins: pinmux_mdio_pins {
303 pinctrl-single,bits = <
304 /* MDIO_CLK, MDIO_D */
305 0x10 0x00000088 0x000000ff
308 mii_pins: pinmux_mii_pins {
309 pinctrl-single,bits = <
311 * MII_TXEN, MII_TXCLK, MII_COL
312 * MII_TXD_3, MII_TXD_2, MII_TXD_1
315 0x8 0x88888880 0xfffffff0
317 * MII_RXER, MII_CRS, MII_RXCLK
318 * MII_RXDV, MII_RXD_3, MII_RXD_2
319 * MII_RXD_1, MII_RXD_0
321 0xc 0x88888888 0xffffffff
324 lcd_pins: pinmux_lcd_pins {
325 pinctrl-single,bits = <
327 * LCD_D[2], LCD_D[3], LCD_D[4], LCD_D[5],
330 0x40 0x22222200 0xffffff00
332 * LCD_D[10], LCD_D[11], LCD_D[12], LCD_D[13],
333 * LCD_D[14], LCD_D[15], LCD_D[0], LCD_D[1]
335 0x44 0x22222222 0xffffffff
336 /* LCD_D[8], LCD_D[9] */
337 0x48 0x00000022 0x000000ff
340 0x48 0x02000000 0x0f000000
341 /* LCD_AC_ENB_CS, LCD_VSYNC, LCD_HSYNC */
342 0x4c 0x02000022 0x0f0000ff
345 vpif_capture_pins: vpif_capture_pins {
346 pinctrl-single,bits = <
347 /* VP_DIN[2..7], VP_CLKIN1, VP_CLKIN0 */
348 0x38 0x11111111 0xffffffff
349 /* VP_DIN[10..15,0..1] */
350 0x3c 0x11111111 0xffffffff
352 0x40 0x00000011 0x000000ff
355 vpif_display_pins: vpif_display_pins {
356 pinctrl-single,bits = <
358 0x40 0x11111100 0xffffff00
359 /* VP_DOUT[10..15,0..1] */
360 0x44 0x11111111 0xffffffff
362 0x48 0x00000011 0x000000ff
364 * VP_CLKOUT3, VP_CLKIN3,
365 * VP_CLKOUT2, VP_CLKIN2
367 0x4c 0x00111100 0x00ffff00
371 prictrl: priority-controller@14110 {
372 compatible = "ti,da850-mstpri";
373 reg = <0x14110 0x0c>;
376 cfgchip: chip-controller@1417c {
377 compatible = "ti,da830-cfgchip", "syscon", "simple-mfd";
378 reg = <0x1417c 0x14>;
381 compatible = "ti,da830-usb-phy";
383 clocks = <&usb_phy_clk 0>, <&usb_phy_clk 1>;
384 clock-names = "usb0_clk48", "usb1_clk48";
387 usb_phy_clk: usb-phy-clocks {
388 compatible = "ti,da830-usb-phy-clocks";
390 clocks = <&psc1 1>, <&usb_refclkin>,
392 clock-names = "fck", "usb_refclkin", "auxclk";
394 ehrpwm_tbclk: ehrpwm_tbclk {
395 compatible = "ti,da830-tbclksync";
401 compatible = "ti,da830-div4p5ena";
403 clocks = <&pll0_pllout>;
404 clock-names = "pll0_pllout";
407 compatible = "ti,da850-async1-clksrc";
409 clocks = <&pll0_sysclk 3>, <&div4p5_clk>;
410 clock-names = "pll0_sysclk3", "div4.5";
413 compatible = "ti,da850-async3-clksrc";
415 clocks = <&pll0_sysclk 2>, <&pll1_sysclk 2>;
416 clock-names = "pll0_sysclk2", "pll1_sysclk2";
420 compatible = "ti,edma3-tpcc";
421 /* eDMA3 CC0: 0x01c0 0000 - 0x01c0 7fff */
423 reg-names = "edma3_cc";
424 interrupts = <11 12>;
425 interrupt-names = "edma3_ccint", "edma3_ccerrint";
428 ti,tptcs = <&edma0_tptc0 7>, <&edma0_tptc1 0>;
429 power-domains = <&psc0 0>;
431 edma0_tptc0: tptc@8000 {
432 compatible = "ti,edma3-tptc";
433 reg = <0x8000 0x400>;
435 interrupt-names = "edm3_tcerrint";
436 power-domains = <&psc0 1>;
438 edma0_tptc1: tptc@8400 {
439 compatible = "ti,edma3-tptc";
440 reg = <0x8400 0x400>;
442 interrupt-names = "edm3_tcerrint";
443 power-domains = <&psc0 2>;
446 compatible = "ti,edma3-tpcc";
447 /* eDMA3 CC1: 0x01e3 0000 - 0x01e3 7fff */
448 reg = <0x230000 0x8000>;
449 reg-names = "edma3_cc";
450 interrupts = <93 94>;
451 interrupt-names = "edma3_ccint", "edma3_ccerrint";
454 ti,tptcs = <&edma1_tptc0 7>;
455 power-domains = <&psc1 0>;
457 edma1_tptc0: tptc@238000 {
458 compatible = "ti,edma3-tptc";
459 reg = <0x238000 0x400>;
461 interrupt-names = "edm3_tcerrint";
462 power-domains = <&psc1 21>;
464 serial0: serial@42000 {
465 compatible = "ti,da830-uart", "ns16550a";
466 reg = <0x42000 0x100>;
471 power-domains = <&psc0 9>;
474 serial1: serial@10c000 {
475 compatible = "ti,da830-uart", "ns16550a";
476 reg = <0x10c000 0x100>;
481 power-domains = <&psc1 12>;
484 serial2: serial@10d000 {
485 compatible = "ti,da830-uart", "ns16550a";
486 reg = <0x10d000 0x100>;
491 power-domains = <&psc1 13>;
495 compatible = "ti,da830-rtc";
496 reg = <0x23000 0x1000>;
499 clocks = <&pll0_auxclk>;
500 clock-names = "int-clk";
504 compatible = "ti,davinci-i2c";
505 reg = <0x22000 0x1000>;
507 #address-cells = <1>;
509 clocks = <&pll0_auxclk>;
513 compatible = "ti,davinci-i2c";
514 reg = <0x228000 0x1000>;
516 #address-cells = <1>;
519 power-domains = <&psc1 11>;
522 clocksource: timer@20000 {
523 compatible = "ti,da830-timer";
524 reg = <0x20000 0x1000>;
525 interrupts = <21>, <22>;
526 interrupt-names = "tint12", "tint34";
527 clocks = <&pll0_auxclk>;
530 compatible = "ti,davinci-wdt";
531 reg = <0x21000 0x1000>;
532 clocks = <&pll0_auxclk>;
536 compatible = "ti,da830-mmc";
537 reg = <0x40000 0x1000>;
541 dmas = <&edma0 16 0>, <&edma0 17 0>;
542 dma-names = "rx", "tx";
547 compatible = "ti,da850-vpif";
548 reg = <0x217000 0x1000>;
550 power-domains = <&psc1 9>;
553 /* VPIF capture port */
555 #address-cells = <1>;
559 /* VPIF display port */
561 #address-cells = <1>;
566 compatible = "ti,da830-mmc";
567 reg = <0x21b000 0x1000>;
571 dmas = <&edma1 28 0>, <&edma1 29 0>;
572 dma-names = "rx", "tx";
576 ehrpwm0: pwm@300000 {
577 compatible = "ti,da850-ehrpwm", "ti,am3352-ehrpwm",
580 reg = <0x300000 0x2000>;
581 clocks = <&psc1 17>, <&ehrpwm_tbclk>;
582 clock-names = "fck", "tbclk";
583 power-domains = <&psc1 17>;
586 ehrpwm1: pwm@302000 {
587 compatible = "ti,da850-ehrpwm", "ti,am3352-ehrpwm",
590 reg = <0x302000 0x2000>;
591 clocks = <&psc1 17>, <&ehrpwm_tbclk>;
592 clock-names = "fck", "tbclk";
593 power-domains = <&psc1 17>;
597 compatible = "ti,da850-ecap", "ti,am3352-ecap",
600 reg = <0x306000 0x80>;
603 power-domains = <&psc1 20>;
607 compatible = "ti,da850-ecap", "ti,am3352-ecap",
610 reg = <0x307000 0x80>;
613 power-domains = <&psc1 20>;
617 compatible = "ti,da850-ecap", "ti,am3352-ecap",
620 reg = <0x308000 0x80>;
623 power-domains = <&psc1 20>;
627 #address-cells = <1>;
629 compatible = "ti,da830-spi";
630 reg = <0x41000 0x1000>;
632 ti,davinci-spi-intr-line = <1>;
634 dmas = <&edma0 14 0>, <&edma0 15 0>;
635 dma-names = "rx", "tx";
637 power-domains = <&psc0 4>;
641 #address-cells = <1>;
643 compatible = "ti,da830-spi";
644 reg = <0x30e000 0x1000>;
646 ti,davinci-spi-intr-line = <1>;
648 dmas = <&edma0 18 0>, <&edma0 19 0>;
649 dma-names = "rx", "tx";
651 power-domains = <&psc1 10>;
655 compatible = "ti,da830-musb";
656 reg = <0x200000 0x1000>;
659 interrupt-names = "mc";
662 phy-names = "usb-phy";
667 #address-cells = <1>;
670 dmas = <&cppi41dma 0 0 &cppi41dma 1 0
671 &cppi41dma 2 0 &cppi41dma 3 0
672 &cppi41dma 0 1 &cppi41dma 1 1
673 &cppi41dma 2 1 &cppi41dma 3 1>;
675 "rx1", "rx2", "rx3", "rx4",
676 "tx1", "tx2", "tx3", "tx4";
678 cppi41dma: dma-controller@201000 {
679 compatible = "ti,da830-cppi41";
680 reg = <0x201000 0x1000
683 reg-names = "controller",
684 "scheduler", "queuemgr";
688 power-domains = <&psc1 1>;
693 compatible = "ti,da850-ahci";
694 reg = <0x218000 0x2000>, <0x22c018 0x4>;
696 clocks = <&psc1 8>, <&sata_refclk>;
697 clock-names = "fck", "refclk";
700 pll1: clock-controller@21a000 {
701 compatible = "ti,da850-pll1";
702 reg = <0x21a000 0x1000>;
704 clock-names = "clksrc";
706 pll1_sysclk: sysclk {
709 pll1_obsclk: obsclk {
714 compatible = "ti,davinci_mdio";
715 #address-cells = <1>;
717 reg = <0x224000 0x1000>;
720 power-domains = <&psc1 5>;
723 eth0: ethernet@220000 {
724 compatible = "ti,davinci-dm6467-emac";
725 reg = <0x220000 0x4000>;
726 ti,davinci-ctrl-reg-offset = <0x3000>;
727 ti,davinci-ctrl-mod-reg-offset = <0x2000>;
728 ti,davinci-ctrl-ram-offset = <0>;
729 ti,davinci-ctrl-ram-size = <0x2000>;
730 local-mac-address = [ 00 00 00 00 00 00 ];
737 power-domains = <&psc1 5>;
741 compatible = "ti,da830-ohci";
742 reg = <0x225000 0x1000>;
745 phy-names = "usb-phy";
750 compatible = "ti,dm6441-gpio";
753 reg = <0x226000 0x1000>;
754 interrupts = <42 43 44 45 46 47 48 49 50>;
756 ti,davinci-gpio-unbanked = <0>;
758 clock-names = "gpio";
760 interrupt-controller;
761 #interrupt-cells = <2>;
762 gpio-ranges = <&pmx_core 0 15 1>,
842 <&pmx_core 80 103 1>,
843 <&pmx_core 81 102 1>,
844 <&pmx_core 82 101 1>,
845 <&pmx_core 83 100 1>,
858 <&pmx_core 96 158 1>,
859 <&pmx_core 97 157 1>,
860 <&pmx_core 98 156 1>,
861 <&pmx_core 99 155 1>,
862 <&pmx_core 100 154 1>,
863 <&pmx_core 101 129 1>,
864 <&pmx_core 102 113 1>,
865 <&pmx_core 103 112 1>,
866 <&pmx_core 104 111 1>,
867 <&pmx_core 105 110 1>,
868 <&pmx_core 106 109 1>,
869 <&pmx_core 107 108 1>,
870 <&pmx_core 108 107 1>,
871 <&pmx_core 109 106 1>,
872 <&pmx_core 110 105 1>,
873 <&pmx_core 111 104 1>,
874 <&pmx_core 112 145 1>,
875 <&pmx_core 113 144 1>,
876 <&pmx_core 114 143 1>,
877 <&pmx_core 115 142 1>,
878 <&pmx_core 116 141 1>,
879 <&pmx_core 117 140 1>,
880 <&pmx_core 118 139 1>,
881 <&pmx_core 119 138 1>,
882 <&pmx_core 120 137 1>,
883 <&pmx_core 121 136 1>,
884 <&pmx_core 122 135 1>,
885 <&pmx_core 123 134 1>,
886 <&pmx_core 124 133 1>,
887 <&pmx_core 125 132 1>,
888 <&pmx_core 126 131 1>,
889 <&pmx_core 127 130 1>,
890 <&pmx_core 128 159 1>,
891 <&pmx_core 129 31 1>,
892 <&pmx_core 130 30 1>,
893 <&pmx_core 131 20 1>,
894 <&pmx_core 132 28 1>,
895 <&pmx_core 133 27 1>,
896 <&pmx_core 134 26 1>,
897 <&pmx_core 135 23 1>,
898 <&pmx_core 136 153 1>,
899 <&pmx_core 137 152 1>,
900 <&pmx_core 138 151 1>,
901 <&pmx_core 139 150 1>,
902 <&pmx_core 140 149 1>,
903 <&pmx_core 141 148 1>,
904 <&pmx_core 142 147 1>,
905 <&pmx_core 143 146 1>;
907 psc1: clock-controller@227000 {
908 compatible = "ti,da850-psc1";
909 reg = <0x227000 0x1000>;
911 #power-domain-cells = <1>;
912 clocks = <&pll0_sysclk 2>, <&pll0_sysclk 4>,
914 clock-names = "pll0_sysclk2", "pll0_sysclk4", "async3";
915 assigned-clocks = <&async3_clk>;
916 assigned-clock-parents = <&pll1_sysclk 2>;
918 pinconf: pin-controller@22c00c {
919 compatible = "ti,da850-pupd";
920 reg = <0x22c00c 0x8>;
924 mcasp0: mcasp@100000 {
925 compatible = "ti,da830-mcasp-audio";
926 reg = <0x100000 0x2000>,
928 reg-names = "mpu", "dat";
930 interrupt-names = "common";
931 power-domains = <&psc1 7>;
935 dma-names = "tx", "rx";
938 lcdc: display@213000 {
939 compatible = "ti,da850-tilcdc";
940 reg = <0x213000 0x1000>;
942 max-pixelclock = <37500>;
945 power-domains = <&psc1 16>;
949 aemif: aemif@68000000 {
950 compatible = "ti,da850-aemif";
951 #address-cells = <2>;
954 reg = <0x68000000 0x00008000>;
955 ranges = <0 0 0x60000000 0x08000000
956 1 0 0x68000000 0x00008000>;
958 clock-names = "aemif";
962 memctrl: memory-controller@b0000000 {
963 compatible = "ti,da850-ddr-controller";
964 reg = <0xb0000000 0xe8>;