omap2420.dtsi 5.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262
  1. // SPDX-License-Identifier: GPL-2.0-only
  2. /*
  3. * Device Tree Source for OMAP2420 SoC
  4. *
  5. * Copyright (C) 2012 Texas Instruments Incorporated - https://www.ti.com/
  6. */
  7. #include "omap2.dtsi"
  8. / {
  9. compatible = "ti,omap2420", "ti,omap2";
  10. ocp {
  11. l4: l4@48000000 {
  12. compatible = "ti,omap2-l4", "simple-bus";
  13. #address-cells = <1>;
  14. #size-cells = <1>;
  15. ranges = <0 0x48000000 0x100000>;
  16. prcm: prcm@8000 {
  17. compatible = "ti,omap2-prcm";
  18. reg = <0x8000 0x1000>;
  19. prcm_clocks: clocks {
  20. #address-cells = <1>;
  21. #size-cells = <0>;
  22. };
  23. prcm_clockdomains: clockdomains {
  24. };
  25. };
  26. scm: scm@0 {
  27. compatible = "ti,omap2-scm", "simple-bus";
  28. reg = <0x0 0x1000>;
  29. #address-cells = <1>;
  30. #size-cells = <1>;
  31. #pinctrl-cells = <1>;
  32. ranges = <0 0x0 0x1000>;
  33. omap2420_pmx: pinmux@30 {
  34. compatible = "ti,omap2420-padconf",
  35. "pinctrl-single";
  36. reg = <0x30 0x0113>;
  37. #address-cells = <1>;
  38. #size-cells = <0>;
  39. #pinctrl-cells = <1>;
  40. pinctrl-single,register-width = <8>;
  41. pinctrl-single,function-mask = <0x3f>;
  42. };
  43. scm_conf: scm_conf@270 {
  44. compatible = "syscon";
  45. reg = <0x270 0x100>;
  46. #address-cells = <1>;
  47. #size-cells = <1>;
  48. scm_clocks: clocks {
  49. #address-cells = <1>;
  50. #size-cells = <0>;
  51. };
  52. };
  53. scm_clockdomains: clockdomains {
  54. };
  55. };
  56. target-module@4000 {
  57. compatible = "ti,sysc-omap2", "ti,sysc";
  58. reg = <0x4000 0x4>,
  59. <0x4004 0x4>;
  60. reg-names = "rev", "sysc";
  61. ti,sysc-sidle = <SYSC_IDLE_FORCE>,
  62. <SYSC_IDLE_NO>;
  63. clocks = <&func_32k_ck>;
  64. clock-names = "fck";
  65. #address-cells = <1>;
  66. #size-cells = <1>;
  67. ranges = <0x0 0x4000 0x1000>;
  68. counter32k: counter@0 {
  69. compatible = "ti,omap-counter32k";
  70. reg = <0 0x20>;
  71. };
  72. };
  73. };
  74. gpio1: gpio@48018000 {
  75. compatible = "ti,omap2-gpio";
  76. reg = <0x48018000 0x200>;
  77. interrupts = <29>;
  78. ti,hwmods = "gpio1";
  79. ti,gpio-always-on;
  80. #gpio-cells = <2>;
  81. gpio-controller;
  82. #interrupt-cells = <2>;
  83. interrupt-controller;
  84. };
  85. gpio2: gpio@4801a000 {
  86. compatible = "ti,omap2-gpio";
  87. reg = <0x4801a000 0x200>;
  88. interrupts = <30>;
  89. ti,hwmods = "gpio2";
  90. ti,gpio-always-on;
  91. #gpio-cells = <2>;
  92. gpio-controller;
  93. #interrupt-cells = <2>;
  94. interrupt-controller;
  95. };
  96. gpio3: gpio@4801c000 {
  97. compatible = "ti,omap2-gpio";
  98. reg = <0x4801c000 0x200>;
  99. interrupts = <31>;
  100. ti,hwmods = "gpio3";
  101. ti,gpio-always-on;
  102. #gpio-cells = <2>;
  103. gpio-controller;
  104. #interrupt-cells = <2>;
  105. interrupt-controller;
  106. };
  107. gpio4: gpio@4801e000 {
  108. compatible = "ti,omap2-gpio";
  109. reg = <0x4801e000 0x200>;
  110. interrupts = <32>;
  111. ti,hwmods = "gpio4";
  112. ti,gpio-always-on;
  113. #gpio-cells = <2>;
  114. gpio-controller;
  115. #interrupt-cells = <2>;
  116. interrupt-controller;
  117. };
  118. gpmc: gpmc@6800a000 {
  119. compatible = "ti,omap2420-gpmc";
  120. reg = <0x6800a000 0x1000>;
  121. #address-cells = <2>;
  122. #size-cells = <1>;
  123. interrupts = <20>;
  124. gpmc,num-cs = <8>;
  125. gpmc,num-waitpins = <4>;
  126. ti,hwmods = "gpmc";
  127. interrupt-controller;
  128. #interrupt-cells = <2>;
  129. gpio-controller;
  130. #gpio-cells = <2>;
  131. };
  132. mcbsp1: mcbsp@48074000 {
  133. compatible = "ti,omap2420-mcbsp";
  134. reg = <0x48074000 0xff>;
  135. reg-names = "mpu";
  136. interrupts = <59>, /* TX interrupt */
  137. <60>; /* RX interrupt */
  138. interrupt-names = "tx", "rx";
  139. ti,hwmods = "mcbsp1";
  140. dmas = <&sdma 31>,
  141. <&sdma 32>;
  142. dma-names = "tx", "rx";
  143. status = "disabled";
  144. };
  145. mcbsp2: mcbsp@48076000 {
  146. compatible = "ti,omap2420-mcbsp";
  147. reg = <0x48076000 0xff>;
  148. reg-names = "mpu";
  149. interrupts = <62>, /* TX interrupt */
  150. <63>; /* RX interrupt */
  151. interrupt-names = "tx", "rx";
  152. ti,hwmods = "mcbsp2";
  153. dmas = <&sdma 33>,
  154. <&sdma 34>;
  155. dma-names = "tx", "rx";
  156. status = "disabled";
  157. };
  158. msdi1: mmc@4809c000 {
  159. compatible = "ti,omap2420-mmc";
  160. ti,hwmods = "msdi1";
  161. reg = <0x4809c000 0x80>;
  162. interrupts = <83>;
  163. dmas = <&sdma 61 &sdma 62>;
  164. dma-names = "tx", "rx";
  165. };
  166. mailbox: mailbox@48094000 {
  167. compatible = "ti,omap2-mailbox";
  168. reg = <0x48094000 0x200>;
  169. interrupts = <26>, <34>;
  170. ti,hwmods = "mailbox";
  171. #mbox-cells = <1>;
  172. ti,mbox-num-users = <4>;
  173. ti,mbox-num-fifos = <6>;
  174. mbox_dsp: mbox-dsp {
  175. ti,mbox-tx = <0 0 0>;
  176. ti,mbox-rx = <1 0 0>;
  177. };
  178. mbox_iva: mbox-iva {
  179. ti,mbox-tx = <2 1 3>;
  180. ti,mbox-rx = <3 1 3>;
  181. };
  182. };
  183. timer1_target: target-module@48028000 {
  184. compatible = "ti,sysc-omap2-timer", "ti,sysc";
  185. reg = <0x48028000 0x4>,
  186. <0x48028010 0x4>,
  187. <0x48028014 0x4>;
  188. reg-names = "rev", "sysc", "syss";
  189. ti,sysc-mask = <(SYSC_OMAP2_CLOCKACTIVITY |
  190. SYSC_OMAP2_EMUFREE |
  191. SYSC_OMAP2_ENAWAKEUP |
  192. SYSC_OMAP2_SOFTRESET |
  193. SYSC_OMAP2_AUTOIDLE)>;
  194. ti,sysc-sidle = <SYSC_IDLE_FORCE>,
  195. <SYSC_IDLE_NO>,
  196. <SYSC_IDLE_SMART>;
  197. ti,syss-mask = <1>;
  198. clocks = <&gpt1_fck>, <&gpt1_ick>;
  199. clock-names = "fck", "ick";
  200. #address-cells = <1>;
  201. #size-cells = <1>;
  202. ranges = <0x0 0x48028000 0x1000>;
  203. timer1: timer@0 {
  204. compatible = "ti,omap2420-timer";
  205. reg = <0 0x400>;
  206. interrupts = <37>;
  207. ti,timer-alwon;
  208. };
  209. };
  210. wd_timer2: wdt@48022000 {
  211. compatible = "ti,omap2-wdt";
  212. ti,hwmods = "wd_timer2";
  213. reg = <0x48022000 0x80>;
  214. };
  215. };
  216. };
  217. &i2c1 {
  218. compatible = "ti,omap2420-i2c";
  219. };
  220. &i2c2 {
  221. compatible = "ti,omap2420-i2c";
  222. };
  223. #include "omap24xx-clocks.dtsi"
  224. #include "omap2420-clocks.dtsi"
  225. /* Preferred always-on timer for clockevent */
  226. &timer1_target {
  227. ti,no-reset-on-init;
  228. ti,no-idle;
  229. timer@0 {
  230. assigned-clocks = <&gpt1_fck>;
  231. assigned-clock-parents = <&func_32k_ck>;
  232. };
  233. };