rk3368-geekbox.dts 5.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279
  1. // SPDX-License-Identifier: (GPL-2.0+ OR MIT)
  2. /*
  3. * Copyright (c) 2016 Andreas Färber
  4. */
  5. /dts-v1/;
  6. #include "rk3368.dtsi"
  7. #include <dt-bindings/input/input.h>
  8. / {
  9. model = "GeekBox";
  10. compatible = "geekbuying,geekbox", "rockchip,rk3368";
  11. chosen {
  12. stdout-path = "serial2:115200n8";
  13. };
  14. memory@0 {
  15. device_type = "memory";
  16. reg = <0x0 0x0 0x0 0x80000000>;
  17. };
  18. ext_gmac: gmac-clk {
  19. compatible = "fixed-clock";
  20. clock-frequency = <125000000>;
  21. clock-output-names = "ext_gmac";
  22. #clock-cells = <0>;
  23. };
  24. ir: ir-receiver {
  25. compatible = "gpio-ir-receiver";
  26. gpios = <&gpio3 RK_PD6 GPIO_ACTIVE_LOW>;
  27. pinctrl-names = "default";
  28. pinctrl-0 = <&ir_int>;
  29. };
  30. keys: gpio-keys {
  31. compatible = "gpio-keys";
  32. pinctrl-names = "default";
  33. pinctrl-0 = <&pwr_key>;
  34. power {
  35. gpios = <&gpio0 RK_PA2 GPIO_ACTIVE_LOW>;
  36. label = "GPIO Power";
  37. linux,code = <KEY_POWER>;
  38. wakeup-source;
  39. };
  40. };
  41. leds: gpio-leds {
  42. compatible = "gpio-leds";
  43. blue {
  44. gpios = <&gpio2 RK_PA2 GPIO_ACTIVE_HIGH>;
  45. label = "geekbox:blue:led";
  46. default-state = "on";
  47. };
  48. red {
  49. gpios = <&gpio2 RK_PA3 GPIO_ACTIVE_HIGH>;
  50. label = "geekbox:red:led";
  51. default-state = "off";
  52. };
  53. };
  54. vcc_sys: vcc-sys-regulator {
  55. compatible = "regulator-fixed";
  56. regulator-name = "vcc_sys";
  57. regulator-min-microvolt = <5000000>;
  58. regulator-max-microvolt = <5000000>;
  59. regulator-always-on;
  60. regulator-boot-on;
  61. };
  62. };
  63. &emmc {
  64. status = "okay";
  65. bus-width = <8>;
  66. cap-mmc-highspeed;
  67. clock-frequency = <150000000>;
  68. disable-wp;
  69. non-removable;
  70. vmmc-supply = <&vcc_io>;
  71. vqmmc-supply = <&vcc18_flash>;
  72. pinctrl-names = "default";
  73. pinctrl-0 = <&emmc_clk>, <&emmc_cmd>, <&emmc_bus8>;
  74. };
  75. &gmac {
  76. status = "okay";
  77. phy-supply = <&vcc_lan>;
  78. phy-mode = "rgmii";
  79. clock_in_out = "input";
  80. assigned-clocks = <&cru SCLK_MAC>;
  81. assigned-clock-parents = <&ext_gmac>;
  82. pinctrl-names = "default";
  83. pinctrl-0 = <&rgmii_pins>;
  84. tx_delay = <0x30>;
  85. rx_delay = <0x10>;
  86. };
  87. &i2c0 {
  88. status = "okay";
  89. rk808: pmic@1b {
  90. compatible = "rockchip,rk808";
  91. reg = <0x1b>;
  92. pinctrl-names = "default";
  93. pinctrl-0 = <&pmic_int>, <&pmic_sleep>;
  94. interrupt-parent = <&gpio0>;
  95. interrupts = <RK_PA5 IRQ_TYPE_LEVEL_LOW>;
  96. rockchip,system-power-controller;
  97. vcc1-supply = <&vcc_sys>;
  98. vcc2-supply = <&vcc_sys>;
  99. vcc3-supply = <&vcc_sys>;
  100. vcc4-supply = <&vcc_sys>;
  101. vcc6-supply = <&vcc_sys>;
  102. vcc7-supply = <&vcc_sys>;
  103. vcc8-supply = <&vcc_io>;
  104. vcc9-supply = <&vcc_sys>;
  105. vcc10-supply = <&vcc_sys>;
  106. vcc11-supply = <&vcc_sys>;
  107. vcc12-supply = <&vcc_io>;
  108. clock-output-names = "xin32k", "rk808-clkout2";
  109. #clock-cells = <1>;
  110. regulators {
  111. vdd_cpu: DCDC_REG1 {
  112. regulator-always-on;
  113. regulator-boot-on;
  114. regulator-min-microvolt = <700000>;
  115. regulator-max-microvolt = <1500000>;
  116. regulator-name = "vdd_cpu";
  117. };
  118. vdd_log: DCDC_REG2 {
  119. regulator-always-on;
  120. regulator-boot-on;
  121. regulator-min-microvolt = <700000>;
  122. regulator-max-microvolt = <1500000>;
  123. regulator-name = "vdd_log";
  124. };
  125. vcc_ddr: DCDC_REG3 {
  126. regulator-always-on;
  127. regulator-boot-on;
  128. regulator-name = "vcc_ddr";
  129. };
  130. vcc_io: DCDC_REG4 {
  131. regulator-always-on;
  132. regulator-boot-on;
  133. regulator-min-microvolt = <3300000>;
  134. regulator-max-microvolt = <3300000>;
  135. regulator-name = "vcc_io";
  136. };
  137. vcc18_flash: LDO_REG1 {
  138. regulator-always-on;
  139. regulator-boot-on;
  140. regulator-min-microvolt = <1800000>;
  141. regulator-max-microvolt = <1800000>;
  142. regulator-name = "vcc18_flash";
  143. };
  144. vcc33_lcd: LDO_REG2 {
  145. regulator-always-on;
  146. regulator-boot-on;
  147. regulator-min-microvolt = <3300000>;
  148. regulator-max-microvolt = <3300000>;
  149. regulator-name = "vcc33_lcd";
  150. };
  151. vdd_10: LDO_REG3 {
  152. regulator-always-on;
  153. regulator-boot-on;
  154. regulator-min-microvolt = <1000000>;
  155. regulator-max-microvolt = <1000000>;
  156. regulator-name = "vdd_10";
  157. };
  158. vcca_18: LDO_REG4 {
  159. regulator-boot-on;
  160. regulator-min-microvolt = <1800000>;
  161. regulator-max-microvolt = <1800000>;
  162. regulator-name = "vcca_18";
  163. };
  164. vccio_sd: LDO_REG5 {
  165. regulator-always-on;
  166. regulator-boot-on;
  167. regulator-min-microvolt = <1800000>;
  168. regulator-max-microvolt = <3300000>;
  169. regulator-name = "vccio_sd";
  170. };
  171. vdd10_lcd: LDO_REG6 {
  172. regulator-always-on;
  173. regulator-boot-on;
  174. regulator-min-microvolt = <1000000>;
  175. regulator-max-microvolt = <1000000>;
  176. regulator-name = "vdd10_lcd";
  177. };
  178. vcc_18: LDO_REG7 {
  179. regulator-always-on;
  180. regulator-boot-on;
  181. regulator-min-microvolt = <1800000>;
  182. regulator-max-microvolt = <1800000>;
  183. regulator-name = "vcc_18";
  184. };
  185. vcc18_lcd: LDO_REG8 {
  186. regulator-always-on;
  187. regulator-boot-on;
  188. regulator-min-microvolt = <1800000>;
  189. regulator-max-microvolt = <1800000>;
  190. regulator-name = "vcc18_lcd";
  191. };
  192. vcc_sd: SWITCH_REG1 {
  193. regulator-name = "vcc_sd";
  194. };
  195. vcc_lan: SWITCH_REG2 {
  196. regulator-always-on;
  197. regulator-boot-on;
  198. regulator-name = "vcc_lan";
  199. };
  200. };
  201. };
  202. };
  203. &pinctrl {
  204. ir {
  205. ir_int: ir-int {
  206. rockchip,pins = <3 30 RK_FUNC_GPIO &pcfg_pull_none>;
  207. };
  208. };
  209. keys {
  210. pwr_key: pwr-key {
  211. rockchip,pins = <0 2 RK_FUNC_GPIO &pcfg_pull_none>;
  212. };
  213. };
  214. pmic {
  215. pmic_sleep: pmic-sleep {
  216. rockchip,pins = <0 0 RK_FUNC_2 &pcfg_pull_none>;
  217. };
  218. pmic_int: pmic-int {
  219. rockchip,pins = <0 5 RK_FUNC_GPIO &pcfg_pull_up>;
  220. };
  221. };
  222. };
  223. &tsadc {
  224. status = "okay";
  225. rockchip,hw-tshut-mode = <0>; /* CRU */
  226. rockchip,hw-tshut-polarity = <1>; /* high */
  227. };
  228. &uart2 {
  229. status = "okay";
  230. };
  231. &usb_host0_ehci {
  232. status = "okay";
  233. };
  234. &usb_otg {
  235. status = "okay";
  236. };
  237. &wdt {
  238. status = "okay";
  239. };