rk3188-radxarock.dts 7.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389
  1. // SPDX-License-Identifier: (GPL-2.0+ OR MIT)
  2. /*
  3. * Copyright (c) 2013 Heiko Stuebner <[email protected]>
  4. */
  5. /dts-v1/;
  6. #include <dt-bindings/input/input.h>
  7. #include "rk3188.dtsi"
  8. / {
  9. model = "Radxa Rock";
  10. compatible = "radxa,rock", "rockchip,rk3188";
  11. aliases {
  12. mmc0 = &mmc0;
  13. };
  14. memory@60000000 {
  15. device_type = "memory";
  16. reg = <0x60000000 0x80000000>;
  17. };
  18. gpio-keys {
  19. compatible = "gpio-keys";
  20. autorepeat;
  21. key-power {
  22. gpios = <&gpio0 RK_PA4 GPIO_ACTIVE_LOW>;
  23. linux,code = <KEY_POWER>;
  24. label = "GPIO Key Power";
  25. linux,input-type = <1>;
  26. wakeup-source;
  27. debounce-interval = <100>;
  28. };
  29. };
  30. gpio-leds {
  31. compatible = "gpio-leds";
  32. green_led: led-0 {
  33. label = "rock:green:user1";
  34. gpios = <&gpio0 RK_PB4 GPIO_ACTIVE_LOW>;
  35. default-state = "off";
  36. };
  37. blue_led: led-1 {
  38. label = "rock:blue:user2";
  39. gpios = <&gpio0 RK_PB6 GPIO_ACTIVE_LOW>;
  40. default-state = "off";
  41. };
  42. sleep_led: led-2 {
  43. label = "rock:red:power";
  44. gpios = <&gpio0 RK_PB7 GPIO_ACTIVE_HIGH>;
  45. default-state = "off";
  46. };
  47. };
  48. sound {
  49. compatible = "simple-audio-card";
  50. simple-audio-card,name = "SPDIF";
  51. simple-audio-card,dai-link@1 { /* S/PDIF - S/PDIF */
  52. cpu { sound-dai = <&spdif>; };
  53. codec { sound-dai = <&spdif_out>; };
  54. };
  55. };
  56. spdif_out: spdif-out {
  57. compatible = "linux,spdif-dit";
  58. #sound-dai-cells = <0>;
  59. };
  60. ir_recv: ir-receiver {
  61. compatible = "gpio-ir-receiver";
  62. gpios = <&gpio0 RK_PB2 GPIO_ACTIVE_LOW>;
  63. pinctrl-names = "default";
  64. pinctrl-0 = <&ir_recv_pin>;
  65. };
  66. vcc_otg: usb-otg-regulator {
  67. compatible = "regulator-fixed";
  68. enable-active-high;
  69. gpio = <&gpio2 RK_PD7 GPIO_ACTIVE_HIGH>;
  70. pinctrl-names = "default";
  71. pinctrl-0 = <&otg_vbus_drv>;
  72. regulator-name = "otg-vbus";
  73. regulator-min-microvolt = <5000000>;
  74. regulator-max-microvolt = <5000000>;
  75. regulator-always-on;
  76. regulator-boot-on;
  77. };
  78. vcc_sd0: sdmmc-regulator {
  79. compatible = "regulator-fixed";
  80. regulator-name = "sdmmc-supply";
  81. regulator-min-microvolt = <3300000>;
  82. regulator-max-microvolt = <3300000>;
  83. gpio = <&gpio3 RK_PA1 GPIO_ACTIVE_LOW>;
  84. pinctrl-names = "default";
  85. pinctrl-0 = <&sdmmc_pwr>;
  86. startup-delay-us = <100000>;
  87. vin-supply = <&vcc_io>;
  88. };
  89. vcc_host: usb-host-regulator {
  90. compatible = "regulator-fixed";
  91. enable-active-high;
  92. gpio = <&gpio0 RK_PA3 GPIO_ACTIVE_HIGH>;
  93. pinctrl-names = "default";
  94. pinctrl-0 = <&host_vbus_drv>;
  95. regulator-name = "host-pwr";
  96. regulator-min-microvolt = <5000000>;
  97. regulator-max-microvolt = <5000000>;
  98. regulator-always-on;
  99. regulator-boot-on;
  100. };
  101. vsys: vsys-regulator {
  102. compatible = "regulator-fixed";
  103. regulator-name = "vsys";
  104. regulator-min-microvolt = <5000000>;
  105. regulator-max-microvolt = <5000000>;
  106. regulator-boot-on;
  107. };
  108. };
  109. &emac {
  110. phy = <&phy0>;
  111. phy-supply = <&vcc_rmii>;
  112. pinctrl-names = "default";
  113. pinctrl-0 = <&emac_xfer>, <&emac_mdio>, <&phy_int>;
  114. status = "okay";
  115. mdio {
  116. #address-cells = <1>;
  117. #size-cells = <0>;
  118. phy0: ethernet-phy@0 {
  119. reg = <0>;
  120. interrupt-parent = <&gpio3>;
  121. interrupts = <RK_PD2 IRQ_TYPE_LEVEL_LOW>;
  122. };
  123. };
  124. };
  125. &cpu0 {
  126. cpu-supply = <&vdd_arm>;
  127. };
  128. &cpu1 {
  129. cpu-supply = <&vdd_arm>;
  130. };
  131. &cpu2 {
  132. cpu-supply = <&vdd_arm>;
  133. };
  134. &cpu3 {
  135. cpu-supply = <&vdd_arm>;
  136. };
  137. &gpu {
  138. status = "okay";
  139. };
  140. &i2c1 {
  141. status = "okay";
  142. clock-frequency = <400000>;
  143. rtc@51 {
  144. compatible = "haoyu,hym8563";
  145. reg = <0x51>;
  146. interrupt-parent = <&gpio0>;
  147. interrupts = <RK_PB5 IRQ_TYPE_EDGE_FALLING>;
  148. pinctrl-names = "default";
  149. pinctrl-0 = <&rtc_int>;
  150. #clock-cells = <0>;
  151. clock-output-names = "xin32k";
  152. };
  153. act8846: act8846@5a {
  154. compatible = "active-semi,act8846";
  155. reg = <0x5a>;
  156. status = "okay";
  157. system-power-controller;
  158. pinctrl-names = "default";
  159. pinctrl-0 = <&act8846_dvs0_ctl>;
  160. vp1-supply = <&vsys>;
  161. vp2-supply = <&vsys>;
  162. vp3-supply = <&vsys>;
  163. vp4-supply = <&vsys>;
  164. inl1-supply = <&vcc_io>;
  165. inl2-supply = <&vsys>;
  166. inl3-supply = <&vsys>;
  167. regulators {
  168. vcc_ddr: REG1 {
  169. regulator-name = "VCC_DDR";
  170. regulator-min-microvolt = <1200000>;
  171. regulator-max-microvolt = <1200000>;
  172. regulator-always-on;
  173. };
  174. vdd_log: REG2 {
  175. regulator-name = "VDD_LOG";
  176. regulator-min-microvolt = <1000000>;
  177. regulator-max-microvolt = <1000000>;
  178. regulator-always-on;
  179. };
  180. vdd_arm: REG3 {
  181. regulator-name = "VDD_ARM";
  182. regulator-min-microvolt = <875000>;
  183. regulator-max-microvolt = <1350000>;
  184. regulator-always-on;
  185. };
  186. vcc_io: REG4 {
  187. regulator-name = "VCC_IO";
  188. regulator-min-microvolt = <3300000>;
  189. regulator-max-microvolt = <3300000>;
  190. regulator-always-on;
  191. };
  192. vdd_10: REG5 {
  193. regulator-name = "VDD_10";
  194. regulator-min-microvolt = <1000000>;
  195. regulator-max-microvolt = <1000000>;
  196. regulator-always-on;
  197. };
  198. vdd_hdmi: REG6 {
  199. regulator-name = "VDD_HDMI";
  200. regulator-min-microvolt = <2500000>;
  201. regulator-max-microvolt = <2500000>;
  202. regulator-always-on;
  203. };
  204. vcc18: REG7 {
  205. regulator-name = "VCC_18";
  206. regulator-min-microvolt = <1800000>;
  207. regulator-max-microvolt = <1800000>;
  208. regulator-always-on;
  209. };
  210. vcca_33: REG8 {
  211. regulator-name = "VCCA_33";
  212. regulator-min-microvolt = <3300000>;
  213. regulator-max-microvolt = <3300000>;
  214. regulator-always-on;
  215. };
  216. vcc_rmii: REG9 {
  217. regulator-name = "VCC_RMII";
  218. regulator-min-microvolt = <3300000>;
  219. regulator-max-microvolt = <3300000>;
  220. };
  221. vccio_wl: REG10 {
  222. regulator-name = "VCCIO_WL";
  223. regulator-min-microvolt = <3300000>;
  224. regulator-max-microvolt = <3300000>;
  225. regulator-always-on;
  226. };
  227. vcc_18: REG11 {
  228. regulator-name = "VCC18_IO";
  229. regulator-min-microvolt = <1800000>;
  230. regulator-max-microvolt = <1800000>;
  231. regulator-always-on;
  232. };
  233. vcc28: REG12 {
  234. regulator-name = "VCC_28";
  235. regulator-min-microvolt = <2800000>;
  236. regulator-max-microvolt = <2800000>;
  237. regulator-always-on;
  238. };
  239. };
  240. };
  241. };
  242. &mmc0 {
  243. status = "okay";
  244. pinctrl-names = "default";
  245. pinctrl-0 = <&sd0_clk>, <&sd0_cmd>, <&sd0_cd>, <&sd0_bus4>;
  246. vmmc-supply = <&vcc_sd0>;
  247. bus-width = <4>;
  248. cap-mmc-highspeed;
  249. cap-sd-highspeed;
  250. disable-wp;
  251. };
  252. &pwm1 {
  253. status = "okay";
  254. };
  255. &pwm2 {
  256. status = "okay";
  257. };
  258. &pwm3 {
  259. status = "okay";
  260. };
  261. &pinctrl {
  262. pcfg_output_low: pcfg-output-low {
  263. output-low;
  264. };
  265. act8846 {
  266. act8846_dvs0_ctl: act8846-dvs0-ctl {
  267. rockchip,pins = <3 RK_PD3 RK_FUNC_GPIO &pcfg_output_low>;
  268. };
  269. };
  270. hym8563 {
  271. rtc_int: rtc-int {
  272. rockchip,pins = <0 RK_PA0 RK_FUNC_GPIO &pcfg_pull_up>;
  273. };
  274. };
  275. lan8720a {
  276. phy_int: phy-int {
  277. rockchip,pins = <3 RK_PD2 RK_FUNC_GPIO &pcfg_pull_up>;
  278. };
  279. };
  280. ir-receiver {
  281. ir_recv_pin: ir-recv-pin {
  282. rockchip,pins = <0 RK_PB2 RK_FUNC_GPIO &pcfg_pull_none>;
  283. };
  284. };
  285. sd0 {
  286. sdmmc_pwr: sdmmc-pwr {
  287. rockchip,pins = <3 RK_PA1 RK_FUNC_GPIO &pcfg_pull_none>;
  288. };
  289. };
  290. usb {
  291. host_vbus_drv: host-vbus-drv {
  292. rockchip,pins = <0 RK_PA3 RK_FUNC_GPIO &pcfg_pull_none>;
  293. };
  294. otg_vbus_drv: otg-vbus-drv {
  295. rockchip,pins = <2 RK_PD7 RK_FUNC_GPIO &pcfg_pull_none>;
  296. };
  297. };
  298. };
  299. &spdif {
  300. status = "okay";
  301. };
  302. &uart0 {
  303. status = "okay";
  304. };
  305. &uart1 {
  306. status = "okay";
  307. };
  308. &uart2 {
  309. status = "okay";
  310. };
  311. &uart3 {
  312. status = "okay";
  313. };
  314. &usbphy {
  315. status = "okay";
  316. };
  317. &usb_host {
  318. status = "okay";
  319. };
  320. &usb_otg {
  321. status = "okay";
  322. };
  323. &wdt {
  324. status = "okay";
  325. };