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 = "regulator-fixed";
34 regulator-name = "vcc_sys";
35 regulator-min-microvolt = <5000000>;
36 regulator-max-microvolt = <5000000>;
38 vin-supply = <&dc_5v>;
41 vcc_phy: vcc-phy-regulator {
42 compatible = "regulator-fixed";
43 regulator-name = "vcc_phy";
48 vcc1v8_s0: vcc1v8-s0 {
49 compatible = "regulator-fixed";
50 regulator-name = "vcc1v8_s0";
51 regulator-min-microvolt = <1800000>;
52 regulator-max-microvolt = <1800000>;
56 vcc3v3_sys: vcc3v3-sys {
57 compatible = "regulator-fixed";
58 regulator-name = "vcc3v3_sys";
59 regulator-min-microvolt = <3300000>;
60 regulator-max-microvolt = <3300000>;
62 vin-supply = <&vcc_sys>;
65 vcc5v0_host: vcc5v0-host-regulator {
66 compatible = "regulator-fixed";
68 gpio = <&gpio4 RK_PD2 GPIO_ACTIVE_HIGH>;
69 pinctrl-names = "default";
70 pinctrl-0 = <&host_vbus_drv>;
71 regulator-name = "vcc5v0_host";
75 vcc5v0_typec: vcc5v0-typec-regulator {
76 compatible = "regulator-fixed";
78 gpio = <&gpio1 RK_PA3 GPIO_ACTIVE_HIGH>;
79 pinctrl-names = "default";
80 pinctrl-0 = <&vcc5v0_typec_en>;
81 regulator-name = "vcc5v0_typec";
83 vin-supply = <&vcc5v0_usb>;
86 vcc5v0_usb: vcc5v0-usb {
87 compatible = "regulator-fixed";
88 regulator-name = "vcc5v0_usb";
91 regulator-min-microvolt = <5000000>;
92 regulator-max-microvolt = <5000000>;
93 vin-supply = <&dc_5v>;
97 compatible = "pwm-regulator";
98 pwms = <&pwm2 0 25000 1>;
99 pwm-supply = <&vcc_sys>;
100 regulator-name = "vdd_log";
101 regulator-min-microvolt = <800000>;
102 regulator-max-microvolt = <1400000>;
107 sdio_pwrseq: sdio-pwrseq {
108 compatible = "mmc-pwrseq-simple";
110 clock-names = "ext_clock";
111 pinctrl-names = "default";
112 pinctrl-0 = <&wifi_reg_on_h>;
113 reset-gpios = <&gpio0 RK_PB2 GPIO_ACTIVE_LOW>;
119 cpu-supply = <&vdd_cpu_l>;
123 cpu-supply = <&vdd_cpu_l>;
127 cpu-supply = <&vdd_cpu_l>;
131 cpu-supply = <&vdd_cpu_l>;
135 cpu-supply = <&vdd_cpu_b>;
139 cpu-supply = <&vdd_cpu_b>;
147 assigned-clocks = <&cru SCLK_RMII_SRC>;
148 assigned-clock-parents = <&clkin_gmac>;
149 clock_in_out = "input";
150 phy-supply = <&vcc_phy>;
152 pinctrl-names = "default";
153 pinctrl-0 = <&rgmii_pins>;
154 snps,reset-gpio = <&gpio3 RK_PB7 GPIO_ACTIVE_LOW>;
155 snps,reset-active-low;
156 snps,reset-delays-us = <0 10000 50000>;
164 mali-supply = <&vdd_gpu>;
168 ddc-i2c-bus = <&i2c3>;
169 pinctrl-names = "default";
170 pinctrl-0 = <&hdmi_cec>;
180 i2c-scl-rising-time-ns = <180>;
181 i2c-scl-falling-time-ns = <30>;
182 clock-frequency = <400000>;
184 vdd_cpu_b: syr827@40 {
185 compatible = "silergy,syr827";
187 regulator-compatible = "fan53555-reg";
188 pinctrl-0 = <&vsel1_gpio>;
189 regulator-name = "vdd_cpu_b";
190 regulator-min-microvolt = <712500>;
191 regulator-max-microvolt = <1500000>;
192 regulator-ramp-delay = <1000>;
193 fcs,suspend-voltage-selector = <1>;
196 vin-supply = <&vcc_sys>;
197 regulator-state-mem {
198 regulator-off-in-suspend;
203 compatible = "silergy,syr828";
205 regulator-compatible = "fan53555-reg";
206 pinctrl-0 = <&vsel2_gpio>;
207 regulator-name = "vdd_gpu";
208 regulator-min-microvolt = <712500>;
209 regulator-max-microvolt = <1500000>;
210 regulator-ramp-delay = <1000>;
211 fcs,suspend-voltage-selector = <1>;
214 vin-supply = <&vcc_sys>;
215 regulator-initial-mode = <1>;
216 regulator-state-mem {
217 regulator-off-in-suspend;
222 compatible = "rockchip,rk808";
224 interrupt-parent = <&gpio1>;
225 interrupts = <21 IRQ_TYPE_LEVEL_LOW>;
226 pinctrl-names = "default";
227 pinctrl-0 = <&pmic_int_l>;
228 rockchip,system-power-controller;
231 clock-output-names = "xin32k", "rtc_clko_wifi";
233 vcc1-supply = <&vcc_sys>;
234 vcc2-supply = <&vcc_sys>;
235 vcc3-supply = <&vcc_sys>;
236 vcc4-supply = <&vcc_sys>;
237 vcc6-supply = <&vcc_sys>;
238 vcc7-supply = <&vcc_sys>;
239 vcc8-supply = <&vcc3v3_sys>;
240 vcc9-supply = <&vcc_sys>;
241 vcc10-supply = <&vcc_sys>;
242 vcc11-supply = <&vcc_sys>;
243 vcc12-supply = <&vcc3v3_sys>;
244 vddio-supply = <&vcc_1v8>;
247 vdd_center: DCDC_REG1 {
248 regulator-name = "vdd_center";
249 regulator-min-microvolt = <900000>;
250 regulator-max-microvolt = <900000>;
251 regulator-ramp-delay = <6001>;
254 regulator-state-mem {
255 regulator-off-in-suspend;
259 vdd_cpu_l: DCDC_REG2 {
260 regulator-name = "vdd_cpu_l";
261 regulator-min-microvolt = <750000>;
262 regulator-max-microvolt = <1350000>;
263 regulator-ramp-delay = <6001>;
266 regulator-state-mem {
267 regulator-off-in-suspend;
272 regulator-name = "vcc_ddr";
275 regulator-state-mem {
276 regulator-on-in-suspend;
281 regulator-name = "vcc_1v8";
282 regulator-min-microvolt = <1800000>;
283 regulator-max-microvolt = <1800000>;
286 regulator-state-mem {
287 regulator-on-in-suspend;
288 regulator-suspend-microvolt = <1800000>;
292 vcc1v8_dvp: LDO_REG1 {
293 regulator-name = "vcc1v8_dvp";
294 regulator-min-microvolt = <1800000>;
295 regulator-max-microvolt = <1800000>;
298 regulator-state-mem {
299 regulator-on-in-suspend;
300 regulator-suspend-microvolt = <1800000>;
304 vcca1v8_hdmi: LDO_REG2 {
305 regulator-name = "vcca1v8_hdmi";
306 regulator-min-microvolt = <1800000>;
307 regulator-max-microvolt = <1800000>;
310 regulator-state-mem {
311 regulator-on-in-suspend;
312 regulator-suspend-microvolt = <1800000>;
317 regulator-name = "vcca_1v8";
318 regulator-min-microvolt = <1800000>;
319 regulator-max-microvolt = <1800000>;
322 regulator-state-mem {
323 regulator-on-in-suspend;
324 regulator-suspend-microvolt = <1800000>;
329 regulator-name = "vcc_sd";
330 regulator-min-microvolt = <1800000>;
331 regulator-max-microvolt = <3300000>;
334 regulator-state-mem {
335 regulator-on-in-suspend;
336 regulator-suspend-microvolt = <3300000>;
340 vcc3v0_sd: LDO_REG5 {
341 regulator-name = "vcc3v0_sd";
342 regulator-min-microvolt = <3000000>;
343 regulator-max-microvolt = <3000000>;
346 regulator-state-mem {
347 regulator-on-in-suspend;
348 regulator-suspend-microvolt = <3000000>;
353 regulator-name = "vcc_1v5";
354 regulator-min-microvolt = <1500000>;
355 regulator-max-microvolt = <1500000>;
358 regulator-state-mem {
359 regulator-on-in-suspend;
360 regulator-suspend-microvolt = <1500000>;
364 vcca0v9_hdmi: LDO_REG7 {
365 regulator-name = "vcca0v9_hdmi";
366 regulator-min-microvolt = <900000>;
367 regulator-max-microvolt = <900000>;
370 regulator-state-mem {
371 regulator-on-in-suspend;
372 regulator-suspend-microvolt = <900000>;
377 regulator-name = "vcc_3v0";
378 regulator-min-microvolt = <3000000>;
379 regulator-max-microvolt = <3000000>;
382 regulator-state-mem {
383 regulator-on-in-suspend;
384 regulator-suspend-microvolt = <3000000>;
388 vcc3v3_s3: SWITCH_REG1 {
389 regulator-name = "vcc3v3_s3";
392 regulator-state-mem {
393 regulator-on-in-suspend;
397 vcc3v3_s0: SWITCH_REG2 {
398 regulator-name = "vcc3v3_s0";
401 regulator-state-mem {
402 regulator-on-in-suspend;
410 i2c-scl-rising-time-ns = <300>;
411 i2c-scl-falling-time-ns = <15>;
416 i2c-scl-rising-time-ns = <450>;
417 i2c-scl-falling-time-ns = <15>;
422 i2c-scl-rising-time-ns = <600>;
423 i2c-scl-falling-time-ns = <40>;
426 fusb0: typec-portc@22 {
427 compatible = "fcs,fusb302";
429 interrupt-parent = <&gpio1>;
430 interrupts = <RK_PA2 IRQ_TYPE_LEVEL_LOW>;
431 pinctrl-names = "default";
432 pinctrl-0 = <&fusb0_int>;
433 vbus-supply = <&vcc5v0_typec>;
443 rockchip,playback-channels = <8>;
444 rockchip,capture-channels = <8>;
449 rockchip,playback-channels = <2>;
450 rockchip,capture-channels = <2>;
460 audio-supply = <&vcc1v8_s0>;
461 bt656-supply = <&vcc1v8_s0>;
462 gpio1830-supply = <&vcc_3v0>;
463 sdmmc-supply = <&vcc_sd>;
468 pmu1830-supply = <&vcc_1v8>;
473 fusb0_int: fusb0-int {
475 <1 RK_PA2 RK_FUNC_GPIO &pcfg_pull_up>;
480 rgmii_sleep_pins: rgmii-sleep-pins {
482 <3 RK_PB7 RK_FUNC_GPIO &pcfg_output_low>;
487 pmic_int_l: pmic-int-l {
489 <1 RK_PC5 RK_FUNC_GPIO &pcfg_pull_up>;
492 vsel1_gpio: vsel1-gpio {
494 <1 RK_PC1 RK_FUNC_GPIO &pcfg_pull_down>;
497 vsel2_gpio: vsel2-gpio {
499 <1 RK_PB6 RK_FUNC_GPIO &pcfg_pull_down>;
504 bt_host_wake_l: bt-host-wake-l {
505 rockchip,pins = <0 RK_PA4 RK_FUNC_GPIO &pcfg_pull_none>;
508 bt_reg_on_h: bt-reg-on-h {
509 /* external pullup to VCC1V8_PMUPLL */
510 rockchip,pins = <0 RK_PB1 RK_FUNC_GPIO &pcfg_pull_none>;
513 bt_wake_l: bt-wake-l {
514 rockchip,pins = <2 RK_PD2 RK_FUNC_GPIO &pcfg_pull_none>;
517 wifi_reg_on_h: wifi-reg_on-h {
518 rockchip,pins = <0 RK_PB2 RK_FUNC_GPIO &pcfg_pull_none>;
523 wifi_host_wake_l: wifi-host-wake-l {
524 rockchip,pins = <0 RK_PA3 RK_FUNC_GPIO &pcfg_pull_none>;
529 vcc5v0_typec_en: vcc5v0_typec_en {
530 rockchip,pins = <1 RK_PA3 RK_FUNC_GPIO &pcfg_pull_up>;
535 host_vbus_drv: host-vbus-drv {
537 <4 RK_PD2 RK_FUNC_GPIO &pcfg_pull_none>;
548 pinctrl-0 = <&pwm2_pin_pull_down>;
552 vref-supply = <&vcc1v8_s0>;
557 clock-frequency = <150000000>;
558 clock-freq-min-max = <200000 150000000>;
564 vqmmc-supply = <&vcc_sd>;
565 pinctrl-names = "default";
566 pinctrl-0 = <&sdmmc_clk &sdmmc_cmd &sdmmc_cd &sdmmc_bus4>;
567 card-detect-delay = <800>;
574 mmc-hs400-enhanced-strobe;
577 keep-power-in-suspend;
583 clock-frequency = <50000000>;
586 keep-power-in-suspend;
587 mmc-pwrseq = <&sdio_pwrseq>;
589 pinctrl-names = "default";
590 pinctrl-0 = <&sdio0_bus4 &sdio0_cmd &sdio0_clk>;
592 #address-cells = <1>;
597 compatible = "brcm,bcm4329-fmac";
599 interrupt-parent = <&gpio0>;
600 interrupts = <RK_PA3 GPIO_ACTIVE_HIGH>;
601 interrupt-names = "host-wake";
602 pinctrl-names = "default";
603 pinctrl-0 = <&wifi_host_wake_l>;
609 pinctrl-0 = <&spdif_bus_1>;
610 #sound-dai-cells = <0>;
615 max-freq = <10000000>;
618 compatible = "jedec,spi-nor";
619 #address-cells = <1>;
622 spi-max-frequency = <10000000>;
635 /* tshut mode 0:CRU 1:GPIO */
636 rockchip,hw-tshut-mode = <1>;
637 /* tshut polarity 0:LOW 1:HIGH */
638 rockchip,hw-tshut-polarity = <1>;
639 rockchip,hw-tshut-temp = <110000>;
646 u2phy0_host: host-port {
647 phy-supply = <&vcc5v0_typec>;
651 u2phy0_otg: otg-port {
659 u2phy1_host: host-port {
660 phy-supply = <&vcc5v0_host>;
664 u2phy1_otg: otg-port {
670 pinctrl-names = "default";
671 pinctrl-0 = <&uart0_xfer &uart0_rts &uart0_cts>;
675 compatible = "brcm,bcm43438-bt";
677 clock-names = "ext_clock";
678 device-wakeup-gpios = <&gpio2 RK_PD2 GPIO_ACTIVE_HIGH>;
679 host-wakeup-gpios = <&gpio0 RK_PA4 GPIO_ACTIVE_HIGH>;
680 shutdown-gpios = <&gpio0 RK_PB1 GPIO_ACTIVE_HIGH>;
681 max-speed = <4000000>;
682 pinctrl-names = "default";
683 pinctrl-0 = <&bt_reg_on_h &bt_host_wake_l &bt_wake_l>;
684 vbat-supply = <&vcc3v3_sys>;
685 vddio-supply = <&vcc_1v8>;