exynos5440.dtsi 5.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271
  1. /*
  2. * SAMSUNG EXYNOS5440 SoC device tree source
  3. *
  4. * Copyright (c) 2012 Samsung Electronics Co., Ltd.
  5. * http://www.samsung.com
  6. *
  7. * This program is free software; you can redistribute it and/or modify
  8. * it under the terms of the GNU General Public License version 2 as
  9. * published by the Free Software Foundation.
  10. */
  11. #include "skeleton.dtsi"
  12. / {
  13. compatible = "samsung,exynos5440";
  14. interrupt-parent = <&gic>;
  15. aliases {
  16. spi0 = &spi_0;
  17. };
  18. clock: clock-controller@0x160000 {
  19. compatible = "samsung,exynos5440-clock";
  20. reg = <0x160000 0x1000>;
  21. #clock-cells = <1>;
  22. };
  23. gic:interrupt-controller@2E0000 {
  24. compatible = "arm,cortex-a15-gic";
  25. #interrupt-cells = <3>;
  26. interrupt-controller;
  27. reg = <0x2E1000 0x1000>,
  28. <0x2E2000 0x1000>,
  29. <0x2E4000 0x2000>,
  30. <0x2E6000 0x2000>;
  31. interrupts = <1 9 0xf04>;
  32. };
  33. cpus {
  34. #address-cells = <1>;
  35. #size-cells = <0>;
  36. cpu@0 {
  37. device_type = "cpu";
  38. compatible = "arm,cortex-a15";
  39. reg = <0>;
  40. };
  41. cpu@1 {
  42. device_type = "cpu";
  43. compatible = "arm,cortex-a15";
  44. reg = <1>;
  45. };
  46. cpu@2 {
  47. device_type = "cpu";
  48. compatible = "arm,cortex-a15";
  49. reg = <2>;
  50. };
  51. cpu@3 {
  52. device_type = "cpu";
  53. compatible = "arm,cortex-a15";
  54. reg = <3>;
  55. };
  56. };
  57. arm-pmu {
  58. compatible = "arm,cortex-a15-pmu", "arm,cortex-a9-pmu";
  59. interrupts = <0 52 4>,
  60. <0 53 4>,
  61. <0 54 4>,
  62. <0 55 4>;
  63. };
  64. timer {
  65. compatible = "arm,cortex-a15-timer",
  66. "arm,armv7-timer";
  67. interrupts = <1 13 0xf08>,
  68. <1 14 0xf08>,
  69. <1 11 0xf08>,
  70. <1 10 0xf08>;
  71. clock-frequency = <50000000>;
  72. };
  73. cpufreq@160000 {
  74. compatible = "samsung,exynos5440-cpufreq";
  75. reg = <0x160000 0x1000>;
  76. interrupts = <0 57 0>;
  77. operating-points = <
  78. /* KHz uV */
  79. 1500000 1100000
  80. 1400000 1075000
  81. 1300000 1050000
  82. 1200000 1025000
  83. 1100000 1000000
  84. 1000000 975000
  85. 900000 950000
  86. 800000 925000
  87. >;
  88. };
  89. serial@B0000 {
  90. compatible = "samsung,exynos4210-uart";
  91. reg = <0xB0000 0x1000>;
  92. interrupts = <0 2 0>;
  93. clocks = <&clock 21>, <&clock 21>;
  94. clock-names = "uart", "clk_uart_baud0";
  95. };
  96. serial@C0000 {
  97. compatible = "samsung,exynos4210-uart";
  98. reg = <0xC0000 0x1000>;
  99. interrupts = <0 3 0>;
  100. clocks = <&clock 21>, <&clock 21>;
  101. clock-names = "uart", "clk_uart_baud0";
  102. };
  103. spi_0: spi@D0000 {
  104. compatible = "samsung,exynos5440-spi";
  105. reg = <0xD0000 0x100>;
  106. interrupts = <0 4 0>;
  107. #address-cells = <1>;
  108. #size-cells = <0>;
  109. samsung,spi-src-clk = <0>;
  110. num-cs = <1>;
  111. clocks = <&clock 21>, <&clock 16>;
  112. clock-names = "spi", "spi_busclk0";
  113. };
  114. pin_ctrl: pinctrl {
  115. compatible = "samsung,exynos5440-pinctrl";
  116. reg = <0xE0000 0x1000>;
  117. interrupts = <0 37 0>, <0 38 0>, <0 39 0>, <0 40 0>,
  118. <0 41 0>, <0 42 0>, <0 43 0>, <0 44 0>;
  119. interrupt-controller;
  120. #interrupt-cells = <2>;
  121. #gpio-cells = <2>;
  122. fan: fan {
  123. samsung,exynos5440-pin-function = <1>;
  124. };
  125. hdd_led0: hdd_led0 {
  126. samsung,exynos5440-pin-function = <2>;
  127. };
  128. hdd_led1: hdd_led1 {
  129. samsung,exynos5440-pin-function = <3>;
  130. };
  131. uart1: uart1 {
  132. samsung,exynos5440-pin-function = <4>;
  133. };
  134. };
  135. i2c@F0000 {
  136. compatible = "samsung,exynos5440-i2c";
  137. reg = <0xF0000 0x1000>;
  138. interrupts = <0 5 0>;
  139. #address-cells = <1>;
  140. #size-cells = <0>;
  141. clocks = <&clock 21>;
  142. clock-names = "i2c";
  143. };
  144. i2c@100000 {
  145. compatible = "samsung,exynos5440-i2c";
  146. reg = <0x100000 0x1000>;
  147. interrupts = <0 6 0>;
  148. #address-cells = <1>;
  149. #size-cells = <0>;
  150. clocks = <&clock 21>;
  151. clock-names = "i2c";
  152. };
  153. watchdog {
  154. compatible = "samsung,s3c2410-wdt";
  155. reg = <0x110000 0x1000>;
  156. interrupts = <0 1 0>;
  157. clocks = <&clock 21>;
  158. clock-names = "watchdog";
  159. };
  160. gmac: ethernet@00230000 {
  161. compatible = "snps,dwmac-3.70a";
  162. reg = <0x00230000 0x8000>;
  163. interrupt-parent = <&gic>;
  164. interrupts = <0 31 4>;
  165. interrupt-names = "macirq";
  166. phy-mode = "sgmii";
  167. clocks = <&clock 25>;
  168. clock-names = "stmmaceth";
  169. };
  170. amba {
  171. #address-cells = <1>;
  172. #size-cells = <1>;
  173. compatible = "arm,amba-bus";
  174. interrupt-parent = <&gic>;
  175. ranges;
  176. };
  177. rtc {
  178. compatible = "samsung,s3c6410-rtc";
  179. reg = <0x130000 0x1000>;
  180. interrupts = <0 17 0>, <0 16 0>;
  181. clocks = <&clock 21>;
  182. clock-names = "rtc";
  183. };
  184. sata@210000 {
  185. compatible = "snps,exynos5440-ahci";
  186. reg = <0x210000 0x10000>;
  187. interrupts = <0 30 0>;
  188. clocks = <&clock 23>;
  189. clock-names = "sata";
  190. };
  191. ohci@220000 {
  192. compatible = "samsung,exynos5440-ohci";
  193. reg = <0x220000 0x1000>;
  194. interrupts = <0 29 0>;
  195. clocks = <&clock 24>;
  196. clock-names = "usbhost";
  197. };
  198. ehci@221000 {
  199. compatible = "samsung,exynos5440-ehci";
  200. reg = <0x221000 0x1000>;
  201. interrupts = <0 29 0>;
  202. clocks = <&clock 24>;
  203. clock-names = "usbhost";
  204. };
  205. pcie@290000 {
  206. compatible = "samsung,exynos5440-pcie", "snps,dw-pcie";
  207. reg = <0x290000 0x1000
  208. 0x270000 0x1000
  209. 0x271000 0x40>;
  210. interrupts = <0 20 0>, <0 21 0>, <0 22 0>;
  211. clocks = <&clock 28>, <&clock 27>;
  212. clock-names = "pcie", "pcie_bus";
  213. #address-cells = <3>;
  214. #size-cells = <2>;
  215. device_type = "pci";
  216. ranges = <0x00000800 0 0x40000000 0x40000000 0 0x00001000 /* configuration space */
  217. 0x81000000 0 0 0x40001000 0 0x00010000 /* downstream I/O */
  218. 0x82000000 0 0x40011000 0x40011000 0 0x1ffef000>; /* non-prefetchable memory */
  219. #interrupt-cells = <1>;
  220. interrupt-map-mask = <0 0 0 0>;
  221. interrupt-map = <0x0 0 &gic 53>;
  222. };
  223. pcie@2a0000 {
  224. compatible = "samsung,exynos5440-pcie", "snps,dw-pcie";
  225. reg = <0x2a0000 0x1000
  226. 0x272000 0x1000
  227. 0x271040 0x40>;
  228. interrupts = <0 23 0>, <0 24 0>, <0 25 0>;
  229. clocks = <&clock 29>, <&clock 27>;
  230. clock-names = "pcie", "pcie_bus";
  231. #address-cells = <3>;
  232. #size-cells = <2>;
  233. device_type = "pci";
  234. ranges = <0x00000800 0 0x60000000 0x60000000 0 0x00001000 /* configuration space */
  235. 0x81000000 0 0 0x60001000 0 0x00010000 /* downstream I/O */
  236. 0x82000000 0 0x60011000 0x60011000 0 0x1ffef000>; /* non-prefetchable memory */
  237. #interrupt-cells = <1>;
  238. interrupt-map-mask = <0 0 0 0>;
  239. interrupt-map = <0x0 0 &gic 56>;
  240. };
  241. };