rk3328-a1.dts 6.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367
  1. // SPDX-License-Identifier: (GPL-2.0-only OR MIT)
  2. // Copyright (c) 2017-2019 Arm Ltd.
  3. /dts-v1/;
  4. #include "rk3328.dtsi"
  5. / {
  6. model = "Beelink A1";
  7. compatible = "azw,beelink-a1", "rockchip,rk3328";
  8. aliases {
  9. mmc0 = &sdmmc;
  10. mmc1 = &emmc;
  11. };
  12. /*
  13. * UART pins, as viewed with bottom of case removed:
  14. *
  15. * Front
  16. * /-------
  17. * L / o <- Gnd
  18. * e / o <-- Rx
  19. * f / o <--- Tx
  20. * t / o <---- +3.3v
  21. * |
  22. */
  23. chosen {
  24. stdout-path = "serial2:1500000n8";
  25. };
  26. gmac_clkin: external-gmac-clock {
  27. compatible = "fixed-clock";
  28. clock-frequency = <125000000>;
  29. clock-output-names = "gmac_clkin";
  30. #clock-cells = <0>;
  31. };
  32. vcc_host_5v: usb3-current-switch {
  33. compatible = "regulator-fixed";
  34. enable-active-high;
  35. gpio = <&gpio0 RK_PA0 GPIO_ACTIVE_HIGH>;
  36. pinctrl-names = "default";
  37. pinctrl-0 = <&usb30_host_drv>;
  38. regulator-name = "vcc_host_5v";
  39. vin-supply = <&vcc_sys>;
  40. };
  41. vcc_sys: vcc-sys {
  42. compatible = "regulator-fixed";
  43. regulator-name = "vcc_sys";
  44. regulator-min-microvolt = <5000000>;
  45. regulator-max-microvolt = <5000000>;
  46. };
  47. ir-receiver {
  48. compatible = "gpio-ir-receiver";
  49. gpios = <&gpio2 RK_PA2 GPIO_ACTIVE_LOW>;
  50. linux,rc-map-name = "rc-beelink-gs1";
  51. };
  52. };
  53. &analog_sound {
  54. simple-audio-card,name = "Analog A/V";
  55. status = "okay";
  56. };
  57. &codec {
  58. mute-gpios = <&grf_gpio 0 GPIO_ACTIVE_LOW>;
  59. status = "okay";
  60. };
  61. &cpu0 {
  62. cpu-supply = <&vdd_arm>;
  63. };
  64. &cpu1 {
  65. cpu-supply = <&vdd_arm>;
  66. };
  67. &cpu2 {
  68. cpu-supply = <&vdd_arm>;
  69. };
  70. &cpu3 {
  71. cpu-supply = <&vdd_arm>;
  72. };
  73. &emmc {
  74. bus-width = <8>;
  75. cap-mmc-highspeed;
  76. mmc-ddr-1_8v;
  77. mmc-hs200-1_8v;
  78. no-sd;
  79. no-sdio;
  80. non-removable;
  81. pinctrl-names = "default";
  82. pinctrl-0 = <&emmc_clk &emmc_cmd &emmc_bus8>;
  83. vmmc-supply = <&vcc_io>;
  84. vqmmc-supply = <&vcc18_emmc>;
  85. status = "okay";
  86. };
  87. &gmac2io {
  88. assigned-clocks = <&cru SCLK_MAC2IO>, <&cru SCLK_MAC2IO_EXT>;
  89. assigned-clock-parents = <&gmac_clkin>, <&gmac_clkin>;
  90. clock_in_out = "input";
  91. phy-handle = <&rtl8211f>;
  92. phy-mode = "rgmii";
  93. phy-supply = <&vcc_io>;
  94. pinctrl-names = "default";
  95. pinctrl-0 = <&rgmiim1_pins>;
  96. snps,aal;
  97. snps,pbl = <0x4>;
  98. tx_delay = <0x26>;
  99. rx_delay = <0x11>;
  100. status = "okay";
  101. mdio {
  102. compatible = "snps,dwmac-mdio";
  103. #address-cells = <1>;
  104. #size-cells = <0>;
  105. rtl8211f: ethernet-phy@0 {
  106. reg = <0>;
  107. reset-assert-us = <10000>;
  108. reset-deassert-us = <30000>;
  109. reset-gpios = <&gpio2 RK_PC1 GPIO_ACTIVE_LOW>;
  110. };
  111. };
  112. };
  113. &gpu {
  114. mali-supply = <&vdd_logic>;
  115. };
  116. &hdmi {
  117. status = "okay";
  118. };
  119. &hdmiphy {
  120. status = "okay";
  121. };
  122. &hdmi_sound {
  123. status = "okay";
  124. };
  125. &i2c1 {
  126. clock-frequency = <1000000>;
  127. i2c-scl-falling-time-ns = <5>;
  128. i2c-scl-rising-time-ns = <83>;
  129. status = "okay";
  130. pmic@18 {
  131. compatible = "rockchip,rk805";
  132. reg = <0x18>;
  133. interrupt-parent = <&gpio2>;
  134. interrupts = <RK_PA6 IRQ_TYPE_LEVEL_LOW>;
  135. pinctrl-names = "default";
  136. pinctrl-0 = <&pmic_int_l>;
  137. rockchip,system-power-controller;
  138. wakeup-source;
  139. #clock-cells = <0>;
  140. vcc1-supply = <&vcc_sys>;
  141. vcc2-supply = <&vcc_sys>;
  142. vcc3-supply = <&vcc_sys>;
  143. vcc4-supply = <&vcc_sys>;
  144. vcc5-supply = <&vcc_io>;
  145. vcc6-supply = <&vcc_io>;
  146. regulators {
  147. vdd_logic: DCDC_REG1 {
  148. regulator-name = "vdd_logic";
  149. regulator-min-microvolt = <700000>;
  150. regulator-max-microvolt = <1350000>;
  151. regulator-always-on;
  152. regulator-boot-on;
  153. regulator-state-mem {
  154. regulator-on-in-suspend;
  155. regulator-suspend-microvolt = <1000000>;
  156. };
  157. };
  158. vdd_arm: DCDC_REG2 {
  159. regulator-name = "vdd_arm";
  160. regulator-min-microvolt = <700000>;
  161. regulator-max-microvolt = <1350000>;
  162. regulator-always-on;
  163. regulator-boot-on;
  164. regulator-state-mem {
  165. regulator-on-in-suspend;
  166. regulator-suspend-microvolt = <950000>;
  167. };
  168. };
  169. vcc_ddr: DCDC_REG3 {
  170. regulator-name = "vcc_ddr";
  171. regulator-always-on;
  172. regulator-boot-on;
  173. regulator-state-mem {
  174. regulator-on-in-suspend;
  175. };
  176. };
  177. vcc_io: DCDC_REG4 {
  178. regulator-name = "vcc_io";
  179. regulator-min-microvolt = <3300000>;
  180. regulator-max-microvolt = <3300000>;
  181. regulator-always-on;
  182. regulator-boot-on;
  183. regulator-state-mem {
  184. regulator-on-in-suspend;
  185. regulator-suspend-microvolt = <3300000>;
  186. };
  187. };
  188. vdd_18: LDO_REG1 {
  189. regulator-name = "vdd_18";
  190. regulator-min-microvolt = <1800000>;
  191. regulator-max-microvolt = <1800000>;
  192. regulator-always-on;
  193. regulator-boot-on;
  194. regulator-state-mem {
  195. regulator-on-in-suspend;
  196. regulator-suspend-microvolt = <1800000>;
  197. };
  198. };
  199. vcc18_emmc: LDO_REG2 {
  200. regulator-name = "vcc_18emmc";
  201. regulator-min-microvolt = <1800000>;
  202. regulator-max-microvolt = <1800000>;
  203. regulator-always-on;
  204. regulator-boot-on;
  205. regulator-state-mem {
  206. regulator-on-in-suspend;
  207. regulator-suspend-microvolt = <1800000>;
  208. };
  209. };
  210. vdd_11: LDO_REG3 {
  211. regulator-name = "vdd_11";
  212. regulator-min-microvolt = <1100000>;
  213. regulator-max-microvolt = <1100000>;
  214. regulator-always-on;
  215. regulator-boot-on;
  216. regulator-state-mem {
  217. regulator-on-in-suspend;
  218. regulator-suspend-microvolt = <1100000>;
  219. };
  220. };
  221. };
  222. };
  223. };
  224. &i2s0 {
  225. status = "okay";
  226. };
  227. &i2s1 {
  228. status = "okay";
  229. };
  230. &io_domains {
  231. vccio1-supply = <&vcc_io>;
  232. vccio2-supply = <&vcc18_emmc>;
  233. vccio3-supply = <&vcc_io>;
  234. vccio4-supply = <&vdd_18>;
  235. vccio5-supply = <&vcc_io>;
  236. vccio6-supply = <&vdd_18>;
  237. pmuio-supply = <&vcc_io>;
  238. status = "okay";
  239. };
  240. &pinctrl {
  241. pmic {
  242. pmic_int_l: pmic-int-l {
  243. rockchip,pins = <2 RK_PA6 RK_FUNC_GPIO &pcfg_pull_up>;
  244. };
  245. };
  246. usb3 {
  247. usb30_host_drv: usb30-host-drv {
  248. rockchip,pins = <0 RK_PA0 RK_FUNC_GPIO &pcfg_pull_none>;
  249. };
  250. };
  251. wifi {
  252. bt_dis: bt-dis {
  253. rockchip,pins = <2 RK_PC5 RK_FUNC_GPIO &pcfg_output_low>;
  254. };
  255. bt_wake_host: bt-wake-host {
  256. rockchip,pins = <2 RK_PC0 RK_FUNC_GPIO &pcfg_pull_up>;
  257. };
  258. chip_en: chip-en {
  259. rockchip,pins = <2 RK_PC3 RK_FUNC_GPIO &pcfg_output_low>;
  260. };
  261. host_wake_bt: host-wake-bt {
  262. rockchip,pins = <2 RK_PB7 RK_FUNC_GPIO &pcfg_output_high>;
  263. };
  264. wl_dis: wl-dis {
  265. rockchip,pins = <3 RK_PB0 RK_FUNC_GPIO &pcfg_output_low>;
  266. };
  267. wl_wake_host: wl-wake-host {
  268. rockchip,pins = <3 RK_PA1 RK_FUNC_GPIO &pcfg_pull_up>;
  269. };
  270. };
  271. };
  272. &sdmmc {
  273. bus-width = <4>;
  274. cap-mmc-highspeed;
  275. cap-sd-highspeed;
  276. disable-wp;
  277. pinctrl-names = "default";
  278. pinctrl-0 = <&sdmmc0_clk &sdmmc0_cmd &sdmmc0_dectn &sdmmc0_bus4>;
  279. vmmc-supply = <&vcc_io>;
  280. vqmmc-supply = <&vcc_io>;
  281. status = "okay";
  282. };
  283. &tsadc {
  284. rockchip,hw-tshut-mode = <0>;
  285. rockchip,hw-tshut-polarity = <0>;
  286. status = "okay";
  287. };
  288. &uart2 {
  289. status = "okay";
  290. };
  291. &u2phy {
  292. status = "okay";
  293. };
  294. &u2phy_host {
  295. status = "okay";
  296. };
  297. &u2phy_otg {
  298. status = "okay";
  299. };
  300. &usb20_otg {
  301. dr_mode = "host";
  302. status = "okay";
  303. };
  304. &usb_host0_ehci {
  305. pinctrl-names = "default";
  306. pinctrl-0 = <&bt_dis &bt_wake_host &chip_en &host_wake_bt &wl_dis &wl_wake_host>;
  307. status = "okay";
  308. };
  309. &vop {
  310. status = "okay";
  311. };
  312. &vop_mmu {
  313. status = "okay";
  314. };