spear320-hmi.dts 5.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306
  1. /*
  2. * DTS file for SPEAr320 Evaluation Baord
  3. *
  4. * Copyright 2012 Shiraz Hashim <shiraz.linux.kernel@gmail.com>
  5. *
  6. * The code contained herein is licensed under the GNU General Public
  7. * License. You may obtain a copy of the GNU General Public License
  8. * Version 2 or later at the following locations:
  9. *
  10. * http://www.opensource.org/licenses/gpl-license.html
  11. * http://www.gnu.org/copyleft/gpl.html
  12. */
  13. /dts-v1/;
  14. /include/ "spear320.dtsi"
  15. / {
  16. model = "ST SPEAr320 HMI Board";
  17. compatible = "st,spear320-hmi", "st,spear320";
  18. #address-cells = <1>;
  19. #size-cells = <1>;
  20. memory {
  21. reg = <0 0x40000000>;
  22. };
  23. ahb {
  24. pinmux@b3000000 {
  25. st,pinmux-mode = <4>;
  26. pinctrl-names = "default";
  27. pinctrl-0 = <&state_default>;
  28. state_default: pinmux {
  29. i2c0 {
  30. st,pins = "i2c0_grp";
  31. st,function = "i2c0";
  32. };
  33. ssp0 {
  34. st,pins = "ssp0_grp";
  35. st,function = "ssp0";
  36. };
  37. uart0 {
  38. st,pins = "uart0_grp";
  39. st,function = "uart0";
  40. };
  41. clcd {
  42. st,pins = "clcd_grp";
  43. st,function = "clcd";
  44. };
  45. fsmc {
  46. st,pins = "fsmc_8bit_grp";
  47. st,function = "fsmc";
  48. };
  49. sdhci {
  50. st,pins = "sdhci_cd_12_grp";
  51. st,function = "sdhci";
  52. };
  53. i2s {
  54. st,pins = "i2s_grp";
  55. st,function = "i2s";
  56. };
  57. uart1 {
  58. st,pins = "uart1_grp";
  59. st,function = "uart1";
  60. };
  61. uart2 {
  62. st,pins = "uart2_grp";
  63. st,function = "uart2";
  64. };
  65. can0 {
  66. st,pins = "can0_grp";
  67. st,function = "can0";
  68. };
  69. can1 {
  70. st,pins = "can1_grp";
  71. st,function = "can1";
  72. };
  73. mii0_1 {
  74. st,pins = "rmii0_1_grp";
  75. st,function = "mii0_1";
  76. };
  77. pwm0_1 {
  78. st,pins = "pwm0_1_pin_37_38_grp";
  79. st,function = "pwm0_1";
  80. };
  81. pwm2 {
  82. st,pins = "pwm2_pin_34_grp";
  83. st,function = "pwm2";
  84. };
  85. };
  86. };
  87. clcd@90000000 {
  88. status = "okay";
  89. };
  90. dma@fc400000 {
  91. status = "okay";
  92. };
  93. ehci@e1800000 {
  94. status = "okay";
  95. };
  96. fsmc: flash@4c000000 {
  97. status = "okay";
  98. partition@0 {
  99. label = "xloader";
  100. reg = <0x0 0x80000>;
  101. };
  102. partition@80000 {
  103. label = "u-boot";
  104. reg = <0x80000 0x140000>;
  105. };
  106. partition@1C0000 {
  107. label = "environment";
  108. reg = <0x1C0000 0x40000>;
  109. };
  110. partition@200000 {
  111. label = "dtb";
  112. reg = <0x200000 0x40000>;
  113. };
  114. partition@240000 {
  115. label = "linux";
  116. reg = <0x240000 0xC00000>;
  117. };
  118. partition@E40000 {
  119. label = "rootfs";
  120. reg = <0xE40000 0x0>;
  121. };
  122. };
  123. gpio_keys {
  124. compatible = "gpio-keys";
  125. #address-cells = <1>;
  126. #size-cells = <0>;
  127. button@1 {
  128. label = "user button 1";
  129. linux,code = <0x100>;
  130. gpios = <&stmpegpio 3 0x4>;
  131. debounce-interval = <20>;
  132. wakeup-source;
  133. };
  134. button@2 {
  135. label = "user button 2";
  136. linux,code = <0x200>;
  137. gpios = <&stmpegpio 2 0x4>;
  138. debounce-interval = <20>;
  139. wakeup-source;
  140. };
  141. };
  142. ohci@e1900000 {
  143. status = "okay";
  144. };
  145. ohci@e2100000 {
  146. status = "okay";
  147. };
  148. pwm: pwm@a8000000 {
  149. status = "okay";
  150. };
  151. sdhci@70000000 {
  152. power-gpio = <&gpiopinctrl 50 1>;
  153. power_always_enb;
  154. status = "okay";
  155. };
  156. smi: flash@fc000000 {
  157. status = "okay";
  158. clock-rate=<50000000>;
  159. flash@f8000000 {
  160. #address-cells = <1>;
  161. #size-cells = <1>;
  162. reg = <0xf8000000 0x800000>;
  163. st,smi-fast-mode;
  164. partition@0 {
  165. label = "xloader";
  166. reg = <0x0 0x10000>;
  167. };
  168. partition@10000 {
  169. label = "u-boot";
  170. reg = <0x10000 0x50000>;
  171. };
  172. partition@60000 {
  173. label = "environment";
  174. reg = <0x60000 0x10000>;
  175. };
  176. partition@70000 {
  177. label = "dtb";
  178. reg = <0x70000 0x10000>;
  179. };
  180. partition@80000 {
  181. label = "linux";
  182. reg = <0x80000 0x310000>;
  183. };
  184. partition@390000 {
  185. label = "rootfs";
  186. reg = <0x390000 0x0>;
  187. };
  188. };
  189. };
  190. spi0: spi@d0100000 {
  191. status = "okay";
  192. };
  193. spi1: spi@a5000000 {
  194. status = "okay";
  195. };
  196. spi2: spi@a6000000 {
  197. status = "okay";
  198. };
  199. usbd@e1100000 {
  200. status = "okay";
  201. };
  202. apb {
  203. gpio0: gpio@fc980000 {
  204. status = "okay";
  205. };
  206. gpio@b3000000 {
  207. status = "okay";
  208. };
  209. i2c0: i2c@d0180000 {
  210. status = "okay";
  211. stmpe811@41 {
  212. compatible = "st,stmpe811";
  213. #address-cells = <1>;
  214. #size-cells = <0>;
  215. reg = <0x41>;
  216. irq-over-gpio;
  217. irq-gpios = <&gpiopinctrl 29 0x4>;
  218. id = <0>;
  219. blocks = <0x5>;
  220. irq-trigger = <0x1>;
  221. stmpegpio: stmpe-gpio {
  222. compatible = "stmpe,gpio";
  223. reg = <0>;
  224. gpio-controller;
  225. #gpio-cells = <2>;
  226. gpio,norequest-mask = <0xF3>;
  227. };
  228. stmpe610-ts {
  229. compatible = "stmpe,ts";
  230. reg = <0>;
  231. ts,sample-time = <4>;
  232. ts,mod-12b = <1>;
  233. ts,ref-sel = <0>;
  234. ts,adc-freq = <1>;
  235. ts,ave-ctrl = <1>;
  236. ts,touch-det-delay = <3>;
  237. ts,settling = <4>;
  238. ts,fraction-z = <7>;
  239. ts,i-drive = <1>;
  240. };
  241. };
  242. };
  243. i2c1: i2c@a7000000 {
  244. status = "okay";
  245. };
  246. rtc@fc900000 {
  247. status = "okay";
  248. };
  249. serial@d0000000 {
  250. status = "okay";
  251. pinctrl-names = "default";
  252. pinctrl-0 = <>;
  253. };
  254. serial@a3000000 {
  255. status = "okay";
  256. pinctrl-names = "default";
  257. pinctrl-0 = <>;
  258. };
  259. serial@a4000000 {
  260. status = "okay";
  261. pinctrl-names = "default";
  262. pinctrl-0 = <>;
  263. };
  264. wdt@fc880000 {
  265. status = "okay";
  266. };
  267. };
  268. };
  269. };