omap3.dtsi 8.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401
  1. /*
  2. * Device Tree Source for OMAP3 SoC
  3. *
  4. * Copyright (C) 2011 Texas Instruments Incorporated - http://www.ti.com/
  5. *
  6. * This file is licensed under the terms of the GNU General Public License
  7. * version 2. This program is licensed "as is" without any warranty of any
  8. * kind, whether express or implied.
  9. */
  10. /include/ "skeleton.dtsi"
  11. / {
  12. compatible = "ti,omap3430", "ti,omap3";
  13. interrupt-parent = <&intc>;
  14. aliases {
  15. serial0 = &uart1;
  16. serial1 = &uart2;
  17. serial2 = &uart3;
  18. };
  19. cpus {
  20. cpu@0 {
  21. compatible = "arm,cortex-a8";
  22. };
  23. };
  24. /*
  25. * The soc node represents the soc top level view. It is uses for IPs
  26. * that are not memory mapped in the MPU view or for the MPU itself.
  27. */
  28. soc {
  29. compatible = "ti,omap-infra";
  30. mpu {
  31. compatible = "ti,omap3-mpu";
  32. ti,hwmods = "mpu";
  33. };
  34. iva {
  35. compatible = "ti,iva2.2";
  36. ti,hwmods = "iva";
  37. dsp {
  38. compatible = "ti,omap3-c64";
  39. };
  40. };
  41. };
  42. /*
  43. * XXX: Use a flat representation of the OMAP3 interconnect.
  44. * The real OMAP interconnect network is quite complex.
  45. * Since that will not bring real advantage to represent that in DT for
  46. * the moment, just use a fake OCP bus entry to represent the whole bus
  47. * hierarchy.
  48. */
  49. ocp {
  50. compatible = "simple-bus";
  51. #address-cells = <1>;
  52. #size-cells = <1>;
  53. ranges;
  54. ti,hwmods = "l3_main";
  55. counter32k: counter@48320000 {
  56. compatible = "ti,omap-counter32k";
  57. reg = <0x48320000 0x20>;
  58. ti,hwmods = "counter_32k";
  59. };
  60. intc: interrupt-controller@48200000 {
  61. compatible = "ti,omap2-intc";
  62. interrupt-controller;
  63. #interrupt-cells = <1>;
  64. ti,intc-size = <96>;
  65. reg = <0x48200000 0x1000>;
  66. };
  67. omap3_pmx_core: pinmux@48002030 {
  68. compatible = "ti,omap3-padconf", "pinctrl-single";
  69. reg = <0x48002030 0x05cc>;
  70. #address-cells = <1>;
  71. #size-cells = <0>;
  72. pinctrl-single,register-width = <16>;
  73. pinctrl-single,function-mask = <0x7fff>;
  74. };
  75. omap3_pmx_wkup: pinmux@0x48002a58 {
  76. compatible = "ti,omap3-padconf", "pinctrl-single";
  77. reg = <0x48002a58 0x5c>;
  78. #address-cells = <1>;
  79. #size-cells = <0>;
  80. pinctrl-single,register-width = <16>;
  81. pinctrl-single,function-mask = <0x7fff>;
  82. };
  83. gpio1: gpio@48310000 {
  84. compatible = "ti,omap3-gpio";
  85. ti,hwmods = "gpio1";
  86. gpio-controller;
  87. #gpio-cells = <2>;
  88. interrupt-controller;
  89. #interrupt-cells = <1>;
  90. };
  91. gpio2: gpio@49050000 {
  92. compatible = "ti,omap3-gpio";
  93. ti,hwmods = "gpio2";
  94. gpio-controller;
  95. #gpio-cells = <2>;
  96. interrupt-controller;
  97. #interrupt-cells = <1>;
  98. };
  99. gpio3: gpio@49052000 {
  100. compatible = "ti,omap3-gpio";
  101. ti,hwmods = "gpio3";
  102. gpio-controller;
  103. #gpio-cells = <2>;
  104. interrupt-controller;
  105. #interrupt-cells = <1>;
  106. };
  107. gpio4: gpio@49054000 {
  108. compatible = "ti,omap3-gpio";
  109. ti,hwmods = "gpio4";
  110. gpio-controller;
  111. #gpio-cells = <2>;
  112. interrupt-controller;
  113. #interrupt-cells = <1>;
  114. };
  115. gpio5: gpio@49056000 {
  116. compatible = "ti,omap3-gpio";
  117. ti,hwmods = "gpio5";
  118. gpio-controller;
  119. #gpio-cells = <2>;
  120. interrupt-controller;
  121. #interrupt-cells = <1>;
  122. };
  123. gpio6: gpio@49058000 {
  124. compatible = "ti,omap3-gpio";
  125. ti,hwmods = "gpio6";
  126. gpio-controller;
  127. #gpio-cells = <2>;
  128. interrupt-controller;
  129. #interrupt-cells = <1>;
  130. };
  131. uart1: serial@4806a000 {
  132. compatible = "ti,omap3-uart";
  133. ti,hwmods = "uart1";
  134. clock-frequency = <48000000>;
  135. };
  136. uart2: serial@4806c000 {
  137. compatible = "ti,omap3-uart";
  138. ti,hwmods = "uart2";
  139. clock-frequency = <48000000>;
  140. };
  141. uart3: serial@49020000 {
  142. compatible = "ti,omap3-uart";
  143. ti,hwmods = "uart3";
  144. clock-frequency = <48000000>;
  145. };
  146. i2c1: i2c@48070000 {
  147. compatible = "ti,omap3-i2c";
  148. #address-cells = <1>;
  149. #size-cells = <0>;
  150. ti,hwmods = "i2c1";
  151. };
  152. i2c2: i2c@48072000 {
  153. compatible = "ti,omap3-i2c";
  154. #address-cells = <1>;
  155. #size-cells = <0>;
  156. ti,hwmods = "i2c2";
  157. };
  158. i2c3: i2c@48060000 {
  159. compatible = "ti,omap3-i2c";
  160. #address-cells = <1>;
  161. #size-cells = <0>;
  162. ti,hwmods = "i2c3";
  163. };
  164. mcspi1: spi@48098000 {
  165. compatible = "ti,omap2-mcspi";
  166. #address-cells = <1>;
  167. #size-cells = <0>;
  168. ti,hwmods = "mcspi1";
  169. ti,spi-num-cs = <4>;
  170. };
  171. mcspi2: spi@4809a000 {
  172. compatible = "ti,omap2-mcspi";
  173. #address-cells = <1>;
  174. #size-cells = <0>;
  175. ti,hwmods = "mcspi2";
  176. ti,spi-num-cs = <2>;
  177. };
  178. mcspi3: spi@480b8000 {
  179. compatible = "ti,omap2-mcspi";
  180. #address-cells = <1>;
  181. #size-cells = <0>;
  182. ti,hwmods = "mcspi3";
  183. ti,spi-num-cs = <2>;
  184. };
  185. mcspi4: spi@480ba000 {
  186. compatible = "ti,omap2-mcspi";
  187. #address-cells = <1>;
  188. #size-cells = <0>;
  189. ti,hwmods = "mcspi4";
  190. ti,spi-num-cs = <1>;
  191. };
  192. mmc1: mmc@4809c000 {
  193. compatible = "ti,omap3-hsmmc";
  194. ti,hwmods = "mmc1";
  195. ti,dual-volt;
  196. };
  197. mmc2: mmc@480b4000 {
  198. compatible = "ti,omap3-hsmmc";
  199. ti,hwmods = "mmc2";
  200. };
  201. mmc3: mmc@480ad000 {
  202. compatible = "ti,omap3-hsmmc";
  203. ti,hwmods = "mmc3";
  204. };
  205. wdt2: wdt@48314000 {
  206. compatible = "ti,omap3-wdt";
  207. ti,hwmods = "wd_timer2";
  208. };
  209. mcbsp1: mcbsp@48074000 {
  210. compatible = "ti,omap3-mcbsp";
  211. reg = <0x48074000 0xff>;
  212. reg-names = "mpu";
  213. interrupts = <16>, /* OCP compliant interrupt */
  214. <59>, /* TX interrupt */
  215. <60>; /* RX interrupt */
  216. interrupt-names = "common", "tx", "rx";
  217. ti,buffer-size = <128>;
  218. ti,hwmods = "mcbsp1";
  219. };
  220. mcbsp2: mcbsp@49022000 {
  221. compatible = "ti,omap3-mcbsp";
  222. reg = <0x49022000 0xff>,
  223. <0x49028000 0xff>;
  224. reg-names = "mpu", "sidetone";
  225. interrupts = <17>, /* OCP compliant interrupt */
  226. <62>, /* TX interrupt */
  227. <63>, /* RX interrupt */
  228. <4>; /* Sidetone */
  229. interrupt-names = "common", "tx", "rx", "sidetone";
  230. ti,buffer-size = <1280>;
  231. ti,hwmods = "mcbsp2", "mcbsp2_sidetone";
  232. };
  233. mcbsp3: mcbsp@49024000 {
  234. compatible = "ti,omap3-mcbsp";
  235. reg = <0x49024000 0xff>,
  236. <0x4902a000 0xff>;
  237. reg-names = "mpu", "sidetone";
  238. interrupts = <22>, /* OCP compliant interrupt */
  239. <89>, /* TX interrupt */
  240. <90>, /* RX interrupt */
  241. <5>; /* Sidetone */
  242. interrupt-names = "common", "tx", "rx", "sidetone";
  243. ti,buffer-size = <128>;
  244. ti,hwmods = "mcbsp3", "mcbsp3_sidetone";
  245. };
  246. mcbsp4: mcbsp@49026000 {
  247. compatible = "ti,omap3-mcbsp";
  248. reg = <0x49026000 0xff>;
  249. reg-names = "mpu";
  250. interrupts = <23>, /* OCP compliant interrupt */
  251. <54>, /* TX interrupt */
  252. <55>; /* RX interrupt */
  253. interrupt-names = "common", "tx", "rx";
  254. ti,buffer-size = <128>;
  255. ti,hwmods = "mcbsp4";
  256. };
  257. mcbsp5: mcbsp@48096000 {
  258. compatible = "ti,omap3-mcbsp";
  259. reg = <0x48096000 0xff>;
  260. reg-names = "mpu";
  261. interrupts = <27>, /* OCP compliant interrupt */
  262. <81>, /* TX interrupt */
  263. <82>; /* RX interrupt */
  264. interrupt-names = "common", "tx", "rx";
  265. ti,buffer-size = <128>;
  266. ti,hwmods = "mcbsp5";
  267. };
  268. timer1: timer@48318000 {
  269. compatible = "ti,omap2-timer";
  270. reg = <0x48318000 0x400>;
  271. interrupts = <37>;
  272. ti,hwmods = "timer1";
  273. ti,timer-alwon;
  274. };
  275. timer2: timer@49032000 {
  276. compatible = "ti,omap2-timer";
  277. reg = <0x49032000 0x400>;
  278. interrupts = <38>;
  279. ti,hwmods = "timer2";
  280. };
  281. timer3: timer@49034000 {
  282. compatible = "ti,omap2-timer";
  283. reg = <0x49034000 0x400>;
  284. interrupts = <39>;
  285. ti,hwmods = "timer3";
  286. };
  287. timer4: timer@49036000 {
  288. compatible = "ti,omap2-timer";
  289. reg = <0x49036000 0x400>;
  290. interrupts = <40>;
  291. ti,hwmods = "timer4";
  292. };
  293. timer5: timer@49038000 {
  294. compatible = "ti,omap2-timer";
  295. reg = <0x49038000 0x400>;
  296. interrupts = <41>;
  297. ti,hwmods = "timer5";
  298. ti,timer-dsp;
  299. };
  300. timer6: timer@4903a000 {
  301. compatible = "ti,omap2-timer";
  302. reg = <0x4903a000 0x400>;
  303. interrupts = <42>;
  304. ti,hwmods = "timer6";
  305. ti,timer-dsp;
  306. };
  307. timer7: timer@4903c000 {
  308. compatible = "ti,omap2-timer";
  309. reg = <0x4903c000 0x400>;
  310. interrupts = <43>;
  311. ti,hwmods = "timer7";
  312. ti,timer-dsp;
  313. };
  314. timer8: timer@4903e000 {
  315. compatible = "ti,omap2-timer";
  316. reg = <0x4903e000 0x400>;
  317. interrupts = <44>;
  318. ti,hwmods = "timer8";
  319. ti,timer-pwm;
  320. ti,timer-dsp;
  321. };
  322. timer9: timer@49040000 {
  323. compatible = "ti,omap2-timer";
  324. reg = <0x49040000 0x400>;
  325. interrupts = <45>;
  326. ti,hwmods = "timer9";
  327. ti,timer-pwm;
  328. };
  329. timer10: timer@48086000 {
  330. compatible = "ti,omap2-timer";
  331. reg = <0x48086000 0x400>;
  332. interrupts = <46>;
  333. ti,hwmods = "timer10";
  334. ti,timer-pwm;
  335. };
  336. timer11: timer@48088000 {
  337. compatible = "ti,omap2-timer";
  338. reg = <0x48088000 0x400>;
  339. interrupts = <47>;
  340. ti,hwmods = "timer11";
  341. ti,timer-pwm;
  342. };
  343. timer12: timer@48304000 {
  344. compatible = "ti,omap2-timer";
  345. reg = <0x48304000 0x400>;
  346. interrupts = <95>;
  347. ti,hwmods = "timer12";
  348. ti,timer-alwon;
  349. ti,timer-secure;
  350. };
  351. };
  352. };