rk3188-radxarock.dts 6.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307
  1. /*
  2. * Copyright (c) 2013 Heiko Stuebner <heiko@sntech.de>
  3. *
  4. * This program is free software; you can redistribute it and/or modify
  5. * it under the terms of the GNU General Public License as published by
  6. * the Free Software Foundation; either version 2 of the License, or
  7. * (at your option) any later version.
  8. *
  9. * This program is distributed in the hope that it will be useful,
  10. * but WITHOUT ANY WARRANTY; without even the implied warranty of
  11. * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
  12. * GNU General Public License for more details.
  13. */
  14. /dts-v1/;
  15. #include "rk3188.dtsi"
  16. / {
  17. model = "Radxa Rock";
  18. compatible = "radxa,rock", "rockchip,rk3188";
  19. memory {
  20. reg = <0x60000000 0x80000000>;
  21. };
  22. gpio-keys {
  23. compatible = "gpio-keys";
  24. #address-cells = <1>;
  25. #size-cells = <0>;
  26. autorepeat;
  27. button@0 {
  28. gpios = <&gpio0 4 GPIO_ACTIVE_LOW>;
  29. linux,code = <116>;
  30. label = "GPIO Key Power";
  31. linux,input-type = <1>;
  32. gpio-key,wakeup = <1>;
  33. debounce-interval = <100>;
  34. };
  35. };
  36. gpio-leds {
  37. compatible = "gpio-leds";
  38. green {
  39. gpios = <&gpio0 12 GPIO_ACTIVE_LOW>;
  40. default-state = "off";
  41. };
  42. yellow {
  43. gpios = <&gpio0 14 GPIO_ACTIVE_LOW>;
  44. default-state = "off";
  45. };
  46. sleep {
  47. gpios = <&gpio0 15 0>;
  48. default-state = "off";
  49. };
  50. };
  51. ir_recv: gpio-ir-receiver {
  52. compatible = "gpio-ir-receiver";
  53. gpios = <&gpio0 10 1>;
  54. pinctrl-names = "default";
  55. pinctrl-0 = <&ir_recv_pin>;
  56. };
  57. vcc_otg: usb-otg-regulator {
  58. compatible = "regulator-fixed";
  59. enable-active-high;
  60. gpio = <&gpio2 31 GPIO_ACTIVE_HIGH>;
  61. pinctrl-names = "default";
  62. pinctrl-0 = <&otg_vbus_drv>;
  63. regulator-name = "otg-vbus";
  64. regulator-min-microvolt = <5000000>;
  65. regulator-max-microvolt = <5000000>;
  66. regulator-always-on;
  67. regulator-boot-on;
  68. };
  69. vcc_sd0: sdmmc-regulator {
  70. compatible = "regulator-fixed";
  71. regulator-name = "sdmmc-supply";
  72. regulator-min-microvolt = <3300000>;
  73. regulator-max-microvolt = <3300000>;
  74. gpio = <&gpio3 1 GPIO_ACTIVE_LOW>;
  75. startup-delay-us = <100000>;
  76. vin-supply = <&vcc_io>;
  77. };
  78. vcc_host: usb-host-regulator {
  79. compatible = "regulator-fixed";
  80. enable-active-high;
  81. gpio = <&gpio0 3 GPIO_ACTIVE_HIGH>;
  82. pinctrl-names = "default";
  83. pinctrl-0 = <&host_vbus_drv>;
  84. regulator-name = "host-pwr";
  85. regulator-min-microvolt = <5000000>;
  86. regulator-max-microvolt = <5000000>;
  87. regulator-always-on;
  88. regulator-boot-on;
  89. };
  90. };
  91. &emac {
  92. status = "okay";
  93. pinctrl-names = "default";
  94. pinctrl-0 = <&emac_xfer>, <&emac_mdio>, <&phy_int>;
  95. phy = <&phy0>;
  96. phy-supply = <&vcc_rmii>;
  97. phy0: ethernet-phy@0 {
  98. reg = <0>;
  99. interrupt-parent = <&gpio3>;
  100. interrupts = <26 IRQ_TYPE_LEVEL_LOW>;
  101. };
  102. };
  103. &i2c1 {
  104. status = "okay";
  105. clock-frequency = <400000>;
  106. rtc@51 {
  107. compatible = "haoyu,hym8563";
  108. reg = <0x51>;
  109. interrupt-parent = <&gpio0>;
  110. interrupts = <13 IRQ_TYPE_EDGE_FALLING>;
  111. pinctrl-names = "default";
  112. pinctrl-0 = <&rtc_int>;
  113. #clock-cells = <0>;
  114. clock-output-names = "xin32k";
  115. };
  116. act8846: act8846@5a {
  117. compatible = "active-semi,act8846";
  118. reg = <0x5a>;
  119. status = "okay";
  120. pinctrl-names = "default";
  121. pinctrl-0 = <&act8846_dvs0_ctl>;
  122. regulators {
  123. vcc_ddr: REG1 {
  124. regulator-name = "VCC_DDR";
  125. regulator-min-microvolt = <1200000>;
  126. regulator-max-microvolt = <1200000>;
  127. regulator-always-on;
  128. };
  129. vdd_log: REG2 {
  130. regulator-name = "VDD_LOG";
  131. regulator-min-microvolt = <1000000>;
  132. regulator-max-microvolt = <1000000>;
  133. regulator-always-on;
  134. };
  135. vdd_arm: REG3 {
  136. regulator-name = "VDD_ARM";
  137. regulator-min-microvolt = <875000>;
  138. regulator-max-microvolt = <1300000>;
  139. regulator-always-on;
  140. };
  141. vcc_io: REG4 {
  142. regulator-name = "VCC_IO";
  143. regulator-min-microvolt = <3300000>;
  144. regulator-max-microvolt = <3300000>;
  145. regulator-always-on;
  146. };
  147. vdd_10: REG5 {
  148. regulator-name = "VDD_10";
  149. regulator-min-microvolt = <1000000>;
  150. regulator-max-microvolt = <1000000>;
  151. regulator-always-on;
  152. };
  153. vdd_hdmi: REG6 {
  154. regulator-name = "VDD_HDMI";
  155. regulator-min-microvolt = <2500000>;
  156. regulator-max-microvolt = <2500000>;
  157. regulator-always-on;
  158. };
  159. vcc18: REG7 {
  160. regulator-name = "VCC_18";
  161. regulator-min-microvolt = <1800000>;
  162. regulator-max-microvolt = <1800000>;
  163. regulator-always-on;
  164. };
  165. vcca_33: REG8 {
  166. regulator-name = "VCCA_33";
  167. regulator-min-microvolt = <3300000>;
  168. regulator-max-microvolt = <3300000>;
  169. regulator-always-on;
  170. };
  171. vcc_rmii: REG9 {
  172. regulator-name = "VCC_RMII";
  173. regulator-min-microvolt = <3300000>;
  174. regulator-max-microvolt = <3300000>;
  175. };
  176. vccio_wl: REG10 {
  177. regulator-name = "VCCIO_WL";
  178. regulator-min-microvolt = <3300000>;
  179. regulator-max-microvolt = <3300000>;
  180. regulator-always-on;
  181. };
  182. vcc_18: REG11 {
  183. regulator-name = "VCC18_IO";
  184. regulator-min-microvolt = <1800000>;
  185. regulator-max-microvolt = <1800000>;
  186. regulator-always-on;
  187. };
  188. vcc28: REG12 {
  189. regulator-name = "VCC_28";
  190. regulator-min-microvolt = <2800000>;
  191. regulator-max-microvolt = <2800000>;
  192. regulator-always-on;
  193. };
  194. };
  195. };
  196. };
  197. &mmc0 {
  198. num-slots = <1>;
  199. status = "okay";
  200. pinctrl-names = "default";
  201. pinctrl-0 = <&sd0_clk>, <&sd0_cmd>, <&sd0_cd>, <&sd0_bus4>;
  202. vmmc-supply = <&vcc_sd0>;
  203. bus-width = <4>;
  204. disable-wp;
  205. };
  206. &pinctrl {
  207. pcfg_output_low: pcfg-output-low {
  208. output-low;
  209. };
  210. act8846 {
  211. act8846_dvs0_ctl: act8846-dvs0-ctl {
  212. rockchip,pins = <RK_GPIO3 27 RK_FUNC_GPIO &pcfg_output_low>;
  213. };
  214. };
  215. hym8563 {
  216. rtc_int: rtc-int {
  217. rockchip,pins = <RK_GPIO0 0 RK_FUNC_GPIO &pcfg_pull_up>;
  218. };
  219. };
  220. lan8720a {
  221. phy_int: phy-int {
  222. rockchip,pins = <RK_GPIO3 26 RK_FUNC_GPIO &pcfg_pull_up>;
  223. };
  224. };
  225. ir-receiver {
  226. ir_recv_pin: ir-recv-pin {
  227. rockchip,pins = <RK_GPIO0 10 RK_FUNC_GPIO &pcfg_pull_none>;
  228. };
  229. };
  230. usb {
  231. host_vbus_drv: host-vbus-drv {
  232. rockchip,pins = <0 3 RK_FUNC_GPIO &pcfg_pull_none>;
  233. };
  234. otg_vbus_drv: otg-vbus-drv {
  235. rockchip,pins = <2 31 RK_FUNC_GPIO &pcfg_pull_none>;
  236. };
  237. };
  238. };
  239. &uart0 {
  240. status = "okay";
  241. };
  242. &uart1 {
  243. status = "okay";
  244. };
  245. &uart2 {
  246. status = "okay";
  247. };
  248. &uart3 {
  249. status = "okay";
  250. };
  251. &usb_host {
  252. status = "okay";
  253. };
  254. &usb_otg {
  255. status = "okay";
  256. };
  257. &wdt {
  258. status = "okay";
  259. };