da850.dtsi 6.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287
  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. serial0: serial@1c42000 {
  150. compatible = "ns16550a";
  151. reg = <0x42000 0x100>;
  152. reg-shift = <2>;
  153. interrupts = <25>;
  154. status = "disabled";
  155. };
  156. serial1: serial@1d0c000 {
  157. compatible = "ns16550a";
  158. reg = <0x10c000 0x100>;
  159. reg-shift = <2>;
  160. interrupts = <53>;
  161. status = "disabled";
  162. };
  163. serial2: serial@1d0d000 {
  164. compatible = "ns16550a";
  165. reg = <0x10d000 0x100>;
  166. reg-shift = <2>;
  167. interrupts = <61>;
  168. status = "disabled";
  169. };
  170. rtc0: rtc@1c23000 {
  171. compatible = "ti,da830-rtc";
  172. reg = <0x23000 0x1000>;
  173. interrupts = <19
  174. 19>;
  175. status = "disabled";
  176. };
  177. i2c0: i2c@1c22000 {
  178. compatible = "ti,davinci-i2c";
  179. reg = <0x22000 0x1000>;
  180. interrupts = <15>;
  181. #address-cells = <1>;
  182. #size-cells = <0>;
  183. status = "disabled";
  184. };
  185. wdt: wdt@1c21000 {
  186. compatible = "ti,davinci-wdt";
  187. reg = <0x21000 0x1000>;
  188. status = "disabled";
  189. };
  190. mmc0: mmc@1c40000 {
  191. compatible = "ti,da830-mmc";
  192. reg = <0x40000 0x1000>;
  193. interrupts = <16>;
  194. status = "disabled";
  195. };
  196. ehrpwm0: ehrpwm@01f00000 {
  197. compatible = "ti,da850-ehrpwm", "ti,am33xx-ehrpwm";
  198. #pwm-cells = <3>;
  199. reg = <0x300000 0x2000>;
  200. status = "disabled";
  201. };
  202. ehrpwm1: ehrpwm@01f02000 {
  203. compatible = "ti,da850-ehrpwm", "ti,am33xx-ehrpwm";
  204. #pwm-cells = <3>;
  205. reg = <0x302000 0x2000>;
  206. status = "disabled";
  207. };
  208. ecap0: ecap@01f06000 {
  209. compatible = "ti,da850-ecap", "ti,am33xx-ecap";
  210. #pwm-cells = <3>;
  211. reg = <0x306000 0x80>;
  212. status = "disabled";
  213. };
  214. ecap1: ecap@01f07000 {
  215. compatible = "ti,da850-ecap", "ti,am33xx-ecap";
  216. #pwm-cells = <3>;
  217. reg = <0x307000 0x80>;
  218. status = "disabled";
  219. };
  220. ecap2: ecap@01f08000 {
  221. compatible = "ti,da850-ecap", "ti,am33xx-ecap";
  222. #pwm-cells = <3>;
  223. reg = <0x308000 0x80>;
  224. status = "disabled";
  225. };
  226. spi1: spi@1f0e000 {
  227. #address-cells = <1>;
  228. #size-cells = <0>;
  229. compatible = "ti,da830-spi";
  230. reg = <0x30e000 0x1000>;
  231. num-cs = <4>;
  232. ti,davinci-spi-intr-line = <1>;
  233. interrupts = <56>;
  234. status = "disabled";
  235. };
  236. mdio: mdio@1e24000 {
  237. compatible = "ti,davinci_mdio";
  238. #address-cells = <1>;
  239. #size-cells = <0>;
  240. reg = <0x224000 0x1000>;
  241. };
  242. eth0: ethernet@1e20000 {
  243. compatible = "ti,davinci-dm6467-emac";
  244. reg = <0x220000 0x4000>;
  245. ti,davinci-ctrl-reg-offset = <0x3000>;
  246. ti,davinci-ctrl-mod-reg-offset = <0x2000>;
  247. ti,davinci-ctrl-ram-offset = <0>;
  248. ti,davinci-ctrl-ram-size = <0x2000>;
  249. local-mac-address = [ 00 00 00 00 00 00 ];
  250. interrupts = <33
  251. 34
  252. 35
  253. 36
  254. >;
  255. };
  256. gpio: gpio@1e26000 {
  257. compatible = "ti,dm6441-gpio";
  258. gpio-controller;
  259. reg = <0x226000 0x1000>;
  260. interrupts = <42 IRQ_TYPE_EDGE_BOTH
  261. 43 IRQ_TYPE_EDGE_BOTH 44 IRQ_TYPE_EDGE_BOTH
  262. 45 IRQ_TYPE_EDGE_BOTH 46 IRQ_TYPE_EDGE_BOTH
  263. 47 IRQ_TYPE_EDGE_BOTH 48 IRQ_TYPE_EDGE_BOTH
  264. 49 IRQ_TYPE_EDGE_BOTH 50 IRQ_TYPE_EDGE_BOTH>;
  265. ti,ngpio = <144>;
  266. ti,davinci-gpio-unbanked = <0>;
  267. status = "disabled";
  268. };
  269. };
  270. nand_cs3@62000000 {
  271. compatible = "ti,davinci-nand";
  272. reg = <0x62000000 0x807ff
  273. 0x68000000 0x8000>;
  274. ti,davinci-chipselect = <1>;
  275. ti,davinci-mask-ale = <0>;
  276. ti,davinci-mask-cle = <0>;
  277. ti,davinci-mask-chipsel = <0>;
  278. ti,davinci-ecc-mode = "hw";
  279. ti,davinci-ecc-bits = <4>;
  280. ti,davinci-nand-use-bbt;
  281. status = "disabled";
  282. };
  283. };