1 // SPDX-License-Identifier: (GPL-2.0+ OR MIT)
3 * Copyright (c) 2019 Fuzhou Rockchip Electronics Co., Ltd
4 * Copyright (c) 2019 Vamrs Limited
5 * Copyright (c) 2019 Amarula Solutions(India)
8 #include <dt-bindings/gpio/gpio.h>
9 #include <dt-bindings/pinctrl/rockchip.h>
10 #include <dt-bindings/pwm/pwm.h>
13 compatible = "vamrs,rk3399pro-vmarc-som", "rockchip,rk3399pro";
15 vcc3v3_pcie: vcc-pcie-regulator {
16 compatible = "regulator-fixed";
18 gpio = <&gpio4 RK_PD4 GPIO_ACTIVE_HIGH>;
19 pinctrl-names = "default";
20 pinctrl-0 = <&pcie_pwr>;
21 regulator-name = "vcc3v3_pcie";
24 vin-supply = <&vcc5v0_sys>;
29 cpu-supply = <&vdd_cpu_l>;
33 cpu-supply = <&vdd_cpu_l>;
37 cpu-supply = <&vdd_cpu_l>;
41 cpu-supply = <&vdd_cpu_l>;
49 assigned-clocks = <&cru SCLK_RMII_SRC>;
50 phy-supply = <&vcc_lan>;
51 snps,reset-gpio = <&gpio3 RK_PB7 GPIO_ACTIVE_LOW>;
55 ddc-i2c-bus = <&i2c3>;
56 pinctrl-names = "default";
57 pinctrl-0 = <&hdmi_cec>;
61 clock-frequency = <400000>;
62 i2c-scl-falling-time-ns = <30>;
63 i2c-scl-rising-time-ns = <180>;
67 compatible = "rockchip,rk809";
69 interrupt-parent = <&gpio1>;
70 interrupts = <RK_PC2 IRQ_TYPE_LEVEL_LOW>;
72 clock-output-names = "rk808-clkout1", "rk808-clkout2";
73 pinctrl-names = "default";
74 pinctrl-0 = <&pmic_int_l>;
75 rockchip,system-power-controller;
78 vcc1-supply = <&vcc5v0_sys>;
79 vcc2-supply = <&vcc5v0_sys>;
80 vcc3-supply = <&vcc5v0_sys>;
81 vcc4-supply = <&vcc5v0_sys>;
82 vcc5-supply = <&vcc_buck5>;
83 vcc6-supply = <&vcc_buck5>;
84 vcc7-supply = <&vcc5v0_sys>;
85 vcc8-supply = <&vcc3v3_sys>;
86 vcc9-supply = <&vcc5v0_sys>;
90 regulator-name = "vdd_log";
93 regulator-min-microvolt = <750000>;
94 regulator-max-microvolt = <1350000>;
95 regulator-initial-mode = <0x2>;
97 regulator-off-in-suspend;
98 regulator-suspend-microvolt = <900000>;
102 vdd_cpu_l: DCDC_REG2 {
103 regulator-name = "vdd_cpu_l";
106 regulator-min-microvolt = <750000>;
107 regulator-max-microvolt = <1350000>;
108 regulator-ramp-delay = <6001>;
109 regulator-initial-mode = <0x2>;
110 regulator-state-mem {
111 regulator-off-in-suspend;
116 regulator-name = "vcc_ddr";
119 regulator-initial-mode = <0x2>;
120 regulator-state-mem {
121 regulator-on-in-suspend;
125 vcc3v3_sys: DCDC_REG4 {
126 regulator-name = "vcc3v3_sys";
129 regulator-min-microvolt = <3300000>;
130 regulator-max-microvolt = <3300000>;
131 regulator-initial-mode = <0x2>;
132 regulator-state-mem {
133 regulator-on-in-suspend;
134 regulator-suspend-microvolt = <3300000>;
138 vcc_buck5: DCDC_REG5 {
139 regulator-name = "vcc_buck5";
142 regulator-min-microvolt = <2200000>;
143 regulator-max-microvolt = <2200000>;
144 regulator-state-mem {
145 regulator-on-in-suspend;
146 regulator-suspend-microvolt = <2200000>;
151 regulator-name = "vcca_0v9";
154 regulator-min-microvolt = <900000>;
155 regulator-max-microvolt = <900000>;
156 regulator-state-mem {
157 regulator-on-in-suspend;
158 regulator-suspend-microvolt = <900000>;
163 regulator-name = "vcc_1v8";
166 regulator-min-microvolt = <1800000>;
167 regulator-max-microvolt = <1800000>;
168 regulator-state-mem {
169 regulator-on-in-suspend;
170 regulator-suspend-microvolt = <1800000>;
175 regulator-name = "vcc_0v9";
178 regulator-min-microvolt = <900000>;
179 regulator-max-microvolt = <900000>;
180 regulator-state-mem {
181 regulator-on-in-suspend;
182 regulator-suspend-microvolt = <900000>;
187 regulator-name = "vcca_1v8";
190 regulator-min-microvolt = <1850000>;
191 regulator-max-microvolt = <1850000>;
192 regulator-state-mem {
193 regulator-on-in-suspend;
194 regulator-suspend-microvolt = <1850000>;
199 * As per BSP, but schematic not showing any regulator
202 vdd1v5_dvp: LDO_REG5 {
203 regulator-name = "vdd1v5_dvp";
206 regulator-min-microvolt = <1500000>;
207 regulator-max-microvolt = <1500000>;
208 regulator-state-mem {
209 regulator-off-in-suspend;
214 regulator-name = "vcc_1v5";
217 regulator-min-microvolt = <1500000>;
218 regulator-max-microvolt = <1500000>;
219 regulator-state-mem {
220 regulator-off-in-suspend;
224 vccio_3v0: LDO_REG7 {
225 regulator-name = "vccio_3v0";
228 regulator-min-microvolt = <3000000>;
229 regulator-max-microvolt = <3000000>;
230 regulator-state-mem {
231 regulator-off-in-suspend;
236 regulator-name = "vccio_sd";
239 regulator-min-microvolt = <1800000>;
240 regulator-max-microvolt = <3300000>;
241 regulator-state-mem {
242 regulator-off-in-suspend;
247 * As per BSP, but schematic not showing any regulator
251 regulator-name = "vcc_sd";
254 regulator-min-microvolt = <3300000>;
255 regulator-max-microvolt = <3300000>;
256 regulator-state-mem {
257 regulator-off-in-suspend;
261 vcc5v0_usb2: SWITCH_REG1 {
262 regulator-name = "vcc5v0_usb2";
263 regulator-min-microvolt = <5000000>;
264 regulator-max-microvolt = <5000000>;
265 regulator-state-mem {
266 regulator-on-in-suspend;
267 regulator-suspend-microvolt = <5000000>;
271 vccio_3v3: vcc_lan: SWITCH_REG2 {
272 regulator-name = "vccio_3v3";
275 regulator-min-microvolt = <3300000>;
276 regulator-max-microvolt = <3300000>;
277 regulator-state-mem {
278 regulator-off-in-suspend;
286 i2c-scl-falling-time-ns = <30>;
287 i2c-scl-rising-time-ns = <140>;
292 clock-frequency = <400000>;
295 hym8563: hym8563@51 {
296 compatible = "haoyu,hym8563";
299 clock-frequency = <32768>;
300 clock-output-names = "hym8563";
301 pinctrl-names = "default";
302 pinctrl-0 = <&hym8563_int>;
303 interrupt-parent = <&gpio4>;
304 interrupts = <RK_PD6 IRQ_TYPE_LEVEL_LOW>;
309 i2c-scl-rising-time-ns = <450>;
310 i2c-scl-falling-time-ns = <15>;
316 bt656-supply = <&vcca_1v8>;
317 gpio1830-supply = <&vccio_3v0>;
318 sdmmc-supply = <&vccio_sd>;
326 ep-gpios = <&gpio0 RK_PB4 GPIO_ACTIVE_HIGH>;
327 max-link-speed = <2>;
329 pinctrl-0 = <&pcie_clkreqnb_cpm>;
330 pinctrl-names = "default";
331 vpcie0v9-supply = <&vcca_0v9>; /* VCC_0V9_S0 */
332 vpcie1v8-supply = <&vcca_1v8>; /* VCC_1V8_S0 */
333 vpcie3v3-supply = <&vcc3v3_pcie>;
339 hym8563_int: hym8563-int {
340 rockchip,pins = <4 RK_PD6 0 &pcfg_pull_up>;
346 rockchip,pins = <4 RK_PD4 RK_FUNC_GPIO &pcfg_pull_up>;
351 pmic_int_l: pmic-int-l {
352 rockchip,pins = <1 RK_PC2 0 &pcfg_pull_up>;
357 wifi_enable_h: wifi-enable-h {
358 rockchip,pins = <2 RK_PD3 RK_FUNC_GPIO &pcfg_pull_none>;
363 usb1_en_oc: usb1-en-oc {
364 rockchip,pins = <4 RK_PD1 RK_FUNC_GPIO &pcfg_pull_up>;
369 usb0_en_oc: usb0-en-oc {
370 rockchip,pins = <4 RK_PD2 RK_FUNC_GPIO &pcfg_pull_up>;
377 pmu1830-supply = <&vcc_1v8>;
382 * On the module itself this is one of these (depending
383 * on the actual card populated):
384 * - SDIO_RESET_L_WL_REG_ON
385 * - PDN (power down when low)
387 reset-gpios = <&gpio2 RK_PD3 GPIO_ACTIVE_LOW>;
393 mmc-hs400-enhanced-strobe;
399 cd-gpios = <&gpio0 RK_PA7 GPIO_ACTIVE_LOW>;
400 max-frequency = <150000000>;
408 rockchip,hw-tshut-mode = <1>;
409 rockchip,hw-tshut-polarity = <1>;
416 u2phy0_otg: otg-port {
417 phy-supply = <&vbus_typec>;
421 u2phy0_host: host-port {
422 phy-supply = <&vbus_host>;
431 u2phy1_host: host-port {
432 phy-supply = <&vbus_host>;
463 gpio = <&gpio4 RK_PD1 GPIO_ACTIVE_HIGH>; /* USB1_EN_OC# */
464 pinctrl-names = "default";
465 pinctrl-0 = <&usb1_en_oc>;
470 gpio = <&gpio4 RK_PD2 GPIO_ACTIVE_HIGH>; /* USB0_EN_OC# */
471 pinctrl-names = "default";
472 pinctrl-0 = <&usb0_en_oc>;