ste-u300.dts 6.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269
  1. /*
  2. * Device Tree for the ST-Ericsson U300 Machine and SoC
  3. */
  4. /dts-v1/;
  5. /include/ "skeleton.dtsi"
  6. / {
  7. model = "ST-Ericsson U300";
  8. compatible = "stericsson,u300";
  9. #address-cells = <1>;
  10. #size-cells = <1>;
  11. chosen {
  12. bootargs = "root=/dev/ram0 console=ttyAMA0,115200n8 earlyprintk";
  13. };
  14. aliases {
  15. serial0 = &uart0;
  16. serial1 = &uart1;
  17. };
  18. memory {
  19. reg = <0x48000000 0x03c00000>;
  20. };
  21. s365 {
  22. compatible = "stericsson,s365";
  23. vana15-supply = <&ab3100_ldo_d_reg>;
  24. };
  25. timer: timer@c0014000 {
  26. compatible = "stericsson,u300-apptimer";
  27. reg = <0xc0014000 0x1000>;
  28. interrupt-parent = <&vica>;
  29. interrupts = <24 25 26 27>;
  30. };
  31. gpio: gpio@c0016000 {
  32. compatible = "stericsson,gpio-coh901";
  33. reg = <0xc0016000 0x1000>;
  34. interrupt-parent = <&vicb>;
  35. interrupts = <0 1 2 18 21 22 23>;
  36. interrupt-names = "gpio0", "gpio1", "gpio2", "gpio3",
  37. "gpio4", "gpio5", "gpio6";
  38. interrupt-controller;
  39. #interrupt-cells = <2>;
  40. gpio-controller;
  41. #gpio-cells = <2>;
  42. };
  43. pinctrl: pinctrl@c0011000 {
  44. compatible = "stericsson,pinctrl-u300";
  45. reg = <0xc0011000 0x1000>;
  46. };
  47. watchdog: watchdog@c0012000 {
  48. compatible = "stericsson,coh901327";
  49. reg = <0xc0012000 0x1000>;
  50. interrupt-parent = <&vicb>;
  51. interrupts = <3>;
  52. };
  53. rtc: rtc@c0017000 {
  54. compatible = "stericsson,coh901331";
  55. reg = <0xc0017000 0x1000>;
  56. interrupt-parent = <&vicb>;
  57. interrupts = <10>;
  58. };
  59. dmac: dma-controller@c00020000 {
  60. compatible = "stericsson,coh901318";
  61. reg = <0xc0020000 0x1000>;
  62. interrupt-parent = <&vica>;
  63. interrupts = <2>;
  64. #dma-cells = <1>;
  65. dma-channels = <40>;
  66. };
  67. /* A NAND flash of 128 MiB */
  68. fsmc: flash@40000000 {
  69. compatible = "stericsson,fsmc-nand";
  70. #address-cells = <1>;
  71. #size-cells = <1>;
  72. reg = <0x9f800000 0x1000>, /* FSMC Register*/
  73. <0x80000000 0x4000>, /* NAND Base DATA */
  74. <0x80020000 0x4000>, /* NAND Base ADDR */
  75. <0x80010000 0x4000>; /* NAND Base CMD */
  76. reg-names = "fsmc_regs", "nand_data", "nand_addr", "nand_cmd";
  77. nand-skip-bbtscan;
  78. partition@0 {
  79. label = "boot records";
  80. reg = <0x0 0x20000>;
  81. };
  82. partition@20000 {
  83. label = "free";
  84. reg = <0x20000 0x7e0000>;
  85. };
  86. partition@800000 {
  87. label = "platform";
  88. reg = <0x800000 0xf800000>;
  89. };
  90. };
  91. i2c0: i2c@c0004000 {
  92. compatible = "st,ddci2c";
  93. reg = <0xc0004000 0x1000>;
  94. interrupt-parent = <&vicb>;
  95. interrupts = <8>;
  96. #address-cells = <1>;
  97. #size-cells = <0>;
  98. ab3100: ab3100@0x48 {
  99. compatible = "stericsson,ab3100";
  100. reg = <0x48>;
  101. interrupt-parent = <&vica>;
  102. interrupts = <0>; /* EXT0 IRQ */
  103. ab3100-regulators {
  104. compatible = "stericsson,ab3100-regulators";
  105. ab3100_ldo_a_reg: ab3100_ldo_a {
  106. regulator-compatible = "ab3100_ldo_a";
  107. startup-delay-us = <200>;
  108. regulator-always-on;
  109. regulator-boot-on;
  110. };
  111. ab3100_ldo_c_reg: ab3100_ldo_c {
  112. regulator-compatible = "ab3100_ldo_c";
  113. startup-delay-us = <200>;
  114. };
  115. ab3100_ldo_d_reg: ab3100_ldo_d {
  116. regulator-compatible = "ab3100_ldo_d";
  117. startup-delay-us = <200>;
  118. };
  119. ab3100_ldo_e_reg: ab3100_ldo_e {
  120. regulator-compatible = "ab3100_ldo_e";
  121. regulator-min-microvolt = <1800000>;
  122. regulator-max-microvolt = <1800000>;
  123. startup-delay-us = <200>;
  124. regulator-always-on;
  125. regulator-boot-on;
  126. };
  127. ab3100_ldo_f_reg: ab3100_ldo_f {
  128. regulator-compatible = "ab3100_ldo_f";
  129. regulator-min-microvolt = <2500000>;
  130. regulator-max-microvolt = <2500000>;
  131. startup-delay-us = <600>;
  132. regulator-always-on;
  133. regulator-boot-on;
  134. };
  135. ab3100_ldo_g_reg: ab3100_ldo_g {
  136. regulator-compatible = "ab3100_ldo_g";
  137. regulator-min-microvolt = <1500000>;
  138. regulator-max-microvolt = <2850000>;
  139. startup-delay-us = <400>;
  140. };
  141. ab3100_ldo_h_reg: ab3100_ldo_h {
  142. regulator-compatible = "ab3100_ldo_h";
  143. regulator-min-microvolt = <1200000>;
  144. regulator-max-microvolt = <2750000>;
  145. startup-delay-us = <200>;
  146. };
  147. ab3100_ldo_k_reg: ab3100_ldo_k {
  148. regulator-compatible = "ab3100_ldo_k";
  149. regulator-min-microvolt = <1800000>;
  150. regulator-max-microvolt = <2750000>;
  151. startup-delay-us = <200>;
  152. };
  153. ab3100_ext_reg: ab3100_ext {
  154. regulator-compatible = "ab3100_ext";
  155. };
  156. ab3100_buck_reg: ab3100_buck {
  157. regulator-compatible = "ab3100_buck";
  158. regulator-min-microvolt = <1200000>;
  159. regulator-max-microvolt = <1800000>;
  160. startup-delay-us = <1000>;
  161. regulator-always-on;
  162. regulator-boot-on;
  163. };
  164. };
  165. };
  166. };
  167. i2c1: i2c@c0005000 {
  168. compatible = "st,ddci2c";
  169. reg = <0xc0005000 0x1000>;
  170. interrupt-parent = <&vicb>;
  171. interrupts = <9>;
  172. #address-cells = <1>;
  173. #size-cells = <0>;
  174. fwcam0: fwcam@0x10 {
  175. reg = <0x10>;
  176. };
  177. fwcam1: fwcam@0x5d {
  178. reg = <0x5d>;
  179. };
  180. };
  181. amba {
  182. compatible = "arm,amba-bus";
  183. #address-cells = <1>;
  184. #size-cells = <1>;
  185. ranges;
  186. vica: interrupt-controller@a0001000 {
  187. compatible = "arm,versatile-vic";
  188. interrupt-controller;
  189. #interrupt-cells = <1>;
  190. reg = <0xa0001000 0x20>;
  191. };
  192. vicb: interrupt-controller@a0002000 {
  193. compatible = "arm,versatile-vic";
  194. interrupt-controller;
  195. #interrupt-cells = <1>;
  196. reg = <0xa0002000 0x20>;
  197. };
  198. uart0: serial@c0013000 {
  199. compatible = "arm,pl011", "arm,primecell";
  200. reg = <0xc0013000 0x1000>;
  201. interrupt-parent = <&vica>;
  202. interrupts = <22>;
  203. dmas = <&dmac 17 &dmac 18>;
  204. dma-names = "tx", "rx";
  205. };
  206. uart1: serial@c0007000 {
  207. compatible = "arm,pl011", "arm,primecell";
  208. reg = <0xc0007000 0x1000>;
  209. interrupt-parent = <&vicb>;
  210. interrupts = <20>;
  211. dmas = <&dmac 38 &dmac 39>;
  212. dma-names = "tx", "rx";
  213. };
  214. mmcsd: mmcsd@c0001000 {
  215. compatible = "arm,pl18x", "arm,primecell";
  216. reg = <0xc0001000 0x1000>;
  217. interrupt-parent = <&vicb>;
  218. interrupts = <6 7>;
  219. max-frequency = <24000000>;
  220. bus-width = <4>; // SD-card slot
  221. mmc-cap-mmc-highspeed;
  222. mmc-cap-sd-highspeed;
  223. cd-gpios = <&gpio 12 0x4>;
  224. cd-inverted;
  225. vmmc-supply = <&ab3100_ldo_g_reg>;
  226. dmas = <&dmac 14>;
  227. dma-names = "rx";
  228. };
  229. spi: ssp@c0006000 {
  230. compatible = "arm,pl022", "arm,primecell";
  231. reg = <0xc0006000 0x1000>;
  232. interrupt-parent = <&vica>;
  233. interrupts = <23>;
  234. dmas = <&dmac 27 &dmac 28>;
  235. dma-names = "tx", "rx";
  236. num-cs = <3>;
  237. #address-cells = <1>;
  238. #size-cells = <0>;
  239. spi-dummy@1 {
  240. compatible = "arm,pl022-dummy";
  241. reg = <1>;
  242. spi-max-frequency = <20000000>;
  243. };
  244. };
  245. };
  246. };