Home | History | Annotate | Download | only in dts
      1 /*
      2  * Copyright 2012 DENX Software Engineering GmbH
      3  * Heiko Schocher <hs (at) denx.de>
      4  *
      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.
      9  */
     10 #include "skeleton.dtsi"
     11 #include <dt-bindings/interrupt-controller/irq.h>
     12 
     13 / {
     14 	arm {
     15 		#address-cells = <1>;
     16 		#size-cells = <1>;
     17 		ranges;
     18 		intc: interrupt-controller@fffee000 {
     19 			compatible = "ti,cp-intc";
     20 			interrupt-controller;
     21 			#interrupt-cells = <1>;
     22 			ti,intc-size = <101>;
     23 			reg = <0xfffee000 0x2000>;
     24 		};
     25 	};
     26 	dsp: dsp@11800000 {
     27 		compatible = "ti,da850-dsp";
     28 		reg = <0x11800000 0x40000>,
     29 		      <0x11e00000 0x8000>,
     30 		      <0x11f00000 0x8000>,
     31 		      <0x01c14044 0x4>,
     32 		      <0x01c14174 0x8>;
     33 		reg-names = "l2sram", "l1pram", "l1dram", "host1cfg", "chipsig";
     34 		interrupt-parent = <&intc>;
     35 		interrupts = <28>;
     36 		status = "disabled";
     37 	};
     38 	soc@1c00000 {
     39 		compatible = "simple-bus";
     40 		model = "da850";
     41 		#address-cells = <1>;
     42 		#size-cells = <1>;
     43 		ranges = <0x0 0x01c00000 0x400000>;
     44 		interrupt-parent = <&intc>;
     45 
     46 		pmx_core: pinmux@14120 {
     47 			compatible = "pinctrl-single";
     48 			reg = <0x14120 0x50>;
     49 			#address-cells = <1>;
     50 			#size-cells = <0>;
     51 			#pinctrl-cells = <2>;
     52 			pinctrl-single,bit-per-mux;
     53 			pinctrl-single,register-width = <32>;
     54 			pinctrl-single,function-mask = <0xf>;
     55 			status = "disabled";
     56 
     57 			serial0_rtscts_pins: pinmux_serial0_rtscts_pins {
     58 				pinctrl-single,bits = <
     59 					/* UART0_RTS UART0_CTS */
     60 					0x0c 0x22000000 0xff000000
     61 				>;
     62 			};
     63 			serial0_rxtx_pins: pinmux_serial0_rxtx_pins {
     64 				pinctrl-single,bits = <
     65 					/* UART0_TXD UART0_RXD */
     66 					0x0c 0x00220000 0x00ff0000
     67 				>;
     68 			};
     69 			serial1_rtscts_pins: pinmux_serial1_rtscts_pins {
     70 				pinctrl-single,bits = <
     71 					/* UART1_CTS UART1_RTS */
     72 					0x00 0x00440000 0x00ff0000
     73 				>;
     74 			};
     75 			serial1_rxtx_pins: pinmux_serial1_rxtx_pins {
     76 				pinctrl-single,bits = <
     77 					/* UART1_TXD UART1_RXD */
     78 					0x10 0x22000000 0xff000000
     79 				>;
     80 			};
     81 			serial2_rtscts_pins: pinmux_serial2_rtscts_pins {
     82 				pinctrl-single,bits = <
     83 					/* UART2_CTS UART2_RTS */
     84 					0x00 0x44000000 0xff000000
     85 				>;
     86 			};
     87 			serial2_rxtx_pins: pinmux_serial2_rxtx_pins {
     88 				pinctrl-single,bits = <
     89 					/* UART2_TXD UART2_RXD */
     90 					0x10 0x00220000 0x00ff0000
     91 				>;
     92 			};
     93 			i2c0_pins: pinmux_i2c0_pins {
     94 				pinctrl-single,bits = <
     95 					/* I2C0_SDA,I2C0_SCL */
     96 					0x10 0x00002200 0x0000ff00
     97 				>;
     98 			};
     99 			i2c1_pins: pinmux_i2c1_pins {
    100 				pinctrl-single,bits = <
    101 					/* I2C1_SDA, I2C1_SCL */
    102 					0x10 0x00440000 0x00ff0000
    103 				>;
    104 			};
    105 			mmc0_pins: pinmux_mmc_pins {
    106 				pinctrl-single,bits = <
    107 					/* MMCSD0_DAT[3] MMCSD0_DAT[2]
    108 					 * MMCSD0_DAT[1] MMCSD0_DAT[0]
    109 					 * MMCSD0_CMD    MMCSD0_CLK
    110 					 */
    111 					0x28 0x00222222  0x00ffffff
    112 				>;
    113 			};
    114 			ehrpwm0a_pins: pinmux_ehrpwm0a_pins {
    115 				pinctrl-single,bits = <
    116 					/* EPWM0A */
    117 					0xc 0x00000002 0x0000000f
    118 				>;
    119 			};
    120 			ehrpwm0b_pins: pinmux_ehrpwm0b_pins {
    121 				pinctrl-single,bits = <
    122 					/* EPWM0B */
    123 					0xc 0x00000020 0x000000f0
    124 				>;
    125 			};
    126 			ehrpwm1a_pins: pinmux_ehrpwm1a_pins {
    127 				pinctrl-single,bits = <
    128 					/* EPWM1A */
    129 					0x14 0x00000002 0x0000000f
    130 				>;
    131 			};
    132 			ehrpwm1b_pins: pinmux_ehrpwm1b_pins {
    133 				pinctrl-single,bits = <
    134 					/* EPWM1B */
    135 					0x14 0x00000020 0x000000f0
    136 				>;
    137 			};
    138 			ecap0_pins: pinmux_ecap0_pins {
    139 				pinctrl-single,bits = <
    140 					/* ECAP0_APWM0 */
    141 					0x8 0x20000000 0xf0000000
    142 				>;
    143 			};
    144 			ecap1_pins: pinmux_ecap1_pins {
    145 				pinctrl-single,bits = <
    146 					/* ECAP1_APWM1 */
    147 					0x4 0x40000000 0xf0000000
    148 				>;
    149 			};
    150 			ecap2_pins: pinmux_ecap2_pins {
    151 				pinctrl-single,bits = <
    152 					/* ECAP2_APWM2 */
    153 					0x4 0x00000004 0x0000000f
    154 				>;
    155 			};
    156 			spi0_pins: pinmux_spi0_pins {
    157 				pinctrl-single,bits = <
    158 					/* SIMO, SOMI, CLK */
    159 					0xc 0x00001101 0x0000ff0f
    160 				>;
    161 			};
    162 			spi0_cs0_pin: pinmux_spi0_cs0 {
    163 				pinctrl-single,bits = <
    164 					/* CS0 */
    165 					0x10 0x00000010 0x000000f0
    166 				>;
    167 			};
    168 			spi0_cs3_pin: pinmux_spi0_cs3_pin {
    169 				pinctrl-single,bits = <
    170 					/* CS3 */
    171 					0xc 0x01000000 0x0f000000
    172 				>;
    173 			};
    174 			spi1_pins: pinmux_spi1_pins {
    175 				pinctrl-single,bits = <
    176 					/* SIMO, SOMI, CLK */
    177 					0x14 0x00110100 0x00ff0f00
    178 				>;
    179 			};
    180 			spi1_cs0_pin: pinmux_spi1_cs0 {
    181 				pinctrl-single,bits = <
    182 					/* CS0 */
    183 					0x14 0x00000010 0x000000f0
    184 				>;
    185 			};
    186 			mdio_pins: pinmux_mdio_pins {
    187 				pinctrl-single,bits = <
    188 					/* MDIO_CLK, MDIO_D */
    189 					0x10 0x00000088 0x000000ff
    190 				>;
    191 			};
    192 			mii_pins: pinmux_mii_pins {
    193 				pinctrl-single,bits = <
    194 					/*
    195 					 * MII_TXEN, MII_TXCLK, MII_COL
    196 					 * MII_TXD_3, MII_TXD_2, MII_TXD_1
    197 					 * MII_TXD_0
    198 					 */
    199 					0x8 0x88888880 0xfffffff0
    200 					/*
    201 					 * MII_RXER, MII_CRS, MII_RXCLK
    202 					 * MII_RXDV, MII_RXD_3, MII_RXD_2
    203 					 * MII_RXD_1, MII_RXD_0
    204 					 */
    205 					0xc 0x88888888 0xffffffff
    206 				>;
    207 			};
    208 			lcd_pins: pinmux_lcd_pins {
    209 				pinctrl-single,bits = <
    210 					/*
    211 					 * LCD_D[2], LCD_D[3], LCD_D[4], LCD_D[5],
    212 					 * LCD_D[6], LCD_D[7]
    213 					 */
    214 					0x40 0x22222200 0xffffff00
    215 					/*
    216 					 * LCD_D[10], LCD_D[11], LCD_D[12], LCD_D[13],
    217 					 * LCD_D[14], LCD_D[15], LCD_D[0], LCD_D[1]
    218 					 */
    219 					0x44 0x22222222 0xffffffff
    220 					/* LCD_D[8], LCD_D[9] */
    221 					0x48 0x00000022 0x000000ff
    222 
    223 					/* LCD_PCLK */
    224 					0x48 0x02000000 0x0f000000
    225 					/* LCD_AC_ENB_CS, LCD_VSYNC, LCD_HSYNC */
    226 					0x4c 0x02000022 0x0f0000ff
    227 				>;
    228 			};
    229 			vpif_capture_pins: vpif_capture_pins {
    230 				pinctrl-single,bits = <
    231 					/* VP_DIN[2..7], VP_CLKIN1, VP_CLKIN0 */
    232 					0x38 0x11111111 0xffffffff
    233 					/* VP_DIN[10..15,0..1] */
    234 					0x3c 0x11111111 0xffffffff
    235 					/* VP_DIN[8..9] */
    236 					0x40 0x00000011 0x000000ff
    237 				>;
    238 			};
    239 			vpif_display_pins: vpif_display_pins {
    240 				pinctrl-single,bits = <
    241 					/* VP_DOUT[2..7] */
    242 					0x40 0x11111100 0xffffff00
    243 					/* VP_DOUT[10..15,0..1] */
    244 					0x44 0x11111111 0xffffffff
    245 					/*  VP_DOUT[8..9] */
    246 					0x48 0x00000011 0x000000ff
    247 					/*
    248 					 * VP_CLKOUT3, VP_CLKIN3,
    249 					 * VP_CLKOUT2, VP_CLKIN2
    250 					 */
    251 					0x4c 0x00111100 0x00ffff00
    252 				>;
    253 			};
    254 		};
    255 		prictrl: priority-controller@14110 {
    256 			compatible = "ti,da850-mstpri";
    257 			reg = <0x14110 0x0c>;
    258 			status = "disabled";
    259 		};
    260 		cfgchip: chip-controller@1417c {
    261 			compatible = "ti,da830-cfgchip", "syscon", "simple-mfd";
    262 			reg = <0x1417c 0x14>;
    263 
    264 			usb_phy: usb-phy {
    265 				compatible = "ti,da830-usb-phy";
    266 				#phy-cells = <1>;
    267 				status = "disabled";
    268 			};
    269 		};
    270 		edma0: edma@0 {
    271 			compatible = "ti,edma3-tpcc";
    272 			/* eDMA3 CC0: 0x01c0 0000 - 0x01c0 7fff */
    273 			reg =	<0x0 0x8000>;
    274 			reg-names = "edma3_cc";
    275 			interrupts = <11 12>;
    276 			interrupt-names = "edma3_ccint", "edma3_ccerrint";
    277 			#dma-cells = <2>;
    278 
    279 			ti,tptcs = <&edma0_tptc0 7>, <&edma0_tptc1 0>;
    280 		};
    281 		edma0_tptc0: tptc@8000 {
    282 			compatible = "ti,edma3-tptc";
    283 			reg =	<0x8000 0x400>;
    284 			interrupts = <13>;
    285 			interrupt-names = "edm3_tcerrint";
    286 		};
    287 		edma0_tptc1: tptc@8400 {
    288 			compatible = "ti,edma3-tptc";
    289 			reg =	<0x8400 0x400>;
    290 			interrupts = <32>;
    291 			interrupt-names = "edm3_tcerrint";
    292 		};
    293 		edma1: edma@230000 {
    294 			compatible = "ti,edma3-tpcc";
    295 			/* eDMA3 CC1: 0x01e3 0000 - 0x01e3 7fff */
    296 			reg =	<0x230000 0x8000>;
    297 			reg-names = "edma3_cc";
    298 			interrupts = <93 94>;
    299 			interrupt-names = "edma3_ccint", "edma3_ccerrint";
    300 			#dma-cells = <2>;
    301 
    302 			ti,tptcs = <&edma1_tptc0 7>;
    303 		};
    304 		edma1_tptc0: tptc@238000 {
    305 			compatible = "ti,edma3-tptc";
    306 			reg =	<0x238000 0x400>;
    307 			interrupts = <95>;
    308 			interrupt-names = "edm3_tcerrint";
    309 		};
    310 		serial0: serial@42000 {
    311 			compatible = "ti,da830-uart", "ns16550a";
    312 			reg = <0x42000 0x100>;
    313 			reg-io-width = <4>;
    314 			reg-shift = <2>;
    315 			interrupts = <25>;
    316 			status = "disabled";
    317 		};
    318 		serial1: serial@10c000 {
    319 			compatible = "ti,da830-uart", "ns16550a";
    320 			reg = <0x10c000 0x100>;
    321 			reg-io-width = <4>;
    322 			reg-shift = <2>;
    323 			interrupts = <53>;
    324 			status = "disabled";
    325 		};
    326 		serial2: serial@10d000 {
    327 			compatible = "ti,da830-uart", "ns16550a";
    328 			reg = <0x10d000 0x100>;
    329 			reg-io-width = <4>;
    330 			reg-shift = <2>;
    331 			interrupts = <61>;
    332 			status = "disabled";
    333 		};
    334 		rtc0: rtc@23000 {
    335 			compatible = "ti,da830-rtc";
    336 			reg = <0x23000 0x1000>;
    337 			interrupts = <19
    338 				      19>;
    339 			status = "disabled";
    340 		};
    341 		i2c0: i2c@22000 {
    342 			compatible = "ti,davinci-i2c";
    343 			reg = <0x22000 0x1000>;
    344 			interrupts = <15>;
    345 			#address-cells = <1>;
    346 			#size-cells = <0>;
    347 			status = "disabled";
    348 		};
    349 		i2c1: i2c@228000 {
    350 			compatible = "ti,davinci-i2c";
    351 			reg = <0x228000 0x1000>;
    352 			interrupts = <51>;
    353 			#address-cells = <1>;
    354 			#size-cells = <0>;
    355 			status = "disabled";
    356 		};
    357 		wdt: wdt@21000 {
    358 			compatible = "ti,davinci-wdt";
    359 			reg = <0x21000 0x1000>;
    360 			status = "disabled";
    361 		};
    362 		mmc0: mmc@40000 {
    363 			compatible = "ti,da830-mmc";
    364 			reg = <0x40000 0x1000>;
    365 			cap-sd-highspeed;
    366 			cap-mmc-highspeed;
    367 			interrupts = <16>;
    368 			dmas = <&edma0 16 0>, <&edma0 17 0>;
    369 			dma-names = "rx", "tx";
    370 			status = "disabled";
    371 		};
    372 		vpif: video@217000 {
    373 			compatible = "ti,da850-vpif";
    374 			reg = <0x217000 0x1000>;
    375 			interrupts = <92>;
    376 			status = "disabled";
    377 
    378 			/* VPIF capture port */
    379 			port@0 {
    380 				#address-cells = <1>;
    381 				#size-cells = <0>;
    382 			};
    383 
    384 			/* VPIF display port */
    385 			port@1 {
    386 				#address-cells = <1>;
    387 				#size-cells = <0>;
    388 			};
    389 		};
    390 		mmc1: mmc@21b000 {
    391 			compatible = "ti,da830-mmc";
    392 			reg = <0x21b000 0x1000>;
    393 			cap-sd-highspeed;
    394 			cap-mmc-highspeed;
    395 			interrupts = <72>;
    396 			dmas = <&edma1 28 0>, <&edma1 29 0>;
    397 			dma-names = "rx", "tx";
    398 			status = "disabled";
    399 		};
    400 		ehrpwm0: pwm@300000 {
    401 			compatible = "ti,da850-ehrpwm", "ti,am3352-ehrpwm",
    402 				     "ti,am33xx-ehrpwm";
    403 			#pwm-cells = <3>;
    404 			reg = <0x300000 0x2000>;
    405 			status = "disabled";
    406 		};
    407 		ehrpwm1: pwm@302000 {
    408 			compatible = "ti,da850-ehrpwm", "ti,am3352-ehrpwm",
    409 				     "ti,am33xx-ehrpwm";
    410 			#pwm-cells = <3>;
    411 			reg = <0x302000 0x2000>;
    412 			status = "disabled";
    413 		};
    414 		ecap0: ecap@306000 {
    415 			compatible = "ti,da850-ecap", "ti,am3352-ecap",
    416 				     "ti,am33xx-ecap";
    417 			#pwm-cells = <3>;
    418 			reg = <0x306000 0x80>;
    419 			status = "disabled";
    420 		};
    421 		ecap1: ecap@307000 {
    422 			compatible = "ti,da850-ecap", "ti,am3352-ecap",
    423 				     "ti,am33xx-ecap";
    424 			#pwm-cells = <3>;
    425 			reg = <0x307000 0x80>;
    426 			status = "disabled";
    427 		};
    428 		ecap2: ecap@308000 {
    429 			compatible = "ti,da850-ecap", "ti,am3352-ecap",
    430 				     "ti,am33xx-ecap";
    431 			#pwm-cells = <3>;
    432 			reg = <0x308000 0x80>;
    433 			status = "disabled";
    434 		};
    435 		spi0: spi@41000 {
    436 			#address-cells = <1>;
    437 			#size-cells = <0>;
    438 			compatible = "ti,da830-spi";
    439 			reg = <0x41000 0x1000>;
    440 			num-cs = <6>;
    441 			ti,davinci-spi-intr-line = <1>;
    442 			interrupts = <20>;
    443 			dmas = <&edma0 14 0>, <&edma0 15 0>;
    444 			dma-names = "rx", "tx";
    445 			status = "disabled";
    446 		};
    447 		spi1: spi@30e000 {
    448 			#address-cells = <1>;
    449 			#size-cells = <0>;
    450 			compatible = "ti,da830-spi";
    451 			reg = <0x30e000 0x1000>;
    452 			num-cs = <4>;
    453 			ti,davinci-spi-intr-line = <1>;
    454 			interrupts = <56>;
    455 			dmas = <&edma0 18 0>, <&edma0 19 0>;
    456 			dma-names = "rx", "tx";
    457 			status = "disabled";
    458 		};
    459 		usb0: usb@200000 {
    460 			compatible = "ti,da830-musb";
    461 			reg = <0x200000 0x1000>;
    462 			ranges;
    463 			interrupts = <58>;
    464 			interrupt-names = "mc";
    465 			dr_mode = "otg";
    466 			phys = <&usb_phy 0>;
    467 			phy-names = "usb-phy";
    468 			status = "disabled";
    469 
    470 			#address-cells = <1>;
    471 			#size-cells = <1>;
    472 
    473 			dmas = <&cppi41dma 0 0 &cppi41dma 1 0
    474 				&cppi41dma 2 0 &cppi41dma 3 0
    475 				&cppi41dma 0 1 &cppi41dma 1 1
    476 				&cppi41dma 2 1 &cppi41dma 3 1>;
    477 			dma-names =
    478 				"rx1", "rx2", "rx3", "rx4",
    479 				"tx1", "tx2", "tx3", "tx4";
    480 
    481 			cppi41dma: dma-controller@201000 {
    482 				compatible = "ti,da830-cppi41";
    483 				reg =  <0x201000 0x1000
    484 					0x202000 0x1000
    485 					0x204000 0x4000>;
    486 				reg-names = "controller",
    487 					    "scheduler", "queuemgr";
    488 				interrupts = <58>;
    489 				#dma-cells = <2>;
    490 				#dma-channels = <4>;
    491 				status = "okay";
    492 			};
    493 		};
    494 		sata: sata@218000 {
    495 			compatible = "ti,da850-ahci";
    496 			reg = <0x218000 0x2000>, <0x22c018 0x4>;
    497 			interrupts = <67>;
    498 			status = "disabled";
    499 		};
    500 		mdio: mdio@224000 {
    501 			compatible = "ti,davinci_mdio";
    502 			#address-cells = <1>;
    503 			#size-cells = <0>;
    504 			reg = <0x224000 0x1000>;
    505 			status = "disabled";
    506 		};
    507 		eth0: ethernet@220000 {
    508 			compatible = "ti,davinci-dm6467-emac";
    509 			reg = <0x220000 0x4000>;
    510 			ti,davinci-ctrl-reg-offset = <0x3000>;
    511 			ti,davinci-ctrl-mod-reg-offset = <0x2000>;
    512 			ti,davinci-ctrl-ram-offset = <0>;
    513 			ti,davinci-ctrl-ram-size = <0x2000>;
    514 			local-mac-address = [ 00 00 00 00 00 00 ];
    515 			interrupts = <33
    516 					34
    517 					35
    518 					36
    519 					>;
    520 			status = "disabled";
    521 		};
    522 		usb1: usb@225000 {
    523 			compatible = "ti,da830-ohci";
    524 			reg = <0x225000 0x1000>;
    525 			interrupts = <59>;
    526 			phys = <&usb_phy 1>;
    527 			phy-names = "usb-phy";
    528 			status = "disabled";
    529 		};
    530 		gpio: gpio@226000 {
    531 			compatible = "ti,dm6441-gpio";
    532 			gpio-controller;
    533 			#gpio-cells = <2>;
    534 			reg = <0x226000 0x1000>;
    535 			interrupts = <42 IRQ_TYPE_EDGE_BOTH
    536 				43 IRQ_TYPE_EDGE_BOTH 44 IRQ_TYPE_EDGE_BOTH
    537 				45 IRQ_TYPE_EDGE_BOTH 46 IRQ_TYPE_EDGE_BOTH
    538 				47 IRQ_TYPE_EDGE_BOTH 48 IRQ_TYPE_EDGE_BOTH
    539 				49 IRQ_TYPE_EDGE_BOTH 50 IRQ_TYPE_EDGE_BOTH>;
    540 			ti,ngpio = <144>;
    541 			ti,davinci-gpio-unbanked = <0>;
    542 			status = "disabled";
    543 			interrupt-controller;
    544 			#interrupt-cells = <2>;
    545 		};
    546 		pinconf: pin-controller@22c00c {
    547 			compatible = "ti,da850-pupd";
    548 			reg = <0x22c00c 0x8>;
    549 			status = "disabled";
    550 		};
    551 
    552 		mcasp0: mcasp@100000 {
    553 			compatible = "ti,da830-mcasp-audio";
    554 			reg = <0x100000 0x2000>,
    555 			      <0x102000 0x400000>;
    556 			reg-names = "mpu", "dat";
    557 			interrupts = <54>;
    558 			interrupt-names = "common";
    559 			status = "disabled";
    560 			dmas = <&edma0 1 1>,
    561 				<&edma0 0 1>;
    562 			dma-names = "tx", "rx";
    563 		};
    564 
    565 		lcdc: display@213000 {
    566 			compatible = "ti,da850-tilcdc";
    567 			reg = <0x213000 0x1000>;
    568 			interrupts = <52>;
    569 			max-pixelclock = <37500>;
    570 			status = "disabled";
    571 		};
    572 	};
    573 	aemif: aemif@68000000 {
    574 		compatible = "ti,da850-aemif";
    575 		#address-cells = <2>;
    576 		#size-cells = <1>;
    577 
    578 		reg = <0x68000000 0x00008000>;
    579 		ranges = <0 0 0x60000000 0x08000000
    580 			  1 0 0x68000000 0x00008000>;
    581 		status = "disabled";
    582 	};
    583 	memctrl: memory-controller@b0000000 {
    584 		compatible = "ti,da850-ddr-controller";
    585 		reg = <0xb0000000 0xe8>;
    586 		status = "disabled";
    587 	};
    588 };
    589