da850.dtsi 9.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414
  1. /*
  2. * Copyright 2012 DENX Software Engineering GmbH
  3. * Heiko Schocher <hs@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. arm {
  14. #address-cells = <1>;
  15. #size-cells = <1>;
  16. ranges;
  17. intc: interrupt-controller@fffee000 {
  18. compatible = "ti,cp-intc";
  19. interrupt-controller;
  20. #interrupt-cells = <1>;
  21. ti,intc-size = <101>;
  22. reg = <0xfffee000 0x2000>;
  23. };
  24. };
  25. soc@1c00000 {
  26. compatible = "simple-bus";
  27. model = "da850";
  28. #address-cells = <1>;
  29. #size-cells = <1>;
  30. ranges = <0x0 0x01c00000 0x400000>;
  31. interrupt-parent = <&intc>;
  32. pmx_core: pinmux@14120 {
  33. compatible = "pinctrl-single";
  34. reg = <0x14120 0x50>;
  35. #address-cells = <1>;
  36. #size-cells = <0>;
  37. pinctrl-single,bit-per-mux;
  38. pinctrl-single,register-width = <32>;
  39. pinctrl-single,function-mask = <0xf>;
  40. status = "disabled";
  41. serial0_rtscts_pins: pinmux_serial0_rtscts_pins {
  42. pinctrl-single,bits = <
  43. /* UART0_RTS UART0_CTS */
  44. 0x0c 0x22000000 0xff000000
  45. >;
  46. };
  47. serial0_rxtx_pins: pinmux_serial0_rxtx_pins {
  48. pinctrl-single,bits = <
  49. /* UART0_TXD UART0_RXD */
  50. 0x0c 0x00220000 0x00ff0000
  51. >;
  52. };
  53. serial1_rtscts_pins: pinmux_serial1_rtscts_pins {
  54. pinctrl-single,bits = <
  55. /* UART1_CTS UART1_RTS */
  56. 0x00 0x00440000 0x00ff0000
  57. >;
  58. };
  59. serial1_rxtx_pins: pinmux_serial1_rxtx_pins {
  60. pinctrl-single,bits = <
  61. /* UART1_TXD UART1_RXD */
  62. 0x10 0x22000000 0xff000000
  63. >;
  64. };
  65. serial2_rtscts_pins: pinmux_serial2_rtscts_pins {
  66. pinctrl-single,bits = <
  67. /* UART2_CTS UART2_RTS */
  68. 0x00 0x44000000 0xff000000
  69. >;
  70. };
  71. serial2_rxtx_pins: pinmux_serial2_rxtx_pins {
  72. pinctrl-single,bits = <
  73. /* UART2_TXD UART2_RXD */
  74. 0x10 0x00220000 0x00ff0000
  75. >;
  76. };
  77. i2c0_pins: pinmux_i2c0_pins {
  78. pinctrl-single,bits = <
  79. /* I2C0_SDA,I2C0_SCL */
  80. 0x10 0x00002200 0x0000ff00
  81. >;
  82. };
  83. i2c1_pins: pinmux_i2c1_pins {
  84. pinctrl-single,bits = <
  85. /* I2C1_SDA, I2C1_SCL */
  86. 0x10 0x00440000 0x00ff0000
  87. >;
  88. };
  89. mmc0_pins: pinmux_mmc_pins {
  90. pinctrl-single,bits = <
  91. /* MMCSD0_DAT[3] MMCSD0_DAT[2]
  92. * MMCSD0_DAT[1] MMCSD0_DAT[0]
  93. * MMCSD0_CMD MMCSD0_CLK
  94. */
  95. 0x28 0x00222222 0x00ffffff
  96. >;
  97. };
  98. ehrpwm0a_pins: pinmux_ehrpwm0a_pins {
  99. pinctrl-single,bits = <
  100. /* EPWM0A */
  101. 0xc 0x00000002 0x0000000f
  102. >;
  103. };
  104. ehrpwm0b_pins: pinmux_ehrpwm0b_pins {
  105. pinctrl-single,bits = <
  106. /* EPWM0B */
  107. 0xc 0x00000020 0x000000f0
  108. >;
  109. };
  110. ehrpwm1a_pins: pinmux_ehrpwm1a_pins {
  111. pinctrl-single,bits = <
  112. /* EPWM1A */
  113. 0x14 0x00000002 0x0000000f
  114. >;
  115. };
  116. ehrpwm1b_pins: pinmux_ehrpwm1b_pins {
  117. pinctrl-single,bits = <
  118. /* EPWM1B */
  119. 0x14 0x00000020 0x000000f0
  120. >;
  121. };
  122. ecap0_pins: pinmux_ecap0_pins {
  123. pinctrl-single,bits = <
  124. /* ECAP0_APWM0 */
  125. 0x8 0x20000000 0xf0000000
  126. >;
  127. };
  128. ecap1_pins: pinmux_ecap1_pins {
  129. pinctrl-single,bits = <
  130. /* ECAP1_APWM1 */
  131. 0x4 0x40000000 0xf0000000
  132. >;
  133. };
  134. ecap2_pins: pinmux_ecap2_pins {
  135. pinctrl-single,bits = <
  136. /* ECAP2_APWM2 */
  137. 0x4 0x00000004 0x0000000f
  138. >;
  139. };
  140. spi0_pins: pinmux_spi0_pins {
  141. pinctrl-single,bits = <
  142. /* SIMO, SOMI, CLK */
  143. 0xc 0x00001101 0x0000ff0f
  144. >;
  145. };
  146. spi0_cs0_pin: pinmux_spi0_cs0 {
  147. pinctrl-single,bits = <
  148. /* CS0 */
  149. 0x10 0x00000010 0x000000f0
  150. >;
  151. };
  152. spi1_pins: pinmux_spi1_pins {
  153. pinctrl-single,bits = <
  154. /* SIMO, SOMI, CLK */
  155. 0x14 0x00110100 0x00ff0f00
  156. >;
  157. };
  158. spi1_cs0_pin: pinmux_spi1_cs0 {
  159. pinctrl-single,bits = <
  160. /* CS0 */
  161. 0x14 0x00000010 0x000000f0
  162. >;
  163. };
  164. mdio_pins: pinmux_mdio_pins {
  165. pinctrl-single,bits = <
  166. /* MDIO_CLK, MDIO_D */
  167. 0x10 0x00000088 0x000000ff
  168. >;
  169. };
  170. mii_pins: pinmux_mii_pins {
  171. pinctrl-single,bits = <
  172. /*
  173. * MII_TXEN, MII_TXCLK, MII_COL
  174. * MII_TXD_3, MII_TXD_2, MII_TXD_1
  175. * MII_TXD_0
  176. */
  177. 0x8 0x88888880 0xfffffff0
  178. /*
  179. * MII_RXER, MII_CRS, MII_RXCLK
  180. * MII_RXDV, MII_RXD_3, MII_RXD_2
  181. * MII_RXD_1, MII_RXD_0
  182. */
  183. 0xc 0x88888888 0xffffffff
  184. >;
  185. };
  186. };
  187. edma0: edma@0 {
  188. compatible = "ti,edma3-tpcc";
  189. /* eDMA3 CC0: 0x01c0 0000 - 0x01c0 7fff */
  190. reg = <0x0 0x8000>;
  191. reg-names = "edma3_cc";
  192. interrupts = <11 12>;
  193. interrupt-names = "edma3_ccint", "edma3_ccerrint";
  194. #dma-cells = <2>;
  195. ti,tptcs = <&edma0_tptc0 7>, <&edma0_tptc1 0>;
  196. };
  197. edma0_tptc0: tptc@8000 {
  198. compatible = "ti,edma3-tptc";
  199. reg = <0x8000 0x400>;
  200. interrupts = <13>;
  201. interrupt-names = "edm3_tcerrint";
  202. };
  203. edma0_tptc1: tptc@8400 {
  204. compatible = "ti,edma3-tptc";
  205. reg = <0x8400 0x400>;
  206. interrupts = <32>;
  207. interrupt-names = "edm3_tcerrint";
  208. };
  209. edma1: edma@230000 {
  210. compatible = "ti,edma3-tpcc";
  211. /* eDMA3 CC1: 0x01e3 0000 - 0x01e3 7fff */
  212. reg = <0x230000 0x8000>;
  213. reg-names = "edma3_cc";
  214. interrupts = <93 94>;
  215. interrupt-names = "edma3_ccint", "edma3_ccerrint";
  216. #dma-cells = <2>;
  217. ti,tptcs = <&edma1_tptc0 7>;
  218. };
  219. edma1_tptc0: tptc@238000 {
  220. compatible = "ti,edma3-tptc";
  221. reg = <0x238000 0x400>;
  222. interrupts = <95>;
  223. interrupt-names = "edm3_tcerrint";
  224. };
  225. serial0: serial@42000 {
  226. compatible = "ns16550a";
  227. reg = <0x42000 0x100>;
  228. reg-shift = <2>;
  229. interrupts = <25>;
  230. status = "disabled";
  231. };
  232. serial1: serial@10c000 {
  233. compatible = "ns16550a";
  234. reg = <0x10c000 0x100>;
  235. reg-shift = <2>;
  236. interrupts = <53>;
  237. status = "disabled";
  238. };
  239. serial2: serial@10d000 {
  240. compatible = "ns16550a";
  241. reg = <0x10d000 0x100>;
  242. reg-shift = <2>;
  243. interrupts = <61>;
  244. status = "disabled";
  245. };
  246. rtc0: rtc@23000 {
  247. compatible = "ti,da830-rtc";
  248. reg = <0x23000 0x1000>;
  249. interrupts = <19
  250. 19>;
  251. status = "disabled";
  252. };
  253. i2c0: i2c@22000 {
  254. compatible = "ti,davinci-i2c";
  255. reg = <0x22000 0x1000>;
  256. interrupts = <15>;
  257. #address-cells = <1>;
  258. #size-cells = <0>;
  259. status = "disabled";
  260. };
  261. i2c1: i2c@228000 {
  262. compatible = "ti,davinci-i2c";
  263. reg = <0x228000 0x1000>;
  264. interrupts = <51>;
  265. #address-cells = <1>;
  266. #size-cells = <0>;
  267. status = "disabled";
  268. };
  269. wdt: wdt@21000 {
  270. compatible = "ti,davinci-wdt";
  271. reg = <0x21000 0x1000>;
  272. status = "disabled";
  273. };
  274. mmc0: mmc@40000 {
  275. compatible = "ti,da830-mmc";
  276. reg = <0x40000 0x1000>;
  277. interrupts = <16>;
  278. dmas = <&edma0 16 0>, <&edma0 17 0>;
  279. dma-names = "rx", "tx";
  280. status = "disabled";
  281. };
  282. mmc1: mmc@21b000 {
  283. compatible = "ti,da830-mmc";
  284. reg = <0x21b000 0x1000>;
  285. interrupts = <72>;
  286. dmas = <&edma1 28 0>, <&edma1 29 0>;
  287. dma-names = "rx", "tx";
  288. status = "disabled";
  289. };
  290. ehrpwm0: pwm@300000 {
  291. compatible = "ti,da850-ehrpwm", "ti,am3352-ehrpwm",
  292. "ti,am33xx-ehrpwm";
  293. #pwm-cells = <3>;
  294. reg = <0x300000 0x2000>;
  295. status = "disabled";
  296. };
  297. ehrpwm1: pwm@302000 {
  298. compatible = "ti,da850-ehrpwm", "ti,am3352-ehrpwm",
  299. "ti,am33xx-ehrpwm";
  300. #pwm-cells = <3>;
  301. reg = <0x302000 0x2000>;
  302. status = "disabled";
  303. };
  304. ecap0: ecap@306000 {
  305. compatible = "ti,da850-ecap", "ti,am3352-ecap",
  306. "ti,am33xx-ecap";
  307. #pwm-cells = <3>;
  308. reg = <0x306000 0x80>;
  309. status = "disabled";
  310. };
  311. ecap1: ecap@307000 {
  312. compatible = "ti,da850-ecap", "ti,am3352-ecap",
  313. "ti,am33xx-ecap";
  314. #pwm-cells = <3>;
  315. reg = <0x307000 0x80>;
  316. status = "disabled";
  317. };
  318. ecap2: ecap@308000 {
  319. compatible = "ti,da850-ecap", "ti,am3352-ecap",
  320. "ti,am33xx-ecap";
  321. #pwm-cells = <3>;
  322. reg = <0x308000 0x80>;
  323. status = "disabled";
  324. };
  325. spi0: spi@41000 {
  326. #address-cells = <1>;
  327. #size-cells = <0>;
  328. compatible = "ti,da830-spi";
  329. reg = <0x41000 0x1000>;
  330. num-cs = <6>;
  331. ti,davinci-spi-intr-line = <1>;
  332. interrupts = <20>;
  333. status = "disabled";
  334. };
  335. spi1: spi@30e000 {
  336. #address-cells = <1>;
  337. #size-cells = <0>;
  338. compatible = "ti,da830-spi";
  339. reg = <0x30e000 0x1000>;
  340. num-cs = <4>;
  341. ti,davinci-spi-intr-line = <1>;
  342. interrupts = <56>;
  343. dmas = <&edma0 18 0>, <&edma0 19 0>;
  344. dma-names = "rx", "tx";
  345. status = "disabled";
  346. };
  347. mdio: mdio@224000 {
  348. compatible = "ti,davinci_mdio";
  349. #address-cells = <1>;
  350. #size-cells = <0>;
  351. reg = <0x224000 0x1000>;
  352. status = "disabled";
  353. };
  354. eth0: ethernet@220000 {
  355. compatible = "ti,davinci-dm6467-emac";
  356. reg = <0x220000 0x4000>;
  357. ti,davinci-ctrl-reg-offset = <0x3000>;
  358. ti,davinci-ctrl-mod-reg-offset = <0x2000>;
  359. ti,davinci-ctrl-ram-offset = <0>;
  360. ti,davinci-ctrl-ram-size = <0x2000>;
  361. local-mac-address = [ 00 00 00 00 00 00 ];
  362. interrupts = <33
  363. 34
  364. 35
  365. 36
  366. >;
  367. status = "disabled";
  368. };
  369. gpio: gpio@226000 {
  370. compatible = "ti,dm6441-gpio";
  371. gpio-controller;
  372. #gpio-cells = <2>;
  373. reg = <0x226000 0x1000>;
  374. interrupts = <42 IRQ_TYPE_EDGE_BOTH
  375. 43 IRQ_TYPE_EDGE_BOTH 44 IRQ_TYPE_EDGE_BOTH
  376. 45 IRQ_TYPE_EDGE_BOTH 46 IRQ_TYPE_EDGE_BOTH
  377. 47 IRQ_TYPE_EDGE_BOTH 48 IRQ_TYPE_EDGE_BOTH
  378. 49 IRQ_TYPE_EDGE_BOTH 50 IRQ_TYPE_EDGE_BOTH>;
  379. ti,ngpio = <144>;
  380. ti,davinci-gpio-unbanked = <0>;
  381. status = "disabled";
  382. };
  383. mcasp0: mcasp@100000 {
  384. compatible = "ti,da830-mcasp-audio";
  385. reg = <0x100000 0x2000>,
  386. <0x102000 0x400000>;
  387. reg-names = "mpu", "dat";
  388. interrupts = <54>;
  389. interrupt-names = "common";
  390. status = "disabled";
  391. dmas = <&edma0 1 1>,
  392. <&edma0 0 1>;
  393. dma-names = "tx", "rx";
  394. };
  395. };
  396. aemif: aemif@68000000 {
  397. compatible = "ti,da850-aemif";
  398. #address-cells = <2>;
  399. #size-cells = <1>;
  400. reg = <0x68000000 0x00008000>;
  401. ranges = <0 0 0x60000000 0x08000000
  402. 1 0 0x68000000 0x00008000>;
  403. status = "disabled";
  404. };
  405. };