da850.dtsi 7.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306
  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 {
  18. compatible = "ti,cp-intc";
  19. interrupt-controller;
  20. #interrupt-cells = <1>;
  21. ti,intc-size = <100>;
  22. reg = <0xfffee000 0x2000>;
  23. };
  24. };
  25. soc {
  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@1c14120 {
  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. nand_cs3_pins: pinmux_nand_pins {
  42. pinctrl-single,bits = <
  43. /* EMA_OE, EMA_WE */
  44. 0x1c 0x00110000 0x00ff0000
  45. /* EMA_CS[4],EMA_CS[3]*/
  46. 0x1c 0x00000110 0x00000ff0
  47. /*
  48. * EMA_D[0], EMA_D[1], EMA_D[2],
  49. * EMA_D[3], EMA_D[4], EMA_D[5],
  50. * EMA_D[6], EMA_D[7]
  51. */
  52. 0x24 0x11111111 0xffffffff
  53. /* EMA_A[1], EMA_A[2] */
  54. 0x30 0x01100000 0x0ff00000
  55. >;
  56. };
  57. i2c0_pins: pinmux_i2c0_pins {
  58. pinctrl-single,bits = <
  59. /* I2C0_SDA,I2C0_SCL */
  60. 0x10 0x00002200 0x0000ff00
  61. >;
  62. };
  63. mmc0_pins: pinmux_mmc_pins {
  64. pinctrl-single,bits = <
  65. /* MMCSD0_DAT[3] MMCSD0_DAT[2]
  66. * MMCSD0_DAT[1] MMCSD0_DAT[0]
  67. * MMCSD0_CMD MMCSD0_CLK
  68. */
  69. 0x28 0x00222222 0x00ffffff
  70. >;
  71. };
  72. ehrpwm0a_pins: pinmux_ehrpwm0a_pins {
  73. pinctrl-single,bits = <
  74. /* EPWM0A */
  75. 0xc 0x00000002 0x0000000f
  76. >;
  77. };
  78. ehrpwm0b_pins: pinmux_ehrpwm0b_pins {
  79. pinctrl-single,bits = <
  80. /* EPWM0B */
  81. 0xc 0x00000020 0x000000f0
  82. >;
  83. };
  84. ehrpwm1a_pins: pinmux_ehrpwm1a_pins {
  85. pinctrl-single,bits = <
  86. /* EPWM1A */
  87. 0x14 0x00000002 0x0000000f
  88. >;
  89. };
  90. ehrpwm1b_pins: pinmux_ehrpwm1b_pins {
  91. pinctrl-single,bits = <
  92. /* EPWM1B */
  93. 0x14 0x00000020 0x000000f0
  94. >;
  95. };
  96. ecap0_pins: pinmux_ecap0_pins {
  97. pinctrl-single,bits = <
  98. /* ECAP0_APWM0 */
  99. 0x8 0x20000000 0xf0000000
  100. >;
  101. };
  102. ecap1_pins: pinmux_ecap1_pins {
  103. pinctrl-single,bits = <
  104. /* ECAP1_APWM1 */
  105. 0x4 0x40000000 0xf0000000
  106. >;
  107. };
  108. ecap2_pins: pinmux_ecap2_pins {
  109. pinctrl-single,bits = <
  110. /* ECAP2_APWM2 */
  111. 0x4 0x00000004 0x0000000f
  112. >;
  113. };
  114. spi1_pins: pinmux_spi_pins {
  115. pinctrl-single,bits = <
  116. /* SIMO, SOMI, CLK */
  117. 0x14 0x00110100 0x00ff0f00
  118. >;
  119. };
  120. spi1_cs0_pin: pinmux_spi1_cs0 {
  121. pinctrl-single,bits = <
  122. /* CS0 */
  123. 0x14 0x00000010 0x000000f0
  124. >;
  125. };
  126. mdio_pins: pinmux_mdio_pins {
  127. pinctrl-single,bits = <
  128. /* MDIO_CLK, MDIO_D */
  129. 0x10 0x00000088 0x000000ff
  130. >;
  131. };
  132. mii_pins: pinmux_mii_pins {
  133. pinctrl-single,bits = <
  134. /*
  135. * MII_TXEN, MII_TXCLK, MII_COL
  136. * MII_TXD_3, MII_TXD_2, MII_TXD_1
  137. * MII_TXD_0
  138. */
  139. 0x8 0x88888880 0xfffffff0
  140. /*
  141. * MII_RXER, MII_CRS, MII_RXCLK
  142. * MII_RXDV, MII_RXD_3, MII_RXD_2
  143. * MII_RXD_1, MII_RXD_0
  144. */
  145. 0xc 0x88888888 0xffffffff
  146. >;
  147. };
  148. };
  149. edma0: edma@01c00000 {
  150. compatible = "ti,edma3";
  151. reg = <0x0 0x10000>;
  152. interrupts = <11 13 12>;
  153. #dma-cells = <1>;
  154. };
  155. serial0: serial@1c42000 {
  156. compatible = "ns16550a";
  157. reg = <0x42000 0x100>;
  158. reg-shift = <2>;
  159. interrupts = <25>;
  160. status = "disabled";
  161. };
  162. serial1: serial@1d0c000 {
  163. compatible = "ns16550a";
  164. reg = <0x10c000 0x100>;
  165. reg-shift = <2>;
  166. interrupts = <53>;
  167. status = "disabled";
  168. };
  169. serial2: serial@1d0d000 {
  170. compatible = "ns16550a";
  171. reg = <0x10d000 0x100>;
  172. reg-shift = <2>;
  173. interrupts = <61>;
  174. status = "disabled";
  175. };
  176. rtc0: rtc@1c23000 {
  177. compatible = "ti,da830-rtc";
  178. reg = <0x23000 0x1000>;
  179. interrupts = <19
  180. 19>;
  181. status = "disabled";
  182. };
  183. i2c0: i2c@1c22000 {
  184. compatible = "ti,davinci-i2c";
  185. reg = <0x22000 0x1000>;
  186. interrupts = <15>;
  187. #address-cells = <1>;
  188. #size-cells = <0>;
  189. status = "disabled";
  190. };
  191. wdt: wdt@1c21000 {
  192. compatible = "ti,davinci-wdt";
  193. reg = <0x21000 0x1000>;
  194. status = "disabled";
  195. };
  196. mmc0: mmc@1c40000 {
  197. compatible = "ti,da830-mmc";
  198. reg = <0x40000 0x1000>;
  199. interrupts = <16>;
  200. status = "disabled";
  201. };
  202. ehrpwm0: ehrpwm@01f00000 {
  203. compatible = "ti,da850-ehrpwm", "ti,am33xx-ehrpwm";
  204. #pwm-cells = <3>;
  205. reg = <0x300000 0x2000>;
  206. status = "disabled";
  207. };
  208. ehrpwm1: ehrpwm@01f02000 {
  209. compatible = "ti,da850-ehrpwm", "ti,am33xx-ehrpwm";
  210. #pwm-cells = <3>;
  211. reg = <0x302000 0x2000>;
  212. status = "disabled";
  213. };
  214. ecap0: ecap@01f06000 {
  215. compatible = "ti,da850-ecap", "ti,am33xx-ecap";
  216. #pwm-cells = <3>;
  217. reg = <0x306000 0x80>;
  218. status = "disabled";
  219. };
  220. ecap1: ecap@01f07000 {
  221. compatible = "ti,da850-ecap", "ti,am33xx-ecap";
  222. #pwm-cells = <3>;
  223. reg = <0x307000 0x80>;
  224. status = "disabled";
  225. };
  226. ecap2: ecap@01f08000 {
  227. compatible = "ti,da850-ecap", "ti,am33xx-ecap";
  228. #pwm-cells = <3>;
  229. reg = <0x308000 0x80>;
  230. status = "disabled";
  231. };
  232. spi1: spi@1f0e000 {
  233. #address-cells = <1>;
  234. #size-cells = <0>;
  235. compatible = "ti,da830-spi";
  236. reg = <0x30e000 0x1000>;
  237. num-cs = <4>;
  238. ti,davinci-spi-intr-line = <1>;
  239. interrupts = <56>;
  240. status = "disabled";
  241. };
  242. mdio: mdio@1e24000 {
  243. compatible = "ti,davinci_mdio";
  244. #address-cells = <1>;
  245. #size-cells = <0>;
  246. reg = <0x224000 0x1000>;
  247. };
  248. eth0: ethernet@1e20000 {
  249. compatible = "ti,davinci-dm6467-emac";
  250. reg = <0x220000 0x4000>;
  251. ti,davinci-ctrl-reg-offset = <0x3000>;
  252. ti,davinci-ctrl-mod-reg-offset = <0x2000>;
  253. ti,davinci-ctrl-ram-offset = <0>;
  254. ti,davinci-ctrl-ram-size = <0x2000>;
  255. local-mac-address = [ 00 00 00 00 00 00 ];
  256. interrupts = <33
  257. 34
  258. 35
  259. 36
  260. >;
  261. };
  262. gpio: gpio@1e26000 {
  263. compatible = "ti,dm6441-gpio";
  264. gpio-controller;
  265. reg = <0x226000 0x1000>;
  266. interrupts = <42 IRQ_TYPE_EDGE_BOTH
  267. 43 IRQ_TYPE_EDGE_BOTH 44 IRQ_TYPE_EDGE_BOTH
  268. 45 IRQ_TYPE_EDGE_BOTH 46 IRQ_TYPE_EDGE_BOTH
  269. 47 IRQ_TYPE_EDGE_BOTH 48 IRQ_TYPE_EDGE_BOTH
  270. 49 IRQ_TYPE_EDGE_BOTH 50 IRQ_TYPE_EDGE_BOTH>;
  271. ti,ngpio = <144>;
  272. ti,davinci-gpio-unbanked = <0>;
  273. status = "disabled";
  274. };
  275. mcasp0: mcasp@01d00000 {
  276. compatible = "ti,da830-mcasp-audio";
  277. reg = <0x100000 0x2000>,
  278. <0x102000 0x400000>;
  279. reg-names = "mpu", "dat";
  280. interrupts = <54>;
  281. interrupt-names = "common";
  282. status = "disabled";
  283. dmas = <&edma0 1>,
  284. <&edma0 0>;
  285. dma-names = "tx", "rx";
  286. };
  287. };
  288. nand_cs3@62000000 {
  289. compatible = "ti,davinci-nand";
  290. reg = <0x62000000 0x807ff
  291. 0x68000000 0x8000>;
  292. ti,davinci-chipselect = <1>;
  293. ti,davinci-mask-ale = <0>;
  294. ti,davinci-mask-cle = <0>;
  295. ti,davinci-mask-chipsel = <0>;
  296. ti,davinci-ecc-mode = "hw";
  297. ti,davinci-ecc-bits = <4>;
  298. ti,davinci-nand-use-bbt;
  299. status = "disabled";
  300. };
  301. };