exynos3250.dtsi 12 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510
  1. /*
  2. * Samsung's Exynos3250 SoC device tree source
  3. *
  4. * Copyright (c) 2014 Samsung Electronics Co., Ltd.
  5. * http://www.samsung.com
  6. *
  7. * Samsung's Exynos3250 SoC device nodes are listed in this file. Exynos3250
  8. * based board files can include this file and provide values for board specfic
  9. * bindings.
  10. *
  11. * Note: This file does not include device nodes for all the controllers in
  12. * Exynos3250 SoC. As device tree coverage for Exynos3250 increases, additional
  13. * nodes can be added to this file.
  14. *
  15. * This program is free software; you can redistribute it and/or modify
  16. * it under the terms of the GNU General Public License version 2 as
  17. * published by the Free Software Foundation.
  18. */
  19. #include "skeleton.dtsi"
  20. #include <dt-bindings/clock/exynos3250.h>
  21. / {
  22. compatible = "samsung,exynos3250";
  23. interrupt-parent = <&gic>;
  24. aliases {
  25. pinctrl0 = &pinctrl_0;
  26. pinctrl1 = &pinctrl_1;
  27. mshc0 = &mshc_0;
  28. mshc1 = &mshc_1;
  29. spi0 = &spi_0;
  30. spi1 = &spi_1;
  31. i2c0 = &i2c_0;
  32. i2c1 = &i2c_1;
  33. i2c2 = &i2c_2;
  34. i2c3 = &i2c_3;
  35. i2c4 = &i2c_4;
  36. i2c5 = &i2c_5;
  37. i2c6 = &i2c_6;
  38. i2c7 = &i2c_7;
  39. serial0 = &serial_0;
  40. serial1 = &serial_1;
  41. };
  42. cpus {
  43. #address-cells = <1>;
  44. #size-cells = <0>;
  45. cpu0: cpu@0 {
  46. device_type = "cpu";
  47. compatible = "arm,cortex-a7";
  48. reg = <0>;
  49. clock-frequency = <1000000000>;
  50. };
  51. cpu1: cpu@1 {
  52. device_type = "cpu";
  53. compatible = "arm,cortex-a7";
  54. reg = <1>;
  55. clock-frequency = <1000000000>;
  56. };
  57. };
  58. soc: soc {
  59. compatible = "simple-bus";
  60. #address-cells = <1>;
  61. #size-cells = <1>;
  62. ranges;
  63. fixed-rate-clocks {
  64. #address-cells = <1>;
  65. #size-cells = <0>;
  66. xusbxti: clock@0 {
  67. compatible = "fixed-clock";
  68. #address-cells = <1>;
  69. #size-cells = <0>;
  70. reg = <0>;
  71. clock-frequency = <0>;
  72. #clock-cells = <0>;
  73. clock-output-names = "xusbxti";
  74. };
  75. xxti: clock@1 {
  76. compatible = "fixed-clock";
  77. reg = <1>;
  78. clock-frequency = <0>;
  79. #clock-cells = <0>;
  80. clock-output-names = "xxti";
  81. };
  82. xtcxo: clock@2 {
  83. compatible = "fixed-clock";
  84. reg = <2>;
  85. clock-frequency = <0>;
  86. #clock-cells = <0>;
  87. clock-output-names = "xtcxo";
  88. };
  89. };
  90. sysram@02020000 {
  91. compatible = "mmio-sram";
  92. reg = <0x02020000 0x40000>;
  93. #address-cells = <1>;
  94. #size-cells = <1>;
  95. ranges = <0 0x02020000 0x40000>;
  96. smp-sysram@0 {
  97. compatible = "samsung,exynos4210-sysram";
  98. reg = <0x0 0x1000>;
  99. };
  100. smp-sysram@3f000 {
  101. compatible = "samsung,exynos4210-sysram-ns";
  102. reg = <0x3f000 0x1000>;
  103. };
  104. };
  105. chipid@10000000 {
  106. compatible = "samsung,exynos4210-chipid";
  107. reg = <0x10000000 0x100>;
  108. };
  109. sys_reg: syscon@10010000 {
  110. compatible = "samsung,exynos3-sysreg", "syscon";
  111. reg = <0x10010000 0x400>;
  112. };
  113. pmu_system_controller: system-controller@10020000 {
  114. compatible = "samsung,exynos3250-pmu", "syscon";
  115. reg = <0x10020000 0x4000>;
  116. };
  117. mipi_phy: video-phy@10020710 {
  118. compatible = "samsung,s5pv210-mipi-video-phy";
  119. reg = <0x10020710 8>;
  120. #phy-cells = <1>;
  121. };
  122. pd_cam: cam-power-domain@10023C00 {
  123. compatible = "samsung,exynos4210-pd";
  124. reg = <0x10023C00 0x20>;
  125. };
  126. pd_mfc: mfc-power-domain@10023C40 {
  127. compatible = "samsung,exynos4210-pd";
  128. reg = <0x10023C40 0x20>;
  129. };
  130. pd_g3d: g3d-power-domain@10023C60 {
  131. compatible = "samsung,exynos4210-pd";
  132. reg = <0x10023C60 0x20>;
  133. };
  134. pd_lcd0: lcd0-power-domain@10023C80 {
  135. compatible = "samsung,exynos4210-pd";
  136. reg = <0x10023C80 0x20>;
  137. };
  138. pd_isp: isp-power-domain@10023CA0 {
  139. compatible = "samsung,exynos4210-pd";
  140. reg = <0x10023CA0 0x20>;
  141. };
  142. cmu: clock-controller@10030000 {
  143. compatible = "samsung,exynos3250-cmu";
  144. reg = <0x10030000 0x20000>;
  145. #clock-cells = <1>;
  146. };
  147. cmu_dmc: clock-controller@105C0000 {
  148. compatible = "samsung,exynos3250-cmu-dmc";
  149. reg = <0x105C0000 0x2000>;
  150. #clock-cells = <1>;
  151. };
  152. rtc: rtc@10070000 {
  153. compatible = "samsung,exynos3250-rtc";
  154. reg = <0x10070000 0x100>;
  155. interrupts = <0 73 0>, <0 74 0>;
  156. status = "disabled";
  157. };
  158. tmu: tmu@100C0000 {
  159. compatible = "samsung,exynos3250-tmu";
  160. reg = <0x100C0000 0x100>;
  161. interrupts = <0 216 0>;
  162. clocks = <&cmu CLK_TMU_APBIF>;
  163. clock-names = "tmu_apbif";
  164. status = "disabled";
  165. };
  166. gic: interrupt-controller@10481000 {
  167. compatible = "arm,cortex-a15-gic";
  168. #interrupt-cells = <3>;
  169. interrupt-controller;
  170. reg = <0x10481000 0x1000>,
  171. <0x10482000 0x1000>,
  172. <0x10484000 0x2000>,
  173. <0x10486000 0x2000>;
  174. interrupts = <1 9 0xf04>;
  175. };
  176. mct@10050000 {
  177. compatible = "samsung,exynos4210-mct";
  178. reg = <0x10050000 0x800>;
  179. interrupts = <0 218 0>, <0 219 0>, <0 220 0>, <0 221 0>,
  180. <0 223 0>, <0 226 0>, <0 227 0>, <0 228 0>;
  181. clocks = <&cmu CLK_FIN_PLL>, <&cmu CLK_MCT>;
  182. clock-names = "fin_pll", "mct";
  183. };
  184. pinctrl_1: pinctrl@11000000 {
  185. compatible = "samsung,exynos3250-pinctrl";
  186. reg = <0x11000000 0x1000>;
  187. interrupts = <0 225 0>;
  188. wakeup-interrupt-controller {
  189. compatible = "samsung,exynos4210-wakeup-eint";
  190. interrupts = <0 48 0>;
  191. };
  192. };
  193. pinctrl_0: pinctrl@11400000 {
  194. compatible = "samsung,exynos3250-pinctrl";
  195. reg = <0x11400000 0x1000>;
  196. interrupts = <0 240 0>;
  197. };
  198. fimd: fimd@11c00000 {
  199. compatible = "samsung,exynos3250-fimd";
  200. reg = <0x11c00000 0x30000>;
  201. interrupt-names = "fifo", "vsync", "lcd_sys";
  202. interrupts = <0 84 0>, <0 85 0>, <0 86 0>;
  203. clocks = <&cmu CLK_SCLK_FIMD0>, <&cmu CLK_FIMD0>;
  204. clock-names = "sclk_fimd", "fimd";
  205. samsung,power-domain = <&pd_lcd0>;
  206. samsung,sysreg = <&sys_reg>;
  207. status = "disabled";
  208. };
  209. dsi_0: dsi@11C80000 {
  210. compatible = "samsung,exynos3250-mipi-dsi";
  211. reg = <0x11C80000 0x10000>;
  212. interrupts = <0 83 0>;
  213. samsung,phy-type = <0>;
  214. samsung,power-domain = <&pd_lcd0>;
  215. phys = <&mipi_phy 1>;
  216. phy-names = "dsim";
  217. clocks = <&cmu CLK_DSIM0>, <&cmu CLK_SCLK_MIPI0>;
  218. clock-names = "bus_clk", "pll_clk";
  219. #address-cells = <1>;
  220. #size-cells = <0>;
  221. status = "disabled";
  222. };
  223. mshc_0: mshc@12510000 {
  224. compatible = "samsung,exynos5250-dw-mshc";
  225. reg = <0x12510000 0x1000>;
  226. interrupts = <0 142 0>;
  227. clocks = <&cmu CLK_SDMMC0>, <&cmu CLK_SCLK_MMC0>;
  228. clock-names = "biu", "ciu";
  229. fifo-depth = <0x80>;
  230. #address-cells = <1>;
  231. #size-cells = <0>;
  232. status = "disabled";
  233. };
  234. mshc_1: mshc@12520000 {
  235. compatible = "samsung,exynos5250-dw-mshc";
  236. reg = <0x12520000 0x1000>;
  237. interrupts = <0 143 0>;
  238. clocks = <&cmu CLK_SDMMC1>, <&cmu CLK_SCLK_MMC1>;
  239. clock-names = "biu", "ciu";
  240. fifo-depth = <0x80>;
  241. #address-cells = <1>;
  242. #size-cells = <0>;
  243. status = "disabled";
  244. };
  245. amba {
  246. compatible = "arm,amba-bus";
  247. #address-cells = <1>;
  248. #size-cells = <1>;
  249. ranges;
  250. pdma0: pdma@12680000 {
  251. compatible = "arm,pl330", "arm,primecell";
  252. reg = <0x12680000 0x1000>;
  253. interrupts = <0 138 0>;
  254. clocks = <&cmu CLK_PDMA0>;
  255. clock-names = "apb_pclk";
  256. #dma-cells = <1>;
  257. #dma-channels = <8>;
  258. #dma-requests = <32>;
  259. };
  260. pdma1: pdma@12690000 {
  261. compatible = "arm,pl330", "arm,primecell";
  262. reg = <0x12690000 0x1000>;
  263. interrupts = <0 139 0>;
  264. clocks = <&cmu CLK_PDMA1>;
  265. clock-names = "apb_pclk";
  266. #dma-cells = <1>;
  267. #dma-channels = <8>;
  268. #dma-requests = <32>;
  269. };
  270. };
  271. adc: adc@126C0000 {
  272. compatible = "samsung,exynos3250-adc",
  273. "samsung,exynos-adc-v2";
  274. reg = <0x126C0000 0x100>, <0x10020718 0x4>;
  275. interrupts = <0 137 0>;
  276. clock-names = "adc", "sclk";
  277. clocks = <&cmu CLK_TSADC>, <&cmu CLK_SCLK_TSADC>;
  278. #io-channel-cells = <1>;
  279. io-channel-ranges;
  280. status = "disabled";
  281. };
  282. serial_0: serial@13800000 {
  283. compatible = "samsung,exynos4210-uart";
  284. reg = <0x13800000 0x100>;
  285. interrupts = <0 109 0>;
  286. clocks = <&cmu CLK_UART0>, <&cmu CLK_SCLK_UART0>;
  287. clock-names = "uart", "clk_uart_baud0";
  288. pinctrl-names = "default";
  289. pinctrl-0 = <&uart0_data &uart0_fctl>;
  290. status = "disabled";
  291. };
  292. serial_1: serial@13810000 {
  293. compatible = "samsung,exynos4210-uart";
  294. reg = <0x13810000 0x100>;
  295. interrupts = <0 110 0>;
  296. clocks = <&cmu CLK_UART1>, <&cmu CLK_SCLK_UART1>;
  297. clock-names = "uart", "clk_uart_baud0";
  298. pinctrl-names = "default";
  299. pinctrl-0 = <&uart1_data>;
  300. status = "disabled";
  301. };
  302. i2c_0: i2c@13860000 {
  303. #address-cells = <1>;
  304. #size-cells = <0>;
  305. compatible = "samsung,s3c2440-i2c";
  306. reg = <0x13860000 0x100>;
  307. interrupts = <0 113 0>;
  308. clocks = <&cmu CLK_I2C0>;
  309. clock-names = "i2c";
  310. pinctrl-names = "default";
  311. pinctrl-0 = <&i2c0_bus>;
  312. status = "disabled";
  313. };
  314. i2c_1: i2c@13870000 {
  315. #address-cells = <1>;
  316. #size-cells = <0>;
  317. compatible = "samsung,s3c2440-i2c";
  318. reg = <0x13870000 0x100>;
  319. interrupts = <0 114 0>;
  320. clocks = <&cmu CLK_I2C1>;
  321. clock-names = "i2c";
  322. pinctrl-names = "default";
  323. pinctrl-0 = <&i2c1_bus>;
  324. status = "disabled";
  325. };
  326. i2c_2: i2c@13880000 {
  327. #address-cells = <1>;
  328. #size-cells = <0>;
  329. compatible = "samsung,s3c2440-i2c";
  330. reg = <0x13880000 0x100>;
  331. interrupts = <0 115 0>;
  332. clocks = <&cmu CLK_I2C2>;
  333. clock-names = "i2c";
  334. pinctrl-names = "default";
  335. pinctrl-0 = <&i2c2_bus>;
  336. status = "disabled";
  337. };
  338. i2c_3: i2c@13890000 {
  339. #address-cells = <1>;
  340. #size-cells = <0>;
  341. compatible = "samsung,s3c2440-i2c";
  342. reg = <0x13890000 0x100>;
  343. interrupts = <0 116 0>;
  344. clocks = <&cmu CLK_I2C3>;
  345. clock-names = "i2c";
  346. pinctrl-names = "default";
  347. pinctrl-0 = <&i2c3_bus>;
  348. status = "disabled";
  349. };
  350. i2c_4: i2c@138A0000 {
  351. #address-cells = <1>;
  352. #size-cells = <0>;
  353. compatible = "samsung,s3c2440-i2c";
  354. reg = <0x138A0000 0x100>;
  355. interrupts = <0 117 0>;
  356. clocks = <&cmu CLK_I2C4>;
  357. clock-names = "i2c";
  358. pinctrl-names = "default";
  359. pinctrl-0 = <&i2c4_bus>;
  360. status = "disabled";
  361. };
  362. i2c_5: i2c@138B0000 {
  363. #address-cells = <1>;
  364. #size-cells = <0>;
  365. compatible = "samsung,s3c2440-i2c";
  366. reg = <0x138B0000 0x100>;
  367. interrupts = <0 118 0>;
  368. clocks = <&cmu CLK_I2C5>;
  369. clock-names = "i2c";
  370. pinctrl-names = "default";
  371. pinctrl-0 = <&i2c5_bus>;
  372. status = "disabled";
  373. };
  374. i2c_6: i2c@138C0000 {
  375. #address-cells = <1>;
  376. #size-cells = <0>;
  377. compatible = "samsung,s3c2440-i2c";
  378. reg = <0x138C0000 0x100>;
  379. interrupts = <0 119 0>;
  380. clocks = <&cmu CLK_I2C6>;
  381. clock-names = "i2c";
  382. pinctrl-names = "default";
  383. pinctrl-0 = <&i2c6_bus>;
  384. status = "disabled";
  385. };
  386. i2c_7: i2c@138D0000 {
  387. #address-cells = <1>;
  388. #size-cells = <0>;
  389. compatible = "samsung,s3c2440-i2c";
  390. reg = <0x138D0000 0x100>;
  391. interrupts = <0 120 0>;
  392. clocks = <&cmu CLK_I2C7>;
  393. clock-names = "i2c";
  394. pinctrl-names = "default";
  395. pinctrl-0 = <&i2c7_bus>;
  396. status = "disabled";
  397. };
  398. spi_0: spi@13920000 {
  399. compatible = "samsung,exynos4210-spi";
  400. reg = <0x13920000 0x100>;
  401. interrupts = <0 121 0>;
  402. dmas = <&pdma0 7>, <&pdma0 6>;
  403. dma-names = "tx", "rx";
  404. #address-cells = <1>;
  405. #size-cells = <0>;
  406. clocks = <&cmu CLK_SPI0>, <&cmu CLK_SCLK_SPI0>;
  407. clock-names = "spi", "spi_busclk0";
  408. samsung,spi-src-clk = <0>;
  409. pinctrl-names = "default";
  410. pinctrl-0 = <&spi0_bus>;
  411. status = "disabled";
  412. };
  413. spi_1: spi@13930000 {
  414. compatible = "samsung,exynos4210-spi";
  415. reg = <0x13930000 0x100>;
  416. interrupts = <0 122 0>;
  417. dmas = <&pdma1 7>, <&pdma1 6>;
  418. dma-names = "tx", "rx";
  419. #address-cells = <1>;
  420. #size-cells = <0>;
  421. clocks = <&cmu CLK_SPI1>, <&cmu CLK_SCLK_SPI1>;
  422. clock-names = "spi", "spi_busclk0";
  423. samsung,spi-src-clk = <0>;
  424. pinctrl-names = "default";
  425. pinctrl-0 = <&spi1_bus>;
  426. status = "disabled";
  427. };
  428. i2s2: i2s@13970000 {
  429. compatible = "samsung,s3c6410-i2s";
  430. reg = <0x13970000 0x100>;
  431. interrupts = <0 126 0>;
  432. clocks = <&cmu CLK_I2S>, <&cmu CLK_SCLK_I2S>;
  433. clock-names = "iis", "i2s_opclk0";
  434. dmas = <&pdma0 14>, <&pdma0 13>;
  435. dma-names = "tx", "rx";
  436. pinctrl-0 = <&i2s2_bus>;
  437. pinctrl-names = "default";
  438. status = "disabled";
  439. };
  440. pwm: pwm@139D0000 {
  441. compatible = "samsung,exynos4210-pwm";
  442. reg = <0x139D0000 0x1000>;
  443. interrupts = <0 104 0>, <0 105 0>, <0 106 0>,
  444. <0 107 0>, <0 108 0>;
  445. #pwm-cells = <3>;
  446. status = "disabled";
  447. };
  448. pmu {
  449. compatible = "arm,cortex-a7-pmu";
  450. interrupts = <0 18 0>, <0 19 0>;
  451. };
  452. };
  453. };
  454. #include "exynos3250-pinctrl.dtsi"