imx35.dtsi 9.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402
  1. /*
  2. * Copyright 2012 Steffen Trumtrar, Pengutronix
  3. *
  4. * based on imx27.dtsi
  5. *
  6. * This program is free software; you can redistribute it and/or modify it under
  7. * the terms of the GNU General Public License version 2 as published by the
  8. * Free Software Foundation.
  9. */
  10. #include "skeleton.dtsi"
  11. #include "imx35-pinfunc.h"
  12. / {
  13. aliases {
  14. ethernet0 = &fec;
  15. gpio0 = &gpio1;
  16. gpio1 = &gpio2;
  17. gpio2 = &gpio3;
  18. serial0 = &uart1;
  19. serial1 = &uart2;
  20. serial2 = &uart3;
  21. spi0 = &spi1;
  22. spi1 = &spi2;
  23. };
  24. cpus {
  25. #address-cells = <0>;
  26. #size-cells = <0>;
  27. cpu {
  28. compatible = "arm,arm1136jf-s";
  29. device_type = "cpu";
  30. };
  31. };
  32. avic: avic-interrupt-controller@68000000 {
  33. compatible = "fsl,imx35-avic", "fsl,avic";
  34. interrupt-controller;
  35. #interrupt-cells = <1>;
  36. reg = <0x68000000 0x10000000>;
  37. };
  38. soc {
  39. #address-cells = <1>;
  40. #size-cells = <1>;
  41. compatible = "simple-bus";
  42. interrupt-parent = <&avic>;
  43. ranges;
  44. L2: l2-cache@30000000 {
  45. compatible = "arm,l210-cache";
  46. reg = <0x30000000 0x1000>;
  47. cache-unified;
  48. cache-level = <2>;
  49. };
  50. aips1: aips@43f00000 {
  51. compatible = "fsl,aips", "simple-bus";
  52. #address-cells = <1>;
  53. #size-cells = <1>;
  54. reg = <0x43f00000 0x100000>;
  55. ranges;
  56. i2c1: i2c@43f80000 {
  57. #address-cells = <1>;
  58. #size-cells = <0>;
  59. compatible = "fsl,imx35-i2c", "fsl,imx1-i2c";
  60. reg = <0x43f80000 0x4000>;
  61. clocks = <&clks 51>;
  62. clock-names = "ipg_per";
  63. interrupts = <10>;
  64. status = "disabled";
  65. };
  66. i2c3: i2c@43f84000 {
  67. #address-cells = <1>;
  68. #size-cells = <0>;
  69. compatible = "fsl,imx35-i2c", "fsl,imx1-i2c";
  70. reg = <0x43f84000 0x4000>;
  71. clocks = <&clks 53>;
  72. clock-names = "ipg_per";
  73. interrupts = <3>;
  74. status = "disabled";
  75. };
  76. uart1: serial@43f90000 {
  77. compatible = "fsl,imx35-uart", "fsl,imx21-uart";
  78. reg = <0x43f90000 0x4000>;
  79. clocks = <&clks 9>, <&clks 70>;
  80. clock-names = "ipg", "per";
  81. interrupts = <45>;
  82. status = "disabled";
  83. };
  84. uart2: serial@43f94000 {
  85. compatible = "fsl,imx35-uart", "fsl,imx21-uart";
  86. reg = <0x43f94000 0x4000>;
  87. clocks = <&clks 9>, <&clks 71>;
  88. clock-names = "ipg", "per";
  89. interrupts = <32>;
  90. status = "disabled";
  91. };
  92. i2c2: i2c@43f98000 {
  93. #address-cells = <1>;
  94. #size-cells = <0>;
  95. compatible = "fsl,imx35-i2c", "fsl,imx1-i2c";
  96. reg = <0x43f98000 0x4000>;
  97. clocks = <&clks 52>;
  98. clock-names = "ipg_per";
  99. interrupts = <4>;
  100. status = "disabled";
  101. };
  102. ssi1: ssi@43fa0000 {
  103. #sound-dai-cells = <0>;
  104. compatible = "fsl,imx35-ssi", "fsl,imx21-ssi";
  105. reg = <0x43fa0000 0x4000>;
  106. interrupts = <11>;
  107. clocks = <&clks 68>;
  108. dmas = <&sdma 28 0 0>,
  109. <&sdma 29 0 0>;
  110. dma-names = "rx", "tx";
  111. fsl,fifo-depth = <15>;
  112. status = "disabled";
  113. };
  114. spi1: cspi@43fa4000 {
  115. #address-cells = <1>;
  116. #size-cells = <0>;
  117. compatible = "fsl,imx35-cspi";
  118. reg = <0x43fa4000 0x4000>;
  119. clocks = <&clks 35 &clks 35>;
  120. clock-names = "ipg", "per";
  121. interrupts = <14>;
  122. status = "disabled";
  123. };
  124. kpp: kpp@43fa8000 {
  125. compatible = "fsl,imx35-kpp", "fsl,imx21-kpp";
  126. reg = <0x43fa8000 0x4000>;
  127. interrupts = <24>;
  128. clocks = <&clks 56>;
  129. status = "disabled";
  130. };
  131. iomuxc: iomuxc@43fac000 {
  132. compatible = "fsl,imx35-iomuxc";
  133. reg = <0x43fac000 0x4000>;
  134. };
  135. };
  136. spba: spba-bus@50000000 {
  137. compatible = "fsl,spba-bus", "simple-bus";
  138. #address-cells = <1>;
  139. #size-cells = <1>;
  140. reg = <0x50000000 0x100000>;
  141. ranges;
  142. uart3: serial@5000c000 {
  143. compatible = "fsl,imx35-uart", "fsl,imx21-uart";
  144. reg = <0x5000c000 0x4000>;
  145. clocks = <&clks 9>, <&clks 72>;
  146. clock-names = "ipg", "per";
  147. interrupts = <18>;
  148. status = "disabled";
  149. };
  150. spi2: cspi@50010000 {
  151. #address-cells = <1>;
  152. #size-cells = <0>;
  153. compatible = "fsl,imx35-cspi";
  154. reg = <0x50010000 0x4000>;
  155. interrupts = <13>;
  156. clocks = <&clks 36 &clks 36>;
  157. clock-names = "ipg", "per";
  158. status = "disabled";
  159. };
  160. fec: fec@50038000 {
  161. compatible = "fsl,imx35-fec", "fsl,imx27-fec";
  162. reg = <0x50038000 0x4000>;
  163. clocks = <&clks 46>, <&clks 8>;
  164. clock-names = "ipg", "ahb";
  165. interrupts = <57>;
  166. status = "disabled";
  167. };
  168. };
  169. aips2: aips@53f00000 {
  170. compatible = "fsl,aips", "simple-bus";
  171. #address-cells = <1>;
  172. #size-cells = <1>;
  173. reg = <0x53f00000 0x100000>;
  174. ranges;
  175. clks: ccm@53f80000 {
  176. compatible = "fsl,imx35-ccm";
  177. reg = <0x53f80000 0x4000>;
  178. interrupts = <31>;
  179. #clock-cells = <1>;
  180. };
  181. gpt: timer@53f90000 {
  182. compatible = "fsl,imx35-gpt", "fsl,imx31-gpt";
  183. reg = <0x53f90000 0x4000>;
  184. interrupts = <29>;
  185. clocks = <&clks 9>, <&clks 50>;
  186. clock-names = "ipg", "per";
  187. };
  188. gpio3: gpio@53fa4000 {
  189. compatible = "fsl,imx35-gpio", "fsl,imx31-gpio";
  190. reg = <0x53fa4000 0x4000>;
  191. interrupts = <56>;
  192. gpio-controller;
  193. #gpio-cells = <2>;
  194. interrupt-controller;
  195. #interrupt-cells = <2>;
  196. };
  197. esdhc1: esdhc@53fb4000 {
  198. compatible = "fsl,imx35-esdhc";
  199. reg = <0x53fb4000 0x4000>;
  200. interrupts = <7>;
  201. clocks = <&clks 9>, <&clks 8>, <&clks 43>;
  202. clock-names = "ipg", "ahb", "per";
  203. status = "disabled";
  204. };
  205. esdhc2: esdhc@53fb8000 {
  206. compatible = "fsl,imx35-esdhc";
  207. reg = <0x53fb8000 0x4000>;
  208. interrupts = <8>;
  209. clocks = <&clks 9>, <&clks 8>, <&clks 44>;
  210. clock-names = "ipg", "ahb", "per";
  211. status = "disabled";
  212. };
  213. esdhc3: esdhc@53fbc000 {
  214. compatible = "fsl,imx35-esdhc";
  215. reg = <0x53fbc000 0x4000>;
  216. interrupts = <9>;
  217. clocks = <&clks 9>, <&clks 8>, <&clks 45>;
  218. clock-names = "ipg", "ahb", "per";
  219. status = "disabled";
  220. };
  221. audmux: audmux@53fc4000 {
  222. compatible = "fsl,imx35-audmux", "fsl,imx31-audmux";
  223. reg = <0x53fc4000 0x4000>;
  224. status = "disabled";
  225. };
  226. gpio1: gpio@53fcc000 {
  227. compatible = "fsl,imx35-gpio", "fsl,imx31-gpio";
  228. reg = <0x53fcc000 0x4000>;
  229. interrupts = <52>;
  230. gpio-controller;
  231. #gpio-cells = <2>;
  232. interrupt-controller;
  233. #interrupt-cells = <2>;
  234. };
  235. gpio2: gpio@53fd0000 {
  236. compatible = "fsl,imx35-gpio", "fsl,imx31-gpio";
  237. reg = <0x53fd0000 0x4000>;
  238. interrupts = <51>;
  239. gpio-controller;
  240. #gpio-cells = <2>;
  241. interrupt-controller;
  242. #interrupt-cells = <2>;
  243. };
  244. sdma: sdma@53fd4000 {
  245. compatible = "fsl,imx35-sdma";
  246. reg = <0x53fd4000 0x4000>;
  247. clocks = <&clks 9>, <&clks 65>;
  248. clock-names = "ipg", "ahb";
  249. #dma-cells = <3>;
  250. interrupts = <34>;
  251. fsl,sdma-ram-script-name = "/*(DEBLOBBED)*/";
  252. };
  253. wdog: wdog@53fdc000 {
  254. compatible = "fsl,imx35-wdt", "fsl,imx21-wdt";
  255. reg = <0x53fdc000 0x4000>;
  256. clocks = <&clks 74>;
  257. clock-names = "";
  258. interrupts = <55>;
  259. };
  260. can1: can@53fe4000 {
  261. compatible = "fsl,imx35-flexcan", "fsl,p1010-flexcan";
  262. reg = <0x53fe4000 0x1000>;
  263. clocks = <&clks 33>, <&clks 33>;
  264. clock-names = "ipg", "per";
  265. interrupts = <43>;
  266. status = "disabled";
  267. };
  268. can2: can@53fe8000 {
  269. compatible = "fsl,imx35-flexcan", "fsl,p1010-flexcan";
  270. reg = <0x53fe8000 0x1000>;
  271. clocks = <&clks 34>, <&clks 34>;
  272. clock-names = "ipg", "per";
  273. interrupts = <44>;
  274. status = "disabled";
  275. };
  276. iim@53ff0000 {
  277. compatible = "fsl,imx35-iim";
  278. reg = <0x53ff0000 0x4000>;
  279. interrupts = <19>;
  280. clocks = <&clks 80>;
  281. };
  282. usbotg: usb@53ff4000 {
  283. compatible = "fsl,imx35-usb", "fsl,imx27-usb";
  284. reg = <0x53ff4000 0x0200>;
  285. interrupts = <37>;
  286. clocks = <&clks 9>, <&clks 73>, <&clks 28>;
  287. clock-names = "ipg", "ahb", "per";
  288. fsl,usbmisc = <&usbmisc 0>;
  289. fsl,usbphy = <&usbphy0>;
  290. status = "disabled";
  291. };
  292. usbhost1: usb@53ff4400 {
  293. compatible = "fsl,imx35-usb", "fsl,imx27-usb";
  294. reg = <0x53ff4400 0x0200>;
  295. interrupts = <35>;
  296. clocks = <&clks 9>, <&clks 73>, <&clks 28>;
  297. clock-names = "ipg", "ahb", "per";
  298. fsl,usbmisc = <&usbmisc 1>;
  299. fsl,usbphy = <&usbphy1>;
  300. dr_mode = "host";
  301. status = "disabled";
  302. };
  303. usbmisc: usbmisc@53ff4600 {
  304. #index-cells = <1>;
  305. compatible = "fsl,imx35-usbmisc";
  306. reg = <0x53ff4600 0x00f>;
  307. };
  308. };
  309. emi@80000000 { /* External Memory Interface */
  310. compatible = "fsl,emi", "simple-bus";
  311. #address-cells = <1>;
  312. #size-cells = <1>;
  313. reg = <0x80000000 0x40000000>;
  314. ranges;
  315. nfc: nand@bb000000 {
  316. #address-cells = <1>;
  317. #size-cells = <1>;
  318. compatible = "fsl,imx35-nand", "fsl,imx25-nand";
  319. reg = <0xbb000000 0x2000>;
  320. clocks = <&clks 29>;
  321. clock-names = "";
  322. interrupts = <33>;
  323. status = "disabled";
  324. };
  325. weim: weim@b8002000 {
  326. #address-cells = <2>;
  327. #size-cells = <1>;
  328. clocks = <&clks 0>;
  329. compatible = "fsl,imx35-weim", "fsl,imx27-weim";
  330. reg = <0xb8002000 0x1000>;
  331. ranges = <
  332. 0 0 0xa0000000 0x8000000
  333. 1 0 0xa8000000 0x8000000
  334. 2 0 0xb0000000 0x2000000
  335. 3 0 0xb2000000 0x2000000
  336. 4 0 0xb4000000 0x2000000
  337. 5 0 0xb6000000 0x2000000
  338. >;
  339. status = "disabled";
  340. };
  341. };
  342. };
  343. usbphy {
  344. compatible = "simple-bus";
  345. #address-cells = <1>;
  346. #size-cells = <0>;
  347. usbphy0: usb-phy@0 {
  348. reg = <0>;
  349. compatible = "usb-nop-xceiv";
  350. };
  351. usbphy1: usb-phy@1 {
  352. reg = <1>;
  353. compatible = "usb-nop-xceiv";
  354. };
  355. };
  356. };