1 // SPDX-License-Identifier: (GPL-2.0+ OR MIT)
3 #include <dt-bindings/pwm/pwm.h>
4 #include <dt-bindings/input/input.h>
6 #include "rk3399-opp.dtsi"
9 model = "Hugsun X99 TV BOX";
10 compatible = "hugsun,x99", "rockchip,rk3399";
13 stdout-path = "serial2:1500000n8";
16 clkin_gmac: external-gmac-clock {
17 compatible = "fixed-clock";
18 clock-frequency = <125000000>;
19 clock-output-names = "clkin_gmac";
24 compatible = "regulator-fixed";
25 regulator-name = "dc_5v";
28 regulator-min-microvolt = <5000000>;
29 regulator-max-microvolt = <5000000>;
33 compatible = "gpio-ir-receiver";
34 gpios = <&gpio0 RK_PA6 GPIO_ACTIVE_LOW>;
35 pinctrl-names = "default";
40 compatible = "gpio-leds";
41 pinctrl-names = "default";
42 pinctrl-0 = <&power_led_pin>;
46 gpios = <&gpio4 RK_PC2 GPIO_ACTIVE_HIGH>;
48 linux,default-trigger = "default-on";
53 compatible = "regulator-fixed";
54 regulator-name = "vcc_sys";
55 regulator-min-microvolt = <5000000>;
56 regulator-max-microvolt = <5000000>;
58 vin-supply = <&dc_5v>;
61 vcc_phy: vcc-phy-regulator {
62 compatible = "regulator-fixed";
63 regulator-name = "vcc_phy";
68 vcc1v8_s0: vcc1v8-s0 {
69 compatible = "regulator-fixed";
70 regulator-name = "vcc1v8_s0";
71 regulator-min-microvolt = <1800000>;
72 regulator-max-microvolt = <1800000>;
76 vcc3v3_sys: vcc3v3-sys {
77 compatible = "regulator-fixed";
78 regulator-name = "vcc3v3_sys";
79 regulator-min-microvolt = <3300000>;
80 regulator-max-microvolt = <3300000>;
82 vin-supply = <&vcc_sys>;
85 vcc5v0_host: vcc5v0-host-regulator {
86 compatible = "regulator-fixed";
88 gpio = <&gpio4 RK_PD2 GPIO_ACTIVE_HIGH>;
89 pinctrl-names = "default";
90 pinctrl-0 = <&host_vbus_drv>;
91 regulator-name = "vcc5v0_host";
95 vcc5v0_typec: vcc5v0-typec-regulator {
96 compatible = "regulator-fixed";
98 gpio = <&gpio1 RK_PA3 GPIO_ACTIVE_HIGH>;
99 pinctrl-names = "default";
100 pinctrl-0 = <&vcc5v0_typec_en>;
101 regulator-name = "vcc5v0_typec";
103 vin-supply = <&vcc5v0_usb>;
106 vcc5v0_usb: vcc5v0-usb {
107 compatible = "regulator-fixed";
108 regulator-name = "vcc5v0_usb";
111 regulator-min-microvolt = <5000000>;
112 regulator-max-microvolt = <5000000>;
113 vin-supply = <&dc_5v>;
117 compatible = "pwm-regulator";
118 pwms = <&pwm2 0 25000 1>;
119 pwm-supply = <&vcc_sys>;
120 regulator-name = "vdd_log";
121 regulator-min-microvolt = <800000>;
122 regulator-max-microvolt = <1400000>;
127 sdio_pwrseq: sdio-pwrseq {
128 compatible = "mmc-pwrseq-simple";
130 clock-names = "ext_clock";
131 pinctrl-names = "default";
132 pinctrl-0 = <&wifi_reg_on_h>;
133 reset-gpios = <&gpio0 RK_PB2 GPIO_ACTIVE_LOW>;
139 cpu-supply = <&vdd_cpu_l>;
143 cpu-supply = <&vdd_cpu_l>;
147 cpu-supply = <&vdd_cpu_l>;
151 cpu-supply = <&vdd_cpu_l>;
155 cpu-supply = <&vdd_cpu_b>;
159 cpu-supply = <&vdd_cpu_b>;
167 assigned-clocks = <&cru SCLK_RMII_SRC>;
168 assigned-clock-parents = <&clkin_gmac>;
169 clock_in_out = "input";
170 phy-supply = <&vcc_phy>;
172 pinctrl-names = "default";
173 pinctrl-0 = <&rgmii_pins>;
174 snps,reset-gpio = <&gpio3 RK_PB7 GPIO_ACTIVE_LOW>;
175 snps,reset-active-low;
176 snps,reset-delays-us = <0 10000 50000>;
184 mali-supply = <&vdd_gpu>;
188 ddc-i2c-bus = <&i2c3>;
189 pinctrl-names = "default";
190 pinctrl-0 = <&hdmi_cec>;
200 i2c-scl-rising-time-ns = <180>;
201 i2c-scl-falling-time-ns = <30>;
202 clock-frequency = <400000>;
204 vdd_cpu_b: syr827@40 {
205 compatible = "silergy,syr827";
207 regulator-compatible = "fan53555-reg";
208 pinctrl-0 = <&vsel1_pin>;
209 regulator-name = "vdd_cpu_b";
210 regulator-min-microvolt = <712500>;
211 regulator-max-microvolt = <1500000>;
212 regulator-ramp-delay = <1000>;
213 fcs,suspend-voltage-selector = <1>;
216 vin-supply = <&vcc_sys>;
217 regulator-state-mem {
218 regulator-off-in-suspend;
223 compatible = "silergy,syr828";
225 regulator-compatible = "fan53555-reg";
226 pinctrl-0 = <&vsel2_pin>;
227 regulator-name = "vdd_gpu";
228 regulator-min-microvolt = <712500>;
229 regulator-max-microvolt = <1500000>;
230 regulator-ramp-delay = <1000>;
231 fcs,suspend-voltage-selector = <1>;
234 vin-supply = <&vcc_sys>;
235 regulator-initial-mode = <1>;
236 regulator-state-mem {
237 regulator-off-in-suspend;
242 compatible = "rockchip,rk808";
244 interrupt-parent = <&gpio1>;
245 interrupts = <21 IRQ_TYPE_LEVEL_LOW>;
246 pinctrl-names = "default";
247 pinctrl-0 = <&pmic_int_l>;
248 rockchip,system-power-controller;
251 clock-output-names = "xin32k", "rtc_clko_wifi";
253 vcc1-supply = <&vcc_sys>;
254 vcc2-supply = <&vcc_sys>;
255 vcc3-supply = <&vcc_sys>;
256 vcc4-supply = <&vcc_sys>;
257 vcc6-supply = <&vcc_sys>;
258 vcc7-supply = <&vcc_sys>;
259 vcc8-supply = <&vcc3v3_sys>;
260 vcc9-supply = <&vcc_sys>;
261 vcc10-supply = <&vcc_sys>;
262 vcc11-supply = <&vcc_sys>;
263 vcc12-supply = <&vcc3v3_sys>;
264 vddio-supply = <&vcc_1v8>;
267 vdd_center: DCDC_REG1 {
268 regulator-name = "vdd_center";
269 regulator-min-microvolt = <900000>;
270 regulator-max-microvolt = <900000>;
271 regulator-ramp-delay = <6001>;
274 regulator-state-mem {
275 regulator-off-in-suspend;
279 vdd_cpu_l: DCDC_REG2 {
280 regulator-name = "vdd_cpu_l";
281 regulator-min-microvolt = <750000>;
282 regulator-max-microvolt = <1350000>;
283 regulator-ramp-delay = <6001>;
286 regulator-state-mem {
287 regulator-off-in-suspend;
292 regulator-name = "vcc_ddr";
295 regulator-state-mem {
296 regulator-on-in-suspend;
301 regulator-name = "vcc_1v8";
302 regulator-min-microvolt = <1800000>;
303 regulator-max-microvolt = <1800000>;
306 regulator-state-mem {
307 regulator-on-in-suspend;
308 regulator-suspend-microvolt = <1800000>;
312 vcc1v8_dvp: LDO_REG1 {
313 regulator-name = "vcc1v8_dvp";
314 regulator-min-microvolt = <1800000>;
315 regulator-max-microvolt = <1800000>;
318 regulator-state-mem {
319 regulator-on-in-suspend;
320 regulator-suspend-microvolt = <1800000>;
324 vcca1v8_hdmi: LDO_REG2 {
325 regulator-name = "vcca1v8_hdmi";
326 regulator-min-microvolt = <1800000>;
327 regulator-max-microvolt = <1800000>;
330 regulator-state-mem {
331 regulator-on-in-suspend;
332 regulator-suspend-microvolt = <1800000>;
337 regulator-name = "vcca_1v8";
338 regulator-min-microvolt = <1800000>;
339 regulator-max-microvolt = <1800000>;
342 regulator-state-mem {
343 regulator-on-in-suspend;
344 regulator-suspend-microvolt = <1800000>;
349 regulator-name = "vcc_sd";
350 regulator-min-microvolt = <1800000>;
351 regulator-max-microvolt = <3300000>;
354 regulator-state-mem {
355 regulator-on-in-suspend;
356 regulator-suspend-microvolt = <3300000>;
360 vcc3v0_sd: LDO_REG5 {
361 regulator-name = "vcc3v0_sd";
362 regulator-min-microvolt = <3000000>;
363 regulator-max-microvolt = <3000000>;
366 regulator-state-mem {
367 regulator-on-in-suspend;
368 regulator-suspend-microvolt = <3000000>;
373 regulator-name = "vcc_1v5";
374 regulator-min-microvolt = <1500000>;
375 regulator-max-microvolt = <1500000>;
378 regulator-state-mem {
379 regulator-on-in-suspend;
380 regulator-suspend-microvolt = <1500000>;
384 vcca0v9_hdmi: LDO_REG7 {
385 regulator-name = "vcca0v9_hdmi";
386 regulator-min-microvolt = <900000>;
387 regulator-max-microvolt = <900000>;
390 regulator-state-mem {
391 regulator-on-in-suspend;
392 regulator-suspend-microvolt = <900000>;
397 regulator-name = "vcc_3v0";
398 regulator-min-microvolt = <3000000>;
399 regulator-max-microvolt = <3000000>;
402 regulator-state-mem {
403 regulator-on-in-suspend;
404 regulator-suspend-microvolt = <3000000>;
408 vcc3v3_s3: SWITCH_REG1 {
409 regulator-name = "vcc3v3_s3";
412 regulator-state-mem {
413 regulator-on-in-suspend;
417 vcc3v3_s0: SWITCH_REG2 {
418 regulator-name = "vcc3v3_s0";
421 regulator-state-mem {
422 regulator-on-in-suspend;
430 i2c-scl-rising-time-ns = <300>;
431 i2c-scl-falling-time-ns = <15>;
436 i2c-scl-rising-time-ns = <450>;
437 i2c-scl-falling-time-ns = <15>;
442 i2c-scl-rising-time-ns = <600>;
443 i2c-scl-falling-time-ns = <40>;
446 fusb0: typec-portc@22 {
447 compatible = "fcs,fusb302";
449 interrupt-parent = <&gpio1>;
450 interrupts = <RK_PA2 IRQ_TYPE_LEVEL_LOW>;
451 pinctrl-names = "default";
452 pinctrl-0 = <&fusb0_int>;
453 vbus-supply = <&vcc5v0_typec>;
463 rockchip,playback-channels = <8>;
464 rockchip,capture-channels = <8>;
469 rockchip,playback-channels = <2>;
470 rockchip,capture-channels = <2>;
480 audio-supply = <&vcc1v8_s0>;
481 bt656-supply = <&vcc1v8_s0>;
482 gpio1830-supply = <&vcc_3v0>;
483 sdmmc-supply = <&vcc_sd>;
488 pmu1830-supply = <&vcc_1v8>;
493 fusb0_int: fusb0-int {
495 <1 RK_PA2 RK_FUNC_GPIO &pcfg_pull_up>;
500 rgmii_sleep_pins: rgmii-sleep-pins {
502 <3 RK_PB7 RK_FUNC_GPIO &pcfg_output_low>;
508 rockchip,pins = <0 RK_PA6 1 &pcfg_pull_none>;
513 power_led_pin: power-led-pin {
514 rockchip,pins = <4 RK_PC2 RK_FUNC_GPIO &pcfg_pull_none>;
519 pmic_int_l: pmic-int-l {
521 <1 RK_PC5 RK_FUNC_GPIO &pcfg_pull_up>;
524 vsel1_pin: vsel1-pin {
526 <1 RK_PC1 RK_FUNC_GPIO &pcfg_pull_down>;
529 vsel2_pin: vsel2-pin {
531 <1 RK_PB6 RK_FUNC_GPIO &pcfg_pull_down>;
536 bt_host_wake_l: bt-host-wake-l {
537 rockchip,pins = <0 RK_PA4 RK_FUNC_GPIO &pcfg_pull_none>;
540 bt_reg_on_h: bt-reg-on-h {
541 /* external pullup to VCC1V8_PMUPLL */
542 rockchip,pins = <0 RK_PB1 RK_FUNC_GPIO &pcfg_pull_none>;
545 bt_wake_l: bt-wake-l {
546 rockchip,pins = <2 RK_PD2 RK_FUNC_GPIO &pcfg_pull_none>;
549 wifi_reg_on_h: wifi-reg_on-h {
550 rockchip,pins = <0 RK_PB2 RK_FUNC_GPIO &pcfg_pull_none>;
555 wifi_host_wake_l: wifi-host-wake-l {
556 rockchip,pins = <0 RK_PA3 RK_FUNC_GPIO &pcfg_pull_none>;
561 vcc5v0_typec_en: vcc5v0_typec_en {
562 rockchip,pins = <1 RK_PA3 RK_FUNC_GPIO &pcfg_pull_up>;
567 host_vbus_drv: host-vbus-drv {
569 <4 RK_PD2 RK_FUNC_GPIO &pcfg_pull_none>;
576 pinctrl-0 = <&pwm2_pin_pull_down>;
580 vref-supply = <&vcc1v8_s0>;
585 clock-frequency = <150000000>;
586 max-frequency = <150000000>;
591 vqmmc-supply = <&vcc_sd>;
592 pinctrl-names = "default";
593 pinctrl-0 = <&sdmmc_clk &sdmmc_cmd &sdmmc_cd &sdmmc_bus4>;
594 card-detect-delay = <800>;
601 mmc-hs400-enhanced-strobe;
603 keep-power-in-suspend;
609 clock-frequency = <50000000>;
612 keep-power-in-suspend;
613 mmc-pwrseq = <&sdio_pwrseq>;
615 pinctrl-names = "default";
616 pinctrl-0 = <&sdio0_bus4 &sdio0_cmd &sdio0_clk>;
618 #address-cells = <1>;
623 compatible = "brcm,bcm4329-fmac";
625 interrupt-parent = <&gpio0>;
626 interrupts = <RK_PA3 GPIO_ACTIVE_HIGH>;
627 interrupt-names = "host-wake";
628 pinctrl-names = "default";
629 pinctrl-0 = <&wifi_host_wake_l>;
635 pinctrl-0 = <&spdif_bus_1>;
642 compatible = "jedec,spi-nor";
643 #address-cells = <1>;
646 spi-max-frequency = <10000000>;
659 /* tshut mode 0:CRU 1:GPIO */
660 rockchip,hw-tshut-mode = <1>;
661 /* tshut polarity 0:LOW 1:HIGH */
662 rockchip,hw-tshut-polarity = <1>;
663 rockchip,hw-tshut-temp = <110000>;
670 u2phy0_host: host-port {
671 phy-supply = <&vcc5v0_typec>;
675 u2phy0_otg: otg-port {
683 u2phy1_host: host-port {
684 phy-supply = <&vcc5v0_host>;
688 u2phy1_otg: otg-port {
694 pinctrl-names = "default";
695 pinctrl-0 = <&uart0_xfer &uart0_rts &uart0_cts>;
699 compatible = "brcm,bcm43438-bt";
701 clock-names = "ext_clock";
702 device-wakeup-gpios = <&gpio2 RK_PD2 GPIO_ACTIVE_HIGH>;
703 host-wakeup-gpios = <&gpio0 RK_PA4 GPIO_ACTIVE_HIGH>;
704 shutdown-gpios = <&gpio0 RK_PB1 GPIO_ACTIVE_HIGH>;
705 max-speed = <4000000>;
706 pinctrl-names = "default";
707 pinctrl-0 = <&bt_reg_on_h &bt_host_wake_l &bt_wake_l>;
708 vbat-supply = <&vcc3v3_sys>;
709 vddio-supply = <&vcc_1v8>;