1 // SPDX-License-Identifier: (GPL-2.0+ OR MIT)
3 * Copyright (c) 2019 Andy Yan <andy.yan@gmail.com>
7 #include <dt-bindings/input/linux-event-codes.h>
8 #include <dt-bindings/pwm/pwm.h>
10 #include "rk3399-opp.dtsi"
13 model = "Leez RK3399 P710";
14 compatible = "leez,p710", "rockchip,rk3399";
23 stdout-path = "serial2:1500000n8";
26 clkin_gmac: external-gmac-clock {
27 compatible = "fixed-clock";
28 clock-frequency = <125000000>;
29 clock-output-names = "clkin_gmac";
33 sdio_pwrseq: sdio-pwrseq {
34 compatible = "mmc-pwrseq-simple";
36 clock-names = "ext_clock";
37 pinctrl-names = "default";
38 pinctrl-0 = <&wifi_reg_on_h>;
39 reset-gpios = <&gpio0 RK_PB2 GPIO_ACTIVE_LOW>;
43 compatible = "regulator-fixed";
44 regulator-name = "dc5v_adapter";
47 regulator-min-microvolt = <5000000>;
48 regulator-max-microvolt = <5000000>;
51 vcc3v3_lan: vcc3v3-lan {
52 compatible = "regulator-fixed";
53 regulator-name = "vcc3v3_lan";
56 regulator-min-microvolt = <3300000>;
57 regulator-max-microvolt = <3300000>;
58 vim-supply = <&vcc3v3_sys>;
61 vcc3v3_sys: vcc3v3-sys {
62 compatible = "regulator-fixed";
63 regulator-name = "vcc3v3_sys";
66 regulator-min-microvolt = <3300000>;
67 regulator-max-microvolt = <3300000>;
68 vin-supply = <&vcc5v0_sys>;
71 vcc5v0_host0: vcc5v0_host1: vcc5v0-host {
72 compatible = "regulator-fixed";
73 regulator-name = "vcc5v0_host";
76 regulator-min-microvolt = <5500000>;
77 regulator-max-microvolt = <5500000>;
78 vin-supply = <&vcc5v0_sys>;
81 vcc5v0_host3: vcc5v0-host3 {
82 compatible = "regulator-fixed";
83 regulator-name = "vcc5v0_host3";
85 gpio = <&gpio2 RK_PA2 GPIO_ACTIVE_HIGH>;
86 pinctrl-names = "default";
87 pinctrl-0 = <&vcc5v0_host3_en>;
89 vin-supply = <&vcc5v0_sys>;
92 vcc5v0_sys: vcc5v0-sys {
93 compatible = "regulator-fixed";
94 regulator-name = "vcc5v0_sys";
97 regulator-min-microvolt = <5000000>;
98 regulator-max-microvolt = <5000000>;
99 vin-supply = <&dc5v_adp>;
103 compatible = "pwm-regulator";
104 pwms = <&pwm2 0 25000 1>;
105 regulator-name = "vdd_log";
108 regulator-min-microvolt = <800000>;
109 regulator-max-microvolt = <1400000>;
110 vin-supply = <&vcc5v0_sys>;
115 cpu-supply = <&vdd_cpu_l>;
119 cpu-supply = <&vdd_cpu_l>;
123 cpu-supply = <&vdd_cpu_l>;
127 cpu-supply = <&vdd_cpu_l>;
131 cpu-supply = <&vdd_cpu_b>;
135 cpu-supply = <&vdd_cpu_b>;
143 assigned-clocks = <&cru SCLK_RMII_SRC>;
144 assigned-clock-parents = <&clkin_gmac>;
145 clock_in_out = "input";
146 phy-supply = <&vcc3v3_lan>;
148 pinctrl-names = "default";
149 pinctrl-0 = <&rgmii_pins>;
150 snps,reset-gpio = <&gpio3 RK_PB7 GPIO_ACTIVE_LOW>;
151 snps,reset-active-low;
152 snps,reset-delays-us = <0 10000 50000>;
159 mali-supply = <&vdd_gpu>;
164 ddc-i2c-bus = <&i2c7>;
165 pinctrl-names = "default";
166 pinctrl-0 = <&hdmi_cec>;
175 clock-frequency = <400000>;
176 i2c-scl-rising-time-ns = <168>;
177 i2c-scl-falling-time-ns = <4>;
181 compatible = "rockchip,rk808";
183 interrupt-parent = <&gpio1>;
184 interrupts = <21 IRQ_TYPE_LEVEL_LOW>;
186 clock-output-names = "xin32k", "rk808-clkout2";
187 pinctrl-names = "default";
188 pinctrl-0 = <&pmic_int_l>;
189 rockchip,system-power-controller;
192 vcc1-supply = <&vcc5v0_sys>;
193 vcc2-supply = <&vcc5v0_sys>;
194 vcc3-supply = <&vcc5v0_sys>;
195 vcc4-supply = <&vcc5v0_sys>;
196 vcc6-supply = <&vcc5v0_sys>;
197 vcc7-supply = <&vcc5v0_sys>;
198 vcc8-supply = <&vcc3v3_sys>;
199 vcc9-supply = <&vcc5v0_sys>;
200 vcc10-supply = <&vcc5v0_sys>;
201 vcc11-supply = <&vcc5v0_sys>;
202 vcc12-supply = <&vcc3v3_sys>;
203 vddio-supply = <&vcc_1v8>;
206 vdd_center: DCDC_REG1 {
207 regulator-name = "vdd_center";
210 regulator-min-microvolt = <750000>;
211 regulator-max-microvolt = <1350000>;
212 regulator-ramp-delay = <6001>;
213 regulator-state-mem {
214 regulator-off-in-suspend;
218 vdd_cpu_l: DCDC_REG2 {
219 regulator-name = "vdd_cpu_l";
222 regulator-min-microvolt = <750000>;
223 regulator-max-microvolt = <1350000>;
224 regulator-ramp-delay = <6001>;
225 regulator-state-mem {
226 regulator-off-in-suspend;
231 regulator-name = "vcc_ddr";
234 regulator-state-mem {
235 regulator-on-in-suspend;
240 regulator-name = "vcc_1v8";
243 regulator-min-microvolt = <1800000>;
244 regulator-max-microvolt = <1800000>;
245 regulator-state-mem {
246 regulator-on-in-suspend;
247 regulator-suspend-microvolt = <1800000>;
251 vcc1v8_dvp: LDO_REG1 {
252 regulator-name = "vcc1v8_dvp";
255 regulator-min-microvolt = <1800000>;
256 regulator-max-microvolt = <1800000>;
257 regulator-state-mem {
258 regulator-off-in-suspend;
262 vcc1v8_hdmi: LDO_REG2 {
263 regulator-name = "vcc1v8_hdmi";
266 regulator-min-microvolt = <1800000>;
267 regulator-max-microvolt = <1800000>;
268 regulator-state-mem {
269 regulator-off-in-suspend;
274 regulator-name = "vcca_1v8";
277 regulator-min-microvolt = <1800000>;
278 regulator-max-microvolt = <1800000>;
279 regulator-state-mem {
280 regulator-on-in-suspend;
281 regulator-suspend-microvolt = <1800000>;
286 regulator-name = "vccio_sd";
289 regulator-min-microvolt = <3000000>;
290 regulator-max-microvolt = <3000000>;
291 regulator-state-mem {
292 regulator-on-in-suspend;
293 regulator-suspend-microvolt = <3000000>;
297 vcca3v0_codec: LDO_REG5 {
298 regulator-name = "vcca3v0_codec";
301 regulator-min-microvolt = <3000000>;
302 regulator-max-microvolt = <3000000>;
303 regulator-state-mem {
304 regulator-off-in-suspend;
309 regulator-name = "vcc_1v5";
312 regulator-min-microvolt = <1500000>;
313 regulator-max-microvolt = <1500000>;
314 regulator-state-mem {
315 regulator-on-in-suspend;
316 regulator-suspend-microvolt = <1500000>;
320 vcc0v9_hdmi: LDO_REG7 {
321 regulator-name = "vcc0v9_hdmi";
324 regulator-min-microvolt = <900000>;
325 regulator-max-microvolt = <900000>;
326 regulator-state-mem {
327 regulator-off-in-suspend;
332 regulator-name = "vcc_3v0";
335 regulator-min-microvolt = <3000000>;
336 regulator-max-microvolt = <3000000>;
337 regulator-state-mem {
338 regulator-on-in-suspend;
339 regulator-suspend-microvolt = <3000000>;
345 vdd_cpu_b: regulator@40 {
346 compatible = "silergy,syr827";
348 fcs,suspend-voltage-selector = <1>;
349 pinctrl-names = "default";
350 pinctrl-0 = <&vsel1_pin>;
351 regulator-name = "vdd_cpu_b";
352 regulator-min-microvolt = <712500>;
353 regulator-max-microvolt = <1500000>;
354 regulator-ramp-delay = <1000>;
357 vin-supply = <&vcc5v0_sys>;
359 regulator-state-mem {
360 regulator-off-in-suspend;
364 vdd_gpu: regulator@41 {
365 compatible = "silergy,syr828";
367 fcs,suspend-voltage-selector = <1>;
368 pinctrl-names = "default";
369 pinctrl-0 = <&vsel2_pin>;
370 regulator-name = "vdd_gpu";
371 regulator-min-microvolt = <712500>;
372 regulator-max-microvolt = <1500000>;
373 regulator-ramp-delay = <1000>;
376 vin-supply = <&vcc5v0_sys>;
378 regulator-state-mem {
379 regulator-off-in-suspend;
385 i2c-scl-rising-time-ns = <300>;
386 i2c-scl-falling-time-ns = <15>;
391 i2c-scl-rising-time-ns = <450>;
392 i2c-scl-falling-time-ns = <15>;
397 i2c-scl-rising-time-ns = <600>;
398 i2c-scl-falling-time-ns = <20>;
407 rockchip,playback-channels = <8>;
408 rockchip,capture-channels = <8>;
413 rockchip,playback-channels = <2>;
414 rockchip,capture-channels = <2>;
425 bt656-supply = <&vcc1v8_dvp>;
426 audio-supply = <&vcc_1v8>;
427 sdmmc-supply = <&vccio_sd>;
428 gpio1830-supply = <&vcc_3v0>;
433 pmu1830-supply = <&vcc_3v0>;
438 bt_reg_on_h: bt-reg-on-h {
439 rockchip,pins = <0 RK_PB1 RK_FUNC_GPIO &pcfg_pull_none>;
442 bt_host_wake_l: bt-host-wake-l {
443 rockchip,pins = <0 RK_PA4 RK_FUNC_GPIO &pcfg_pull_none>;
446 bt_wake_l: bt-wake-l {
447 rockchip,pins = <2 RK_PD2 RK_FUNC_GPIO &pcfg_pull_none>;
452 pmic_int_l: pmic-int-l {
453 rockchip,pins = <1 RK_PC5 RK_FUNC_GPIO &pcfg_pull_up>;
456 vsel1_pin: vsel1-pin {
457 rockchip,pins = <1 RK_PC1 RK_FUNC_GPIO &pcfg_pull_down>;
460 vsel2_pin: vsel2-pin {
461 rockchip,pins = <1 RK_PB6 RK_FUNC_GPIO &pcfg_pull_down>;
466 vcc5v0_host3_en: vcc5v0-host3-en {
467 rockchip,pins = <2 RK_PA2 RK_FUNC_GPIO &pcfg_pull_none>;
472 wifi_reg_on_h: wifi-reg-on-h {
474 <0 RK_PB2 RK_FUNC_GPIO &pcfg_pull_none>;
477 wifi_host_wake_l: wifi-host-wake-l {
478 rockchip,pins = <0 RK_PA3 RK_FUNC_GPIO &pcfg_pull_none>;
490 vref-supply = <&vcc_1v8>;
494 #address-cells = <1>;
497 clock-frequency = <50000000>;
500 keep-power-in-suspend;
501 mmc-pwrseq = <&sdio_pwrseq>;
503 pinctrl-names = "default";
504 pinctrl-0 = <&sdio0_bus4 &sdio0_cmd &sdio0_clk>;
509 compatible = "brcm,bcm4329-fmac";
511 interrupt-parent = <&gpio0>;
512 interrupts = <RK_PA3 GPIO_ACTIVE_HIGH>;
513 interrupt-names = "host-wake";
514 pinctrl-names = "default";
515 pinctrl-0 = <&wifi_host_wake_l>;
522 mmc-hs400-enhanced-strobe;
531 cd-gpios = <&gpio0 RK_PA7 GPIO_ACTIVE_LOW>;
533 max-frequency = <150000000>;
534 pinctrl-names = "default";
535 pinctrl-0 = <&sdmmc_clk &sdmmc_cd &sdmmc_cmd &sdmmc_bus4>;
550 /* tshut mode 0:CRU 1:GPIO */
551 rockchip,hw-tshut-mode = <1>;
552 /* tshut polarity 0:LOW 1:HIGH */
553 rockchip,hw-tshut-polarity = <1>;
559 u2phy0_otg: otg-port {
563 u2phy0_host: host-port {
564 phy-supply = <&vcc5v0_host0>;
572 u2phy1_otg: otg-port {
576 u2phy1_host: host-port {
577 phy-supply = <&vcc5v0_host1>;
583 pinctrl-names = "default";
584 pinctrl-0 = <&uart0_xfer &uart0_cts &uart0_rts>;
588 compatible = "brcm,bcm43438-bt";
590 clock-names = "ext_clock";
591 device-wakeup-gpios = <&gpio2 RK_PD2 GPIO_ACTIVE_HIGH>;
592 host-wakeup-gpios = <&gpio0 RK_PA4 GPIO_ACTIVE_HIGH>;
593 shutdown-gpios = <&gpio0 RK_PB1 GPIO_ACTIVE_HIGH>;
594 pinctrl-names = "default";
595 pinctrl-0 = <&bt_host_wake_l &bt_wake_l &bt_reg_on_h>;