Lines Matching +full:rk3066 +full:- +full:cru
1 // SPDX-License-Identifier: (GPL-2.0+ OR MIT)
6 #include <dt-bindings/clock/rk3399-cru.h>
7 #include <dt-bindings/gpio/gpio.h>
8 #include <dt-bindings/interrupt-controller/arm-gic.h>
9 #include <dt-bindings/interrupt-controller/irq.h>
10 #include <dt-bindings/pinctrl/rockchip.h>
11 #include <dt-bindings/power/rk3399-power.h>
12 #include <dt-bindings/thermal/thermal.h>
17 interrupt-parent = <&gic>;
18 #address-cells = <2>;
19 #size-cells = <2>;
50 #address-cells = <2>;
51 #size-cells = <0>;
53 cpu-map {
54 cluster0 { /* Cortex-A53 */
69 cluster1 { /* Cortex-A72 */
81 compatible = "arm,cortex-a53";
83 enable-method = "psci";
84 capacity-dmips-mhz = <485>;
85 clocks = <&cru ARMCLKL>;
86 #cooling-cells = <2>; /* min followed by max */
87 dynamic-power-coefficient = <100>;
88 cpu-idle-states = <&CPU_SLEEP &CLUSTER_SLEEP>;
89 i-cache-size = <0x8000>;
90 i-cache-line-size = <64>;
91 i-cache-sets = <256>;
92 d-cache-size = <0x8000>;
93 d-cache-line-size = <64>;
94 d-cache-sets = <128>;
95 next-level-cache = <&l2_cache_l>;
100 compatible = "arm,cortex-a53";
102 enable-method = "psci";
103 capacity-dmips-mhz = <485>;
104 clocks = <&cru ARMCLKL>;
105 #cooling-cells = <2>; /* min followed by max */
106 dynamic-power-coefficient = <100>;
107 cpu-idle-states = <&CPU_SLEEP &CLUSTER_SLEEP>;
108 i-cache-size = <0x8000>;
109 i-cache-line-size = <64>;
110 i-cache-sets = <256>;
111 d-cache-size = <0x8000>;
112 d-cache-line-size = <64>;
113 d-cache-sets = <128>;
114 next-level-cache = <&l2_cache_l>;
119 compatible = "arm,cortex-a53";
121 enable-method = "psci";
122 capacity-dmips-mhz = <485>;
123 clocks = <&cru ARMCLKL>;
124 #cooling-cells = <2>; /* min followed by max */
125 dynamic-power-coefficient = <100>;
126 cpu-idle-states = <&CPU_SLEEP &CLUSTER_SLEEP>;
127 i-cache-size = <0x8000>;
128 i-cache-line-size = <64>;
129 i-cache-sets = <256>;
130 d-cache-size = <0x8000>;
131 d-cache-line-size = <64>;
132 d-cache-sets = <128>;
133 next-level-cache = <&l2_cache_l>;
138 compatible = "arm,cortex-a53";
140 enable-method = "psci";
141 capacity-dmips-mhz = <485>;
142 clocks = <&cru ARMCLKL>;
143 #cooling-cells = <2>; /* min followed by max */
144 dynamic-power-coefficient = <100>;
145 cpu-idle-states = <&CPU_SLEEP &CLUSTER_SLEEP>;
146 i-cache-size = <0x8000>;
147 i-cache-line-size = <64>;
148 i-cache-sets = <256>;
149 d-cache-size = <0x8000>;
150 d-cache-line-size = <64>;
151 d-cache-sets = <128>;
152 next-level-cache = <&l2_cache_l>;
157 compatible = "arm,cortex-a72";
159 enable-method = "psci";
160 capacity-dmips-mhz = <1024>;
161 clocks = <&cru ARMCLKB>;
162 #cooling-cells = <2>; /* min followed by max */
163 dynamic-power-coefficient = <436>;
164 cpu-idle-states = <&CPU_SLEEP &CLUSTER_SLEEP>;
165 i-cache-size = <0xC000>;
166 i-cache-line-size = <64>;
167 i-cache-sets = <256>;
168 d-cache-size = <0x8000>;
169 d-cache-line-size = <64>;
170 d-cache-sets = <256>;
171 next-level-cache = <&l2_cache_b>;
173 thermal-idle {
174 #cooling-cells = <2>;
175 duration-us = <10000>;
176 exit-latency-us = <500>;
182 compatible = "arm,cortex-a72";
184 enable-method = "psci";
185 capacity-dmips-mhz = <1024>;
186 clocks = <&cru ARMCLKB>;
187 #cooling-cells = <2>; /* min followed by max */
188 dynamic-power-coefficient = <436>;
189 cpu-idle-states = <&CPU_SLEEP &CLUSTER_SLEEP>;
190 i-cache-size = <0xC000>;
191 i-cache-line-size = <64>;
192 i-cache-sets = <256>;
193 d-cache-size = <0x8000>;
194 d-cache-line-size = <64>;
195 d-cache-sets = <256>;
196 next-level-cache = <&l2_cache_b>;
198 thermal-idle {
199 #cooling-cells = <2>;
200 duration-us = <10000>;
201 exit-latency-us = <500>;
205 l2_cache_l: l2-cache-cluster0 {
207 cache-level = <2>;
208 cache-unified;
209 cache-size = <0x80000>;
210 cache-line-size = <64>;
211 cache-sets = <512>;
214 l2_cache_b: l2-cache-cluster1 {
216 cache-level = <2>;
217 cache-unified;
218 cache-size = <0x100000>;
219 cache-line-size = <64>;
220 cache-sets = <1024>;
223 idle-states {
224 entry-method = "psci";
226 CPU_SLEEP: cpu-sleep {
227 compatible = "arm,idle-state";
228 local-timer-stop;
229 arm,psci-suspend-param = <0x0010000>;
230 entry-latency-us = <120>;
231 exit-latency-us = <250>;
232 min-residency-us = <900>;
235 CLUSTER_SLEEP: cluster-sleep {
236 compatible = "arm,idle-state";
237 local-timer-stop;
238 arm,psci-suspend-param = <0x1010000>;
239 entry-latency-us = <400>;
240 exit-latency-us = <500>;
241 min-residency-us = <2000>;
246 display-subsystem {
247 compatible = "rockchip,display-subsystem";
251 dmc: memory-controller {
252 compatible = "rockchip,rk3399-dmc";
254 devfreq-events = <&dfi>;
255 clocks = <&cru SCLK_DDRC>;
256 clock-names = "dmc_clk";
261 compatible = "arm,cortex-a53-pmu";
266 compatible = "arm,cortex-a72-pmu";
271 compatible = "arm,psci-1.0";
276 compatible = "arm,armv8-timer";
281 arm,no-tick-in-suspend;
285 compatible = "fixed-clock";
286 clock-frequency = <24000000>;
287 clock-output-names = "xin24m";
288 #clock-cells = <0>;
292 compatible = "rockchip,rk3399-pcie";
295 reg-names = "axi-base", "apb-base";
297 #address-cells = <3>;
298 #size-cells = <2>;
299 #interrupt-cells = <1>;
300 aspm-no-l0s;
301 bus-range = <0x0 0x1f>;
302 clocks = <&cru ACLK_PCIE>, <&cru ACLK_PERF_PCIE>,
303 <&cru PCLK_PCIE>, <&cru SCLK_PCIE_PM>;
304 clock-names = "aclk", "aclk-perf",
309 interrupt-names = "sys", "legacy", "client";
310 interrupt-map-mask = <0 0 0 7>;
311 interrupt-map = <0 0 0 1 &pcie0_intc 0>,
315 max-link-speed = <1>;
316 msi-map = <0x0 &its 0x0 0x1000>;
319 phy-names = "pcie-phy-0", "pcie-phy-1",
320 "pcie-phy-2", "pcie-phy-3";
323 resets = <&cru SRST_PCIE_CORE>, <&cru SRST_PCIE_MGMT>,
324 <&cru SRST_PCIE_MGMT_STICKY>, <&cru SRST_PCIE_PIPE>,
325 <&cru SRST_PCIE_PM>, <&cru SRST_P_PCIE>,
326 <&cru SRST_A_PCIE>;
327 reset-names = "core", "mgmt", "mgmt-sticky", "pipe",
331 pcie0_intc: interrupt-controller {
332 interrupt-controller;
333 #address-cells = <0>;
334 #interrupt-cells = <1>;
338 pcie0_ep: pcie-ep@f8000000 {
339 compatible = "rockchip,rk3399-pcie-ep";
342 reg-names = "apb-base", "mem-base";
343 clocks = <&cru ACLK_PCIE>, <&cru ACLK_PERF_PCIE>,
344 <&cru PCLK_PCIE>, <&cru SCLK_PCIE_PM>;
345 clock-names = "aclk", "aclk-perf",
347 max-functions = /bits/ 8 <8>;
348 num-lanes = <4>;
349 resets = <&cru SRST_PCIE_CORE>, <&cru SRST_PCIE_MGMT>,
350 <&cru SRST_PCIE_MGMT_STICKY>, <&cru SRST_PCIE_PIPE>,
351 <&cru SRST_PCIE_PM>, <&cru SRST_P_PCIE>,
352 <&cru SRST_A_PCIE>;
353 reset-names = "core", "mgmt", "mgmt-sticky", "pipe",
357 phy-names = "pcie-phy-0", "pcie-phy-1",
358 "pcie-phy-2", "pcie-phy-3";
359 rockchip,max-outbound-regions = <32>;
360 pinctrl-names = "default";
361 pinctrl-0 = <&pcie_clkreqnb_cpm>;
366 compatible = "rockchip,rk3399-gmac";
369 interrupt-names = "macirq";
370 clocks = <&cru SCLK_MAC>, <&cru SCLK_MAC_RX>,
371 <&cru SCLK_MAC_TX>, <&cru SCLK_MACREF>,
372 <&cru SCLK_MACREF_OUT>, <&cru ACLK_GMAC>,
373 <&cru PCLK_GMAC>;
374 clock-names = "stmmaceth", "mac_clk_rx",
378 power-domains = <&power RK3399_PD_GMAC>;
379 resets = <&cru SRST_A_GMAC>;
380 reset-names = "stmmaceth";
387 compatible = "rockchip,rk3399-dw-mshc",
388 "rockchip,rk3288-dw-mshc";
391 max-frequency = <150000000>;
392 clocks = <&cru HCLK_SDIO>, <&cru SCLK_SDIO>,
393 <&cru SCLK_SDIO_DRV>, <&cru SCLK_SDIO_SAMPLE>;
394 clock-names = "biu", "ciu", "ciu-drive", "ciu-sample";
395 fifo-depth = <0x100>;
396 power-domains = <&power RK3399_PD_SDIOAUDIO>;
397 resets = <&cru SRST_SDIO0>;
398 reset-names = "reset";
403 compatible = "rockchip,rk3399-dw-mshc",
404 "rockchip,rk3288-dw-mshc";
407 max-frequency = <150000000>;
408 assigned-clocks = <&cru HCLK_SD>;
409 assigned-clock-rates = <200000000>;
410 clocks = <&cru HCLK_SDMMC>, <&cru SCLK_SDMMC>,
411 <&cru SCLK_SDMMC_DRV>, <&cru SCLK_SDMMC_SAMPLE>;
412 clock-names = "biu", "ciu", "ciu-drive", "ciu-sample";
413 fifo-depth = <0x100>;
414 power-domains = <&power RK3399_PD_SD>;
415 resets = <&cru SRST_SDMMC>;
416 reset-names = "reset";
421 compatible = "rockchip,rk3399-sdhci-5.1", "arasan,sdhci-5.1";
424 arasan,soc-ctl-syscon = <&grf>;
425 assigned-clocks = <&cru SCLK_EMMC>;
426 assigned-clock-rates = <200000000>;
427 clocks = <&cru SCLK_EMMC>, <&cru ACLK_EMMC>;
428 clock-names = "clk_xin", "clk_ahb";
429 clock-output-names = "emmc_cardclock";
430 #clock-cells = <0>;
432 phy-names = "phy_arasan";
433 power-domains = <&power RK3399_PD_EMMC>;
434 disable-cqe-dcmd;
439 compatible = "generic-ehci";
442 clocks = <&cru HCLK_HOST0>, <&cru HCLK_HOST0_ARB>,
445 phy-names = "usb";
450 compatible = "generic-ohci";
453 clocks = <&cru HCLK_HOST0>, <&cru HCLK_HOST0_ARB>,
456 phy-names = "usb";
461 compatible = "generic-ehci";
464 clocks = <&cru HCLK_HOST1>, <&cru HCLK_HOST1_ARB>,
467 phy-names = "usb";
472 compatible = "generic-ohci";
475 clocks = <&cru HCLK_HOST1>, <&cru HCLK_HOST1_ARB>,
478 phy-names = "usb";
483 compatible = "arm,coresight-cpu-debug", "arm,primecell";
485 clocks = <&cru PCLK_COREDBG_L>;
486 clock-names = "apb_pclk";
491 compatible = "arm,coresight-cpu-debug", "arm,primecell";
493 clocks = <&cru PCLK_COREDBG_L>;
494 clock-names = "apb_pclk";
499 compatible = "arm,coresight-cpu-debug", "arm,primecell";
501 clocks = <&cru PCLK_COREDBG_L>;
502 clock-names = "apb_pclk";
507 compatible = "arm,coresight-cpu-debug", "arm,primecell";
509 clocks = <&cru PCLK_COREDBG_L>;
510 clock-names = "apb_pclk";
515 compatible = "arm,coresight-cpu-debug", "arm,primecell";
517 clocks = <&cru PCLK_COREDBG_B>;
518 clock-names = "apb_pclk";
523 compatible = "arm,coresight-cpu-debug", "arm,primecell";
525 clocks = <&cru PCLK_COREDBG_B>;
526 clock-names = "apb_pclk";
531 compatible = "rockchip,rk3399-dwc3";
532 #address-cells = <2>;
533 #size-cells = <2>;
535 clocks = <&cru SCLK_USB3OTG0_REF>, <&cru SCLK_USB3OTG0_SUSPEND>,
536 <&cru ACLK_USB3OTG0>, <&cru ACLK_USB3_RKSOC_AXI_PERF>,
537 <&cru ACLK_USB3>, <&cru ACLK_USB3_GRF>;
538 clock-names = "ref_clk", "suspend_clk",
541 resets = <&cru SRST_A_USB3_OTG0>;
542 reset-names = "usb3-otg";
549 clocks = <&cru SCLK_USB3OTG0_REF>, <&cru ACLK_USB3OTG0>,
550 <&cru SCLK_USB3OTG0_SUSPEND>;
551 clock-names = "ref", "bus_early", "suspend";
554 phy-names = "usb2-phy", "usb3-phy";
557 snps,dis-u2-freeclk-exists-quirk;
559 snps,dis-del-phy-power-chg-quirk;
560 snps,dis-tx-ipgap-linecheck-quirk;
561 power-domains = <&power RK3399_PD_USB3>;
567 compatible = "rockchip,rk3399-dwc3";
568 #address-cells = <2>;
569 #size-cells = <2>;
571 clocks = <&cru SCLK_USB3OTG1_REF>, <&cru SCLK_USB3OTG1_SUSPEND>,
572 <&cru ACLK_USB3OTG1>, <&cru ACLK_USB3_RKSOC_AXI_PERF>,
573 <&cru ACLK_USB3>, <&cru ACLK_USB3_GRF>;
574 clock-names = "ref_clk", "suspend_clk",
577 resets = <&cru SRST_A_USB3_OTG1>;
578 reset-names = "usb3-otg";
585 clocks = <&cru SCLK_USB3OTG1_REF>, <&cru ACLK_USB3OTG1>,
586 <&cru SCLK_USB3OTG1_SUSPEND>;
587 clock-names = "ref", "bus_early", "suspend";
590 phy-names = "usb2-phy", "usb3-phy";
593 snps,dis-u2-freeclk-exists-quirk;
595 snps,dis-del-phy-power-chg-quirk;
596 snps,dis-tx-ipgap-linecheck-quirk;
597 power-domains = <&power RK3399_PD_USB3>;
603 compatible = "rockchip,rk3399-cdn-dp";
606 assigned-clocks = <&cru SCLK_DP_CORE>, <&cru SCLK_SPDIF_REC_DPTX>;
607 assigned-clock-rates = <100000000>, <200000000>;
608 clocks = <&cru SCLK_DP_CORE>, <&cru PCLK_DP_CTRL>,
609 <&cru SCLK_SPDIF_REC_DPTX>, <&cru PCLK_VIO_GRF>;
610 clock-names = "core-clk", "pclk", "spdif", "grf";
612 power-domains = <&power RK3399_PD_HDCP>;
613 resets = <&cru SRST_DPTX_SPDIF_REC>, <&cru SRST_P_UPHY0_DPTX>,
614 <&cru SRST_P_UPHY0_APB>, <&cru SRST_DP_CORE>;
615 reset-names = "spdif", "dptx", "apb", "core";
617 #sound-dai-cells = <1>;
622 #address-cells = <1>;
623 #size-cells = <0>;
627 remote-endpoint = <&vopb_out_dp>;
632 remote-endpoint = <&vopl_out_dp>;
638 gic: interrupt-controller@fee00000 {
639 compatible = "arm,gic-v3";
640 #interrupt-cells = <4>;
641 #address-cells = <2>;
642 #size-cells = <2>;
644 interrupt-controller;
652 its: msi-controller@fee20000 {
653 compatible = "arm,gic-v3-its";
654 msi-controller;
655 #msi-cells = <1>;
659 ppi-partitions {
660 ppi_cluster0: interrupt-partition-0 {
664 ppi_cluster1: interrupt-partition-1 {
671 compatible = "rockchip,rk3399-saradc";
674 #io-channel-cells = <1>;
675 clocks = <&cru SCLK_SARADC>, <&cru PCLK_SARADC>;
676 clock-names = "saradc", "apb_pclk";
677 resets = <&cru SRST_P_SARADC>;
678 reset-names = "saradc-apb";
683 compatible = "rockchip,rk3399-crypto";
686 clocks = <&cru HCLK_M_CRYPTO0>, <&cru HCLK_S_CRYPTO0>, <&cru SCLK_CRYPTO0>;
687 clock-names = "hclk_master", "hclk_slave", "sclk";
688 resets = <&cru SRST_CRYPTO0>, <&cru SRST_CRYPTO0_S>, <&cru SRST_CRYPTO0_M>;
689 reset-names = "master", "slave", "crypto-rst";
693 compatible = "rockchip,rk3399-crypto";
696 clocks = <&cru HCLK_M_CRYPTO1>, <&cru HCLK_S_CRYPTO1>, <&cru SCLK_CRYPTO1>;
697 clock-names = "hclk_master", "hclk_slave", "sclk";
698 resets = <&cru SRST_CRYPTO1>, <&cru SRST_CRYPTO1_S>, <&cru SRST_CRYPTO1_M>;
699 reset-names = "master", "slave", "crypto-rst";
703 compatible = "rockchip,rk3399-i2c";
705 assigned-clocks = <&cru SCLK_I2C1>;
706 assigned-clock-rates = <200000000>;
707 clocks = <&cru SCLK_I2C1>, <&cru PCLK_I2C1>;
708 clock-names = "i2c", "pclk";
710 pinctrl-names = "default";
711 pinctrl-0 = <&i2c1_xfer>;
712 #address-cells = <1>;
713 #size-cells = <0>;
718 compatible = "rockchip,rk3399-i2c";
720 assigned-clocks = <&cru SCLK_I2C2>;
721 assigned-clock-rates = <200000000>;
722 clocks = <&cru SCLK_I2C2>, <&cru PCLK_I2C2>;
723 clock-names = "i2c", "pclk";
725 pinctrl-names = "default";
726 pinctrl-0 = <&i2c2_xfer>;
727 #address-cells = <1>;
728 #size-cells = <0>;
733 compatible = "rockchip,rk3399-i2c";
735 assigned-clocks = <&cru SCLK_I2C3>;
736 assigned-clock-rates = <200000000>;
737 clocks = <&cru SCLK_I2C3>, <&cru PCLK_I2C3>;
738 clock-names = "i2c", "pclk";
740 pinctrl-names = "default";
741 pinctrl-0 = <&i2c3_xfer>;
742 #address-cells = <1>;
743 #size-cells = <0>;
748 compatible = "rockchip,rk3399-i2c";
750 assigned-clocks = <&cru SCLK_I2C5>;
751 assigned-clock-rates = <200000000>;
752 clocks = <&cru SCLK_I2C5>, <&cru PCLK_I2C5>;
753 clock-names = "i2c", "pclk";
755 pinctrl-names = "default";
756 pinctrl-0 = <&i2c5_xfer>;
757 #address-cells = <1>;
758 #size-cells = <0>;
763 compatible = "rockchip,rk3399-i2c";
765 assigned-clocks = <&cru SCLK_I2C6>;
766 assigned-clock-rates = <200000000>;
767 clocks = <&cru SCLK_I2C6>, <&cru PCLK_I2C6>;
768 clock-names = "i2c", "pclk";
770 pinctrl-names = "default";
771 pinctrl-0 = <&i2c6_xfer>;
772 #address-cells = <1>;
773 #size-cells = <0>;
778 compatible = "rockchip,rk3399-i2c";
780 assigned-clocks = <&cru SCLK_I2C7>;
781 assigned-clock-rates = <200000000>;
782 clocks = <&cru SCLK_I2C7>, <&cru PCLK_I2C7>;
783 clock-names = "i2c", "pclk";
785 pinctrl-names = "default";
786 pinctrl-0 = <&i2c7_xfer>;
787 #address-cells = <1>;
788 #size-cells = <0>;
793 compatible = "rockchip,rk3399-uart", "snps,dw-apb-uart";
795 clocks = <&cru SCLK_UART0>, <&cru PCLK_UART0>;
796 clock-names = "baudclk", "apb_pclk";
798 reg-shift = <2>;
799 reg-io-width = <4>;
800 pinctrl-names = "default";
801 pinctrl-0 = <&uart0_xfer>;
806 compatible = "rockchip,rk3399-uart", "snps,dw-apb-uart";
808 clocks = <&cru SCLK_UART1>, <&cru PCLK_UART1>;
809 clock-names = "baudclk", "apb_pclk";
811 reg-shift = <2>;
812 reg-io-width = <4>;
813 pinctrl-names = "default";
814 pinctrl-0 = <&uart1_xfer>;
819 compatible = "rockchip,rk3399-uart", "snps,dw-apb-uart";
821 clocks = <&cru SCLK_UART2>, <&cru PCLK_UART2>;
822 clock-names = "baudclk", "apb_pclk";
824 reg-shift = <2>;
825 reg-io-width = <4>;
826 pinctrl-names = "default";
827 pinctrl-0 = <&uart2c_xfer>;
832 compatible = "rockchip,rk3399-uart", "snps,dw-apb-uart";
834 clocks = <&cru SCLK_UART3>, <&cru PCLK_UART3>;
835 clock-names = "baudclk", "apb_pclk";
837 reg-shift = <2>;
838 reg-io-width = <4>;
839 pinctrl-names = "default";
840 pinctrl-0 = <&uart3_xfer>;
845 compatible = "rockchip,rk3399-spi", "rockchip,rk3066-spi";
847 clocks = <&cru SCLK_SPI0>, <&cru PCLK_SPI0>;
848 clock-names = "spiclk", "apb_pclk";
851 dma-names = "tx", "rx";
852 pinctrl-names = "default";
853 pinctrl-0 = <&spi0_clk &spi0_tx &spi0_rx &spi0_cs0>;
854 #address-cells = <1>;
855 #size-cells = <0>;
860 compatible = "rockchip,rk3399-spi", "rockchip,rk3066-spi";
862 clocks = <&cru SCLK_SPI1>, <&cru PCLK_SPI1>;
863 clock-names = "spiclk", "apb_pclk";
866 dma-names = "tx", "rx";
867 pinctrl-names = "default";
868 pinctrl-0 = <&spi1_clk &spi1_tx &spi1_rx &spi1_cs0>;
869 #address-cells = <1>;
870 #size-cells = <0>;
875 compatible = "rockchip,rk3399-spi", "rockchip,rk3066-spi";
877 clocks = <&cru SCLK_SPI2>, <&cru PCLK_SPI2>;
878 clock-names = "spiclk", "apb_pclk";
881 dma-names = "tx", "rx";
882 pinctrl-names = "default";
883 pinctrl-0 = <&spi2_clk &spi2_tx &spi2_rx &spi2_cs0>;
884 #address-cells = <1>;
885 #size-cells = <0>;
890 compatible = "rockchip,rk3399-spi", "rockchip,rk3066-spi";
892 clocks = <&cru SCLK_SPI4>, <&cru PCLK_SPI4>;
893 clock-names = "spiclk", "apb_pclk";
896 dma-names = "tx", "rx";
897 pinctrl-names = "default";
898 pinctrl-0 = <&spi4_clk &spi4_tx &spi4_rx &spi4_cs0>;
899 #address-cells = <1>;
900 #size-cells = <0>;
905 compatible = "rockchip,rk3399-spi", "rockchip,rk3066-spi";
907 clocks = <&cru SCLK_SPI5>, <&cru PCLK_SPI5>;
908 clock-names = "spiclk", "apb_pclk";
911 dma-names = "tx", "rx";
912 pinctrl-names = "default";
913 pinctrl-0 = <&spi5_clk &spi5_tx &spi5_rx &spi5_cs0>;
914 power-domains = <&power RK3399_PD_SDIOAUDIO>;
915 #address-cells = <1>;
916 #size-cells = <0>;
920 thermal_zones: thermal-zones {
921 cpu_thermal: cpu-thermal {
922 polling-delay-passive = <100>;
923 polling-delay = <1000>;
925 thermal-sensors = <&tsadc 0>;
945 cooling-maps {
948 cooling-device =
954 cooling-device =
965 gpu_thermal: gpu-thermal {
966 polling-delay-passive = <100>;
967 polling-delay = <1000>;
969 thermal-sensors = <&tsadc 1>;
984 cooling-maps {
987 cooling-device =
995 compatible = "rockchip,rk3399-tsadc";
998 assigned-clocks = <&cru SCLK_TSADC>;
999 assigned-clock-rates = <750000>;
1000 clocks = <&cru SCLK_TSADC>, <&cru PCLK_TSADC>;
1001 clock-names = "tsadc", "apb_pclk";
1002 resets = <&cru SRST_TSADC>;
1003 reset-names = "tsadc-apb";
1005 rockchip,hw-tshut-temp = <95000>;
1006 pinctrl-names = "init", "default", "sleep";
1007 pinctrl-0 = <&otp_pin>;
1008 pinctrl-1 = <&otp_out>;
1009 pinctrl-2 = <&otp_pin>;
1010 #thermal-sensor-cells = <1>;
1015 compatible = "rockchip,rk3399-qos", "syscon";
1020 compatible = "rockchip,rk3399-qos", "syscon";
1025 compatible = "rockchip,rk3399-qos", "syscon";
1030 compatible = "rockchip,rk3399-qos", "syscon";
1035 compatible = "rockchip,rk3399-qos", "syscon";
1040 compatible = "rockchip,rk3399-qos", "syscon";
1045 compatible = "rockchip,rk3399-qos", "syscon";
1050 compatible = "rockchip,rk3399-qos", "syscon";
1055 compatible = "rockchip,rk3399-qos", "syscon";
1060 compatible = "rockchip,rk3399-qos", "syscon";
1065 compatible = "rockchip,rk3399-qos", "syscon";
1070 compatible = "rockchip,rk3399-qos", "syscon";
1075 compatible = "rockchip,rk3399-qos", "syscon";
1080 compatible = "rockchip,rk3399-qos", "syscon";
1085 compatible = "rockchip,rk3399-qos", "syscon";
1090 compatible = "rockchip,rk3399-qos", "syscon";
1095 compatible = "rockchip,rk3399-qos", "syscon";
1100 compatible = "rockchip,rk3399-qos", "syscon";
1105 compatible = "rockchip,rk3399-qos", "syscon";
1110 compatible = "rockchip,rk3399-qos", "syscon";
1115 compatible = "rockchip,rk3399-qos", "syscon";
1120 compatible = "rockchip,rk3399-qos", "syscon";
1125 compatible = "rockchip,rk3399-qos", "syscon";
1130 compatible = "rockchip,rk3399-qos", "syscon";
1135 compatible = "rockchip,rk3399-qos", "syscon";
1139 pmu: power-management@ff310000 {
1140 compatible = "rockchip,rk3399-pmu", "syscon", "simple-mfd";
1150 power: power-controller {
1151 compatible = "rockchip,rk3399-power-controller";
1152 #power-domain-cells = <1>;
1153 #address-cells = <1>;
1154 #size-cells = <0>;
1157 power-domain@RK3399_PD_IEP {
1159 clocks = <&cru ACLK_IEP>,
1160 <&cru HCLK_IEP>;
1162 #power-domain-cells = <0>;
1164 power-domain@RK3399_PD_RGA {
1166 clocks = <&cru ACLK_RGA>,
1167 <&cru HCLK_RGA>;
1170 #power-domain-cells = <0>;
1172 power-domain@RK3399_PD_VCODEC {
1174 clocks = <&cru ACLK_VCODEC>,
1175 <&cru HCLK_VCODEC>;
1177 #power-domain-cells = <0>;
1179 power-domain@RK3399_PD_VDU {
1181 clocks = <&cru ACLK_VDU>,
1182 <&cru HCLK_VDU>,
1183 <&cru SCLK_VDU_CA>,
1184 <&cru SCLK_VDU_CORE>;
1187 #power-domain-cells = <0>;
1191 power-domain@RK3399_PD_GPU {
1193 clocks = <&cru ACLK_GPU>;
1195 #power-domain-cells = <0>;
1199 power-domain@RK3399_PD_EDP {
1201 clocks = <&cru PCLK_EDP_CTRL>;
1202 #power-domain-cells = <0>;
1204 power-domain@RK3399_PD_EMMC {
1206 clocks = <&cru ACLK_EMMC>;
1208 #power-domain-cells = <0>;
1210 power-domain@RK3399_PD_GMAC {
1212 clocks = <&cru ACLK_GMAC>,
1213 <&cru PCLK_GMAC>;
1215 #power-domain-cells = <0>;
1217 power-domain@RK3399_PD_SD {
1219 clocks = <&cru HCLK_SDMMC>,
1220 <&cru SCLK_SDMMC>;
1222 #power-domain-cells = <0>;
1224 power-domain@RK3399_PD_SDIOAUDIO {
1226 clocks = <&cru HCLK_SDIO>;
1228 #power-domain-cells = <0>;
1230 power-domain@RK3399_PD_TCPD0 {
1232 clocks = <&cru SCLK_UPHY0_TCPDCORE>,
1233 <&cru SCLK_UPHY0_TCPDPHY_REF>;
1234 #power-domain-cells = <0>;
1236 power-domain@RK3399_PD_TCPD1 {
1238 clocks = <&cru SCLK_UPHY1_TCPDCORE>,
1239 <&cru SCLK_UPHY1_TCPDPHY_REF>;
1240 #power-domain-cells = <0>;
1242 power-domain@RK3399_PD_USB3 {
1244 clocks = <&cru ACLK_USB3>;
1247 #power-domain-cells = <0>;
1249 power-domain@RK3399_PD_VIO {
1251 #power-domain-cells = <1>;
1252 #address-cells = <1>;
1253 #size-cells = <0>;
1255 power-domain@RK3399_PD_HDCP {
1257 clocks = <&cru ACLK_HDCP>,
1258 <&cru HCLK_HDCP>,
1259 <&cru PCLK_HDCP>;
1261 #power-domain-cells = <0>;
1263 power-domain@RK3399_PD_ISP0 {
1265 clocks = <&cru ACLK_ISP0>,
1266 <&cru HCLK_ISP0>;
1269 #power-domain-cells = <0>;
1271 power-domain@RK3399_PD_ISP1 {
1273 clocks = <&cru ACLK_ISP1>,
1274 <&cru HCLK_ISP1>;
1277 #power-domain-cells = <0>;
1279 power-domain@RK3399_PD_VO {
1281 #power-domain-cells = <1>;
1282 #address-cells = <1>;
1283 #size-cells = <0>;
1285 power-domain@RK3399_PD_VOPB {
1287 clocks = <&cru ACLK_VOP0>,
1288 <&cru HCLK_VOP0>;
1291 #power-domain-cells = <0>;
1293 power-domain@RK3399_PD_VOPL {
1295 clocks = <&cru ACLK_VOP1>,
1296 <&cru HCLK_VOP1>;
1298 #power-domain-cells = <0>;
1306 compatible = "rockchip,rk3399-pmugrf", "syscon", "simple-mfd";
1309 pmu_io_domains: io-domains {
1310 compatible = "rockchip,rk3399-pmu-io-voltage-domain";
1316 compatible = "rockchip,rk3399-spi", "rockchip,rk3066-spi";
1319 clock-names = "spiclk", "apb_pclk";
1321 pinctrl-names = "default";
1322 pinctrl-0 = <&spi3_clk &spi3_tx &spi3_rx &spi3_cs0>;
1323 #address-cells = <1>;
1324 #size-cells = <0>;
1329 compatible = "rockchip,rk3399-uart", "snps,dw-apb-uart";
1332 clock-names = "baudclk", "apb_pclk";
1334 reg-shift = <2>;
1335 reg-io-width = <4>;
1336 pinctrl-names = "default";
1337 pinctrl-0 = <&uart4_xfer>;
1342 compatible = "rockchip,rk3399-i2c";
1344 assigned-clocks = <&pmucru SCLK_I2C0_PMU>;
1345 assigned-clock-rates = <200000000>;
1347 clock-names = "i2c", "pclk";
1349 pinctrl-names = "default";
1350 pinctrl-0 = <&i2c0_xfer>;
1351 #address-cells = <1>;
1352 #size-cells = <0>;
1357 compatible = "rockchip,rk3399-i2c";
1359 assigned-clocks = <&pmucru SCLK_I2C4_PMU>;
1360 assigned-clock-rates = <200000000>;
1362 clock-names = "i2c", "pclk";
1364 pinctrl-names = "default";
1365 pinctrl-0 = <&i2c4_xfer>;
1366 #address-cells = <1>;
1367 #size-cells = <0>;
1372 compatible = "rockchip,rk3399-i2c";
1374 assigned-clocks = <&pmucru SCLK_I2C8_PMU>;
1375 assigned-clock-rates = <200000000>;
1377 clock-names = "i2c", "pclk";
1379 pinctrl-names = "default";
1380 pinctrl-0 = <&i2c8_xfer>;
1381 #address-cells = <1>;
1382 #size-cells = <0>;
1387 compatible = "rockchip,rk3399-pwm", "rockchip,rk3288-pwm";
1389 #pwm-cells = <3>;
1390 pinctrl-names = "default";
1391 pinctrl-0 = <&pwm0_pin>;
1397 compatible = "rockchip,rk3399-pwm", "rockchip,rk3288-pwm";
1399 #pwm-cells = <3>;
1400 pinctrl-names = "default";
1401 pinctrl-0 = <&pwm1_pin>;
1407 compatible = "rockchip,rk3399-pwm", "rockchip,rk3288-pwm";
1409 #pwm-cells = <3>;
1410 pinctrl-names = "default";
1411 pinctrl-0 = <&pwm2_pin>;
1417 compatible = "rockchip,rk3399-pwm", "rockchip,rk3288-pwm";
1419 #pwm-cells = <3>;
1420 pinctrl-names = "default";
1421 pinctrl-0 = <&pwm3a_pin>;
1428 compatible = "rockchip,rk3399-dfi";
1431 clocks = <&cru PCLK_DDR_MON>;
1432 clock-names = "pclk_ddr_mon";
1435 vpu: video-codec@ff650000 {
1436 compatible = "rockchip,rk3399-vpu";
1440 interrupt-names = "vepu", "vdpu";
1441 clocks = <&cru ACLK_VCODEC>, <&cru HCLK_VCODEC>;
1442 clock-names = "aclk", "hclk";
1444 power-domains = <&power RK3399_PD_VCODEC>;
1451 clocks = <&cru ACLK_VCODEC>, <&cru HCLK_VCODEC>;
1452 clock-names = "aclk", "iface";
1453 #iommu-cells = <0>;
1454 power-domains = <&power RK3399_PD_VCODEC>;
1457 vdec: video-codec@ff660000 {
1458 compatible = "rockchip,rk3399-vdec";
1461 clocks = <&cru ACLK_VDU>, <&cru HCLK_VDU>,
1462 <&cru SCLK_VDU_CA>, <&cru SCLK_VDU_CORE>;
1463 clock-names = "axi", "ahb", "cabac", "core";
1465 power-domains = <&power RK3399_PD_VDU>;
1472 clocks = <&cru ACLK_VDU>, <&cru HCLK_VDU>;
1473 clock-names = "aclk", "iface";
1474 power-domains = <&power RK3399_PD_VDU>;
1475 #iommu-cells = <0>;
1482 clocks = <&cru ACLK_IEP>, <&cru HCLK_IEP>;
1483 clock-names = "aclk", "iface";
1484 #iommu-cells = <0>;
1489 compatible = "rockchip,rk3399-rga";
1492 clocks = <&cru ACLK_RGA>, <&cru HCLK_RGA>, <&cru SCLK_RGA_CORE>;
1493 clock-names = "aclk", "hclk", "sclk";
1494 resets = <&cru SRST_RGA_CORE>, <&cru SRST_A_RGA>, <&cru SRST_H_RGA>;
1495 reset-names = "core", "axi", "ahb";
1496 power-domains = <&power RK3399_PD_RGA>;
1500 compatible = "rockchip,rk3399-efuse";
1502 #address-cells = <1>;
1503 #size-cells = <1>;
1504 clocks = <&cru PCLK_EFUSE1024NS>;
1505 clock-names = "pclk_efuse";
1508 cpu_id: cpu-id@7 {
1511 cpub_leakage: cpu-leakage@17 {
1514 gpu_leakage: gpu-leakage@18 {
1517 center_leakage: center-leakage@19 {
1520 cpul_leakage: cpu-leakage@1a {
1523 logic_leakage: logic-leakage@1b {
1526 wafer_info: wafer-info@1c {
1531 dmac_bus: dma-controller@ff6d0000 {
1536 #dma-cells = <1>;
1537 arm,pl330-periph-burst;
1538 clocks = <&cru ACLK_DMAC0_PERILP>;
1539 clock-names = "apb_pclk";
1542 dmac_peri: dma-controller@ff6e0000 {
1547 #dma-cells = <1>;
1548 arm,pl330-periph-burst;
1549 clocks = <&cru ACLK_DMAC1_PERILP>;
1550 clock-names = "apb_pclk";
1553 pmucru: clock-controller@ff750000 {
1554 compatible = "rockchip,rk3399-pmucru";
1557 clock-names = "xin24m";
1559 #clock-cells = <1>;
1560 #reset-cells = <1>;
1561 assigned-clocks = <&pmucru PLL_PPLL>;
1562 assigned-clock-rates = <676000000>;
1565 cru: clock-controller@ff760000 { label
1566 compatible = "rockchip,rk3399-cru";
1569 clock-names = "xin24m";
1571 #clock-cells = <1>;
1572 #reset-cells = <1>;
1573 assigned-clocks =
1574 <&cru PLL_GPLL>, <&cru PLL_CPLL>,
1575 <&cru PLL_NPLL>,
1576 <&cru ACLK_PERIHP>, <&cru HCLK_PERIHP>,
1577 <&cru PCLK_PERIHP>,
1578 <&cru ACLK_PERILP0>, <&cru HCLK_PERILP0>,
1579 <&cru PCLK_PERILP0>, <&cru ACLK_CCI>,
1580 <&cru HCLK_PERILP1>, <&cru PCLK_PERILP1>,
1581 <&cru ACLK_VIO>, <&cru ACLK_HDCP>,
1582 <&cru ACLK_GIC_PRE>,
1583 <&cru PCLK_DDR>,
1584 <&cru ACLK_VDU>;
1585 assigned-clock-rates =
1600 compatible = "rockchip,rk3399-grf", "syscon", "simple-mfd";
1602 #address-cells = <1>;
1603 #size-cells = <1>;
1605 io_domains: io-domains {
1606 compatible = "rockchip,rk3399-io-voltage-domain";
1610 mipi_dphy_rx0: mipi-dphy-rx0 {
1611 compatible = "rockchip,rk3399-mipi-dphy-rx0";
1612 clocks = <&cru SCLK_MIPIDPHY_REF>,
1613 <&cru SCLK_DPHY_RX0_CFG>,
1614 <&cru PCLK_VIO_GRF>;
1615 clock-names = "dphy-ref", "dphy-cfg", "grf";
1616 power-domains = <&power RK3399_PD_VIO>;
1617 #phy-cells = <0>;
1622 compatible = "rockchip,rk3399-usb2phy";
1624 clocks = <&cru SCLK_USB2PHY0_REF>;
1625 clock-names = "phyclk";
1626 #clock-cells = <0>;
1627 clock-output-names = "clk_usbphy0_480m";
1630 u2phy0_host: host-port {
1631 #phy-cells = <0>;
1633 interrupt-names = "linestate";
1637 u2phy0_otg: otg-port {
1638 #phy-cells = <0>;
1642 interrupt-names = "otg-bvalid", "otg-id",
1649 compatible = "rockchip,rk3399-usb2phy";
1651 clocks = <&cru SCLK_USB2PHY1_REF>;
1652 clock-names = "phyclk";
1653 #clock-cells = <0>;
1654 clock-output-names = "clk_usbphy1_480m";
1657 u2phy1_host: host-port {
1658 #phy-cells = <0>;
1660 interrupt-names = "linestate";
1664 u2phy1_otg: otg-port {
1665 #phy-cells = <0>;
1669 interrupt-names = "otg-bvalid", "otg-id",
1676 compatible = "rockchip,rk3399-emmc-phy";
1679 clock-names = "emmcclk";
1680 drive-impedance-ohm = <50>;
1681 #phy-cells = <0>;
1685 pcie_phy: pcie-phy {
1686 compatible = "rockchip,rk3399-pcie-phy";
1687 clocks = <&cru SCLK_PCIEPHY_REF>;
1688 clock-names = "refclk";
1689 #phy-cells = <1>;
1690 resets = <&cru SRST_PCIEPHY>;
1691 reset-names = "phy";
1697 compatible = "rockchip,rk3399-typec-phy";
1699 clocks = <&cru SCLK_UPHY0_TCPDCORE>,
1700 <&cru SCLK_UPHY0_TCPDPHY_REF>;
1701 clock-names = "tcpdcore", "tcpdphy-ref";
1702 assigned-clocks = <&cru SCLK_UPHY0_TCPDCORE>;
1703 assigned-clock-rates = <50000000>;
1704 power-domains = <&power RK3399_PD_TCPD0>;
1705 resets = <&cru SRST_UPHY0>,
1706 <&cru SRST_UPHY0_PIPE_L00>,
1707 <&cru SRST_P_UPHY0_TCPHY>;
1708 reset-names = "uphy", "uphy-pipe", "uphy-tcphy";
1712 tcphy0_dp: dp-port {
1713 #phy-cells = <0>;
1716 tcphy0_usb3: usb3-port {
1717 #phy-cells = <0>;
1722 compatible = "rockchip,rk3399-typec-phy";
1724 clocks = <&cru SCLK_UPHY1_TCPDCORE>,
1725 <&cru SCLK_UPHY1_TCPDPHY_REF>;
1726 clock-names = "tcpdcore", "tcpdphy-ref";
1727 assigned-clocks = <&cru SCLK_UPHY1_TCPDCORE>;
1728 assigned-clock-rates = <50000000>;
1729 power-domains = <&power RK3399_PD_TCPD1>;
1730 resets = <&cru SRST_UPHY1>,
1731 <&cru SRST_UPHY1_PIPE_L00>,
1732 <&cru SRST_P_UPHY1_TCPHY>;
1733 reset-names = "uphy", "uphy-pipe", "uphy-tcphy";
1737 tcphy1_dp: dp-port {
1738 #phy-cells = <0>;
1741 tcphy1_usb3: usb3-port {
1742 #phy-cells = <0>;
1747 compatible = "rockchip,rk3399-wdt", "snps,dw-wdt";
1749 clocks = <&cru PCLK_WDT>;
1754 compatible = "rockchip,rk3399-timer";
1757 clocks = <&cru PCLK_TIMER0>, <&cru SCLK_TIMER00>;
1758 clock-names = "pclk", "timer";
1762 compatible = "rockchip,rk3399-spdif";
1766 dma-names = "tx";
1767 clock-names = "mclk", "hclk";
1768 clocks = <&cru SCLK_SPDIF_8CH>, <&cru HCLK_SPDIF>;
1769 pinctrl-names = "default";
1770 pinctrl-0 = <&spdif_bus>;
1771 power-domains = <&power RK3399_PD_SDIOAUDIO>;
1772 #sound-dai-cells = <0>;
1777 compatible = "rockchip,rk3399-i2s", "rockchip,rk3066-i2s";
1782 dma-names = "tx", "rx";
1783 clock-names = "i2s_clk", "i2s_hclk";
1784 clocks = <&cru SCLK_I2S0_8CH>, <&cru HCLK_I2S0_8CH>;
1785 pinctrl-names = "bclk_on", "bclk_off";
1786 pinctrl-0 = <&i2s0_8ch_bus>;
1787 pinctrl-1 = <&i2s0_8ch_bus_bclk_off>;
1788 power-domains = <&power RK3399_PD_SDIOAUDIO>;
1789 #sound-dai-cells = <0>;
1794 compatible = "rockchip,rk3399-i2s", "rockchip,rk3066-i2s";
1798 dma-names = "tx", "rx";
1799 clock-names = "i2s_clk", "i2s_hclk";
1800 clocks = <&cru SCLK_I2S1_8CH>, <&cru HCLK_I2S1_8CH>;
1801 pinctrl-names = "default";
1802 pinctrl-0 = <&i2s1_2ch_bus>;
1803 power-domains = <&power RK3399_PD_SDIOAUDIO>;
1804 #sound-dai-cells = <0>;
1809 compatible = "rockchip,rk3399-i2s", "rockchip,rk3066-i2s";
1813 dma-names = "tx", "rx";
1814 clock-names = "i2s_clk", "i2s_hclk";
1815 clocks = <&cru SCLK_I2S2_8CH>, <&cru HCLK_I2S2_8CH>;
1816 power-domains = <&power RK3399_PD_SDIOAUDIO>;
1817 #sound-dai-cells = <0>;
1822 compatible = "rockchip,rk3399-vop-lit";
1825 assigned-clocks = <&cru ACLK_VOP1>, <&cru HCLK_VOP1>;
1826 assigned-clock-rates = <400000000>, <100000000>;
1827 clocks = <&cru ACLK_VOP1>, <&cru DCLK_VOP1>, <&cru HCLK_VOP1>;
1828 clock-names = "aclk_vop", "dclk_vop", "hclk_vop";
1830 power-domains = <&power RK3399_PD_VOPL>;
1831 resets = <&cru SRST_A_VOP1>, <&cru SRST_H_VOP1>, <&cru SRST_D_VOP1>;
1832 reset-names = "axi", "ahb", "dclk";
1836 #address-cells = <1>;
1837 #size-cells = <0>;
1841 remote-endpoint = <&mipi_in_vopl>;
1846 remote-endpoint = <&edp_in_vopl>;
1851 remote-endpoint = <&hdmi_in_vopl>;
1856 remote-endpoint = <&mipi1_in_vopl>;
1861 remote-endpoint = <&dp_in_vopl>;
1870 clocks = <&cru ACLK_VOP1>, <&cru HCLK_VOP1>;
1871 clock-names = "aclk", "iface";
1872 power-domains = <&power RK3399_PD_VOPL>;
1873 #iommu-cells = <0>;
1878 compatible = "rockchip,rk3399-vop-big";
1881 assigned-clocks = <&cru ACLK_VOP0>, <&cru HCLK_VOP0>;
1882 assigned-clock-rates = <400000000>, <100000000>;
1883 clocks = <&cru ACLK_VOP0>, <&cru DCLK_VOP0>, <&cru HCLK_VOP0>;
1884 clock-names = "aclk_vop", "dclk_vop", "hclk_vop";
1886 power-domains = <&power RK3399_PD_VOPB>;
1887 resets = <&cru SRST_A_VOP0>, <&cru SRST_H_VOP0>, <&cru SRST_D_VOP0>;
1888 reset-names = "axi", "ahb", "dclk";
1892 #address-cells = <1>;
1893 #size-cells = <0>;
1897 remote-endpoint = <&edp_in_vopb>;
1902 remote-endpoint = <&mipi_in_vopb>;
1907 remote-endpoint = <&hdmi_in_vopb>;
1912 remote-endpoint = <&mipi1_in_vopb>;
1917 remote-endpoint = <&dp_in_vopb>;
1926 clocks = <&cru ACLK_VOP0>, <&cru HCLK_VOP0>;
1927 clock-names = "aclk", "iface";
1928 power-domains = <&power RK3399_PD_VOPB>;
1929 #iommu-cells = <0>;
1934 compatible = "rockchip,rk3399-cif-isp";
1937 clocks = <&cru SCLK_ISP0>,
1938 <&cru ACLK_ISP0_WRAPPER>,
1939 <&cru HCLK_ISP0_WRAPPER>;
1940 clock-names = "isp", "aclk", "hclk";
1943 phy-names = "dphy";
1944 power-domains = <&power RK3399_PD_ISP0>;
1948 #address-cells = <1>;
1949 #size-cells = <0>;
1953 #address-cells = <1>;
1954 #size-cells = <0>;
1963 clocks = <&cru ACLK_ISP0_WRAPPER>, <&cru HCLK_ISP0_WRAPPER>;
1964 clock-names = "aclk", "iface";
1965 #iommu-cells = <0>;
1966 power-domains = <&power RK3399_PD_ISP0>;
1967 rockchip,disable-mmu-reset;
1971 compatible = "rockchip,rk3399-cif-isp";
1974 clocks = <&cru SCLK_ISP1>,
1975 <&cru ACLK_ISP1_WRAPPER>,
1976 <&cru HCLK_ISP1_WRAPPER>;
1977 clock-names = "isp", "aclk", "hclk";
1980 phy-names = "dphy";
1981 power-domains = <&power RK3399_PD_ISP1>;
1985 #address-cells = <1>;
1986 #size-cells = <0>;
1990 #address-cells = <1>;
1991 #size-cells = <0>;
2000 clocks = <&cru ACLK_ISP1_WRAPPER>, <&cru HCLK_ISP1_WRAPPER>;
2001 clock-names = "aclk", "iface";
2002 #iommu-cells = <0>;
2003 power-domains = <&power RK3399_PD_ISP1>;
2004 rockchip,disable-mmu-reset;
2007 hdmi_sound: hdmi-sound {
2008 compatible = "simple-audio-card";
2009 simple-audio-card,format = "i2s";
2010 simple-audio-card,mclk-fs = <256>;
2011 simple-audio-card,name = "hdmi-sound";
2014 simple-audio-card,cpu {
2015 sound-dai = <&i2s2>;
2017 simple-audio-card,codec {
2018 sound-dai = <&hdmi>;
2023 compatible = "rockchip,rk3399-dw-hdmi";
2025 reg-io-width = <4>;
2027 clocks = <&cru PCLK_HDMI_CTRL>,
2028 <&cru SCLK_HDMI_SFR>,
2029 <&cru SCLK_HDMI_CEC>,
2030 <&cru PCLK_VIO_GRF>,
2031 <&cru PLL_VPLL>;
2032 clock-names = "iahb", "isfr", "cec", "grf", "ref";
2033 power-domains = <&power RK3399_PD_HDCP>;
2035 #sound-dai-cells = <0>;
2039 #address-cells = <1>;
2040 #size-cells = <0>;
2044 #address-cells = <1>;
2045 #size-cells = <0>;
2049 remote-endpoint = <&vopb_out_hdmi>;
2053 remote-endpoint = <&vopl_out_hdmi>;
2064 compatible = "rockchip,rk3399-mipi-dsi", "snps,dw-mipi-dsi";
2067 clocks = <&cru SCLK_DPHY_PLL>, <&cru PCLK_MIPI_DSI0>,
2068 <&cru SCLK_DPHY_TX0_CFG>, <&cru PCLK_VIO_GRF>;
2069 clock-names = "ref", "pclk", "phy_cfg", "grf";
2070 power-domains = <&power RK3399_PD_VIO>;
2071 resets = <&cru SRST_P_MIPI_DSI0>;
2072 reset-names = "apb";
2074 #address-cells = <1>;
2075 #size-cells = <0>;
2079 #address-cells = <1>;
2080 #size-cells = <0>;
2084 #address-cells = <1>;
2085 #size-cells = <0>;
2089 remote-endpoint = <&vopb_out_mipi>;
2094 remote-endpoint = <&vopl_out_mipi>;
2105 compatible = "rockchip,rk3399-mipi-dsi", "snps,dw-mipi-dsi";
2108 clocks = <&cru SCLK_DPHY_PLL>, <&cru PCLK_MIPI_DSI1>,
2109 <&cru SCLK_DPHY_TX1RX1_CFG>, <&cru PCLK_VIO_GRF>;
2110 clock-names = "ref", "pclk", "phy_cfg", "grf";
2111 power-domains = <&power RK3399_PD_VIO>;
2112 resets = <&cru SRST_P_MIPI_DSI1>;
2113 reset-names = "apb";
2115 #address-cells = <1>;
2116 #size-cells = <0>;
2117 #phy-cells = <0>;
2121 #address-cells = <1>;
2122 #size-cells = <0>;
2126 #address-cells = <1>;
2127 #size-cells = <0>;
2131 remote-endpoint = <&vopb_out_mipi1>;
2136 remote-endpoint = <&vopl_out_mipi1>;
2147 compatible = "rockchip,rk3399-edp";
2150 clocks = <&cru PCLK_EDP>, <&cru PCLK_EDP_CTRL>, <&cru PCLK_VIO_GRF>;
2151 clock-names = "dp", "pclk", "grf";
2152 pinctrl-names = "default";
2153 pinctrl-0 = <&edp_hpd>;
2154 power-domains = <&power RK3399_PD_EDP>;
2155 resets = <&cru SRST_P_EDP_CTRL>;
2156 reset-names = "dp";
2161 #address-cells = <1>;
2162 #size-cells = <0>;
2166 #address-cells = <1>;
2167 #size-cells = <0>;
2171 remote-endpoint = <&vopb_out_edp>;
2176 remote-endpoint = <&vopl_out_edp>;
2187 compatible = "rockchip,rk3399-mali", "arm,mali-t860";
2192 interrupt-names = "job", "mmu", "gpu";
2193 clocks = <&cru ACLK_GPU>;
2194 #cooling-cells = <2>;
2195 dynamic-power-coefficient = <2640>;
2196 power-domains = <&power RK3399_PD_GPU>;
2201 compatible = "rockchip,rk3399-pinctrl";
2204 #address-cells = <2>;
2205 #size-cells = <2>;
2209 compatible = "rockchip,gpio-bank";
2214 gpio-controller;
2215 #gpio-cells = <0x2>;
2217 interrupt-controller;
2218 #interrupt-cells = <0x2>;
2222 compatible = "rockchip,gpio-bank";
2227 gpio-controller;
2228 #gpio-cells = <0x2>;
2230 interrupt-controller;
2231 #interrupt-cells = <0x2>;
2235 compatible = "rockchip,gpio-bank";
2237 clocks = <&cru PCLK_GPIO2>;
2240 gpio-controller;
2241 #gpio-cells = <0x2>;
2243 interrupt-controller;
2244 #interrupt-cells = <0x2>;
2248 compatible = "rockchip,gpio-bank";
2250 clocks = <&cru PCLK_GPIO3>;
2253 gpio-controller;
2254 #gpio-cells = <0x2>;
2256 interrupt-controller;
2257 #interrupt-cells = <0x2>;
2261 compatible = "rockchip,gpio-bank";
2263 clocks = <&cru PCLK_GPIO4>;
2266 gpio-controller;
2267 #gpio-cells = <0x2>;
2269 interrupt-controller;
2270 #interrupt-cells = <0x2>;
2273 pcfg_pull_up: pcfg-pull-up {
2274 bias-pull-up;
2277 pcfg_pull_down: pcfg-pull-down {
2278 bias-pull-down;
2281 pcfg_pull_none: pcfg-pull-none {
2282 bias-disable;
2285 pcfg_pull_none_12ma: pcfg-pull-none-12ma {
2286 bias-disable;
2287 drive-strength = <12>;
2290 pcfg_pull_none_13ma: pcfg-pull-none-13ma {
2291 bias-disable;
2292 drive-strength = <13>;
2295 pcfg_pull_none_18ma: pcfg-pull-none-18ma {
2296 bias-disable;
2297 drive-strength = <18>;
2300 pcfg_pull_none_20ma: pcfg-pull-none-20ma {
2301 bias-disable;
2302 drive-strength = <20>;
2305 pcfg_pull_up_2ma: pcfg-pull-up-2ma {
2306 bias-pull-up;
2307 drive-strength = <2>;
2310 pcfg_pull_up_8ma: pcfg-pull-up-8ma {
2311 bias-pull-up;
2312 drive-strength = <8>;
2315 pcfg_pull_up_18ma: pcfg-pull-up-18ma {
2316 bias-pull-up;
2317 drive-strength = <18>;
2320 pcfg_pull_up_20ma: pcfg-pull-up-20ma {
2321 bias-pull-up;
2322 drive-strength = <20>;
2325 pcfg_pull_down_4ma: pcfg-pull-down-4ma {
2326 bias-pull-down;
2327 drive-strength = <4>;
2330 pcfg_pull_down_8ma: pcfg-pull-down-8ma {
2331 bias-pull-down;
2332 drive-strength = <8>;
2335 pcfg_pull_down_12ma: pcfg-pull-down-12ma {
2336 bias-pull-down;
2337 drive-strength = <12>;
2340 pcfg_pull_down_18ma: pcfg-pull-down-18ma {
2341 bias-pull-down;
2342 drive-strength = <18>;
2345 pcfg_pull_down_20ma: pcfg-pull-down-20ma {
2346 bias-pull-down;
2347 drive-strength = <20>;
2350 pcfg_output_high: pcfg-output-high {
2351 output-high;
2354 pcfg_output_low: pcfg-output-low {
2355 output-low;
2358 pcfg_input_enable: pcfg-input-enable {
2359 input-enable;
2362 pcfg_input_pull_up: pcfg-input-pull-up {
2363 input-enable;
2364 bias-pull-up;
2367 pcfg_input_pull_down: pcfg-input-pull-down {
2368 input-enable;
2369 bias-pull-down;
2373 clk_32k: clk-32k {
2379 cif_clkin: cif-clkin {
2384 cif_clkouta: cif-clkouta {
2391 edp_hpd: edp-hpd {
2398 rgmii_pins: rgmii-pins {
2432 rmii_pins: rmii-pins {
2458 i2c0_xfer: i2c0-xfer {
2466 i2c1_xfer: i2c1-xfer {
2474 i2c2_xfer: i2c2-xfer {
2482 i2c3_xfer: i2c3-xfer {
2490 i2c4_xfer: i2c4-xfer {
2498 i2c5_xfer: i2c5-xfer {
2506 i2c6_xfer: i2c6-xfer {
2514 i2c7_xfer: i2c7-xfer {
2522 i2c8_xfer: i2c8-xfer {
2530 i2s0_2ch_bus: i2s0-2ch-bus {
2540 i2s0_2ch_bus_bclk_off: i2s0-2ch-bus-bclk-off {
2550 i2s0_8ch_bus: i2s0-8ch-bus {
2563 i2s0_8ch_bus_bclk_off: i2s0-8ch-bus-bclk-off {
2578 i2s1_2ch_bus: i2s1-2ch-bus {
2587 i2s1_2ch_bus_bclk_off: i2s1-2ch-bus-bclk-off {
2598 sdio0_bus1: sdio0-bus1 {
2603 sdio0_bus4: sdio0-bus4 {
2611 sdio0_cmd: sdio0-cmd {
2616 sdio0_clk: sdio0-clk {
2621 sdio0_cd: sdio0-cd {
2626 sdio0_pwr: sdio0-pwr {
2631 sdio0_bkpwr: sdio0-bkpwr {
2636 sdio0_wp: sdio0-wp {
2641 sdio0_int: sdio0-int {
2648 sdmmc_bus1: sdmmc-bus1 {
2653 sdmmc_bus4: sdmmc-bus4 {
2661 sdmmc_clk: sdmmc-clk {
2666 sdmmc_cmd: sdmmc-cmd {
2671 sdmmc_cd: sdmmc-cd {
2676 sdmmc_wp: sdmmc-wp {
2683 ap_pwroff: ap-pwroff {
2687 ddrio_pwroff: ddrio-pwroff {
2693 spdif_bus: spdif-bus {
2698 spdif_bus_1: spdif-bus-1 {
2705 spi0_clk: spi0-clk {
2709 spi0_cs0: spi0-cs0 {
2713 spi0_cs1: spi0-cs1 {
2717 spi0_tx: spi0-tx {
2721 spi0_rx: spi0-rx {
2728 spi1_clk: spi1-clk {
2732 spi1_cs0: spi1-cs0 {
2736 spi1_rx: spi1-rx {
2740 spi1_tx: spi1-tx {
2747 spi2_clk: spi2-clk {
2751 spi2_cs0: spi2-cs0 {
2755 spi2_rx: spi2-rx {
2759 spi2_tx: spi2-tx {
2766 spi3_clk: spi3-clk {
2770 spi3_cs0: spi3-cs0 {
2774 spi3_rx: spi3-rx {
2778 spi3_tx: spi3-tx {
2785 spi4_clk: spi4-clk {
2789 spi4_cs0: spi4-cs0 {
2793 spi4_rx: spi4-rx {
2797 spi4_tx: spi4-tx {
2804 spi5_clk: spi5-clk {
2808 spi5_cs0: spi5-cs0 {
2812 spi5_rx: spi5-rx {
2816 spi5_tx: spi5-tx {
2823 test_clkout0: test-clkout0 {
2828 test_clkout1: test-clkout1 {
2833 test_clkout2: test-clkout2 {
2840 otp_pin: otp-pin {
2844 otp_out: otp-out {
2850 uart0_xfer: uart0-xfer {
2856 uart0_cts: uart0-cts {
2861 uart0_rts: uart0-rts {
2868 uart1_xfer: uart1-xfer {
2876 uart2a_xfer: uart2a-xfer {
2884 uart2b_xfer: uart2b-xfer {
2892 uart2c_xfer: uart2c-xfer {
2900 uart3_xfer: uart3-xfer {
2906 uart3_cts: uart3-cts {
2911 uart3_rts: uart3-rts {
2918 uart4_xfer: uart4-xfer {
2926 uarthdcp_xfer: uarthdcp-xfer {
2934 pwm0_pin: pwm0-pin {
2939 pwm0_pin_pull_down: pwm0-pin-pull-down {
2944 vop0_pwm_pin: vop0-pwm-pin {
2949 vop1_pwm_pin: vop1-pwm-pin {
2956 pwm1_pin: pwm1-pin {
2961 pwm1_pin_pull_down: pwm1-pin-pull-down {
2968 pwm2_pin: pwm2-pin {
2973 pwm2_pin_pull_down: pwm2-pin-pull-down {
2980 pwm3a_pin: pwm3a-pin {
2987 pwm3b_pin: pwm3b-pin {
2994 hdmi_i2c_xfer: hdmi-i2c-xfer {
3000 hdmi_cec: hdmi-cec {
3007 pcie_clkreqn_cpm: pci-clkreqn-cpm {
3012 pcie_clkreqnb_cpm: pci-clkreqnb-cpm {