Lines Matching +full:sun4i +full:- +full:a10 +full:- +full:spdif
1 // SPDX-License-Identifier: (GPL-2.0+ OR MIT)
4 #include <dt-bindings/interrupt-controller/arm-gic.h>
5 #include <dt-bindings/clock/sun50i-h6-ccu.h>
6 #include <dt-bindings/clock/sun50i-h6-r-ccu.h>
7 #include <dt-bindings/clock/sun8i-de2.h>
8 #include <dt-bindings/clock/sun8i-tcon-top.h>
9 #include <dt-bindings/reset/sun50i-h6-ccu.h>
10 #include <dt-bindings/reset/sun50i-h6-r-ccu.h>
11 #include <dt-bindings/reset/sun8i-de2.h>
12 #include <dt-bindings/thermal/thermal.h>
15 interrupt-parent = <&gic>;
16 #address-cells = <1>;
17 #size-cells = <1>;
20 #address-cells = <1>;
21 #size-cells = <0>;
24 compatible = "arm,cortex-a53";
27 enable-method = "psci";
29 clock-latency-ns = <244144>; /* 8 32k periods */
30 #cooling-cells = <2>;
34 compatible = "arm,cortex-a53";
37 enable-method = "psci";
39 clock-latency-ns = <244144>; /* 8 32k periods */
40 #cooling-cells = <2>;
44 compatible = "arm,cortex-a53";
47 enable-method = "psci";
49 clock-latency-ns = <244144>; /* 8 32k periods */
50 #cooling-cells = <2>;
54 compatible = "arm,cortex-a53";
57 enable-method = "psci";
59 clock-latency-ns = <244144>; /* 8 32k periods */
60 #cooling-cells = <2>;
64 de: display-engine {
65 compatible = "allwinner,sun50i-h6-display-engine";
71 #clock-cells = <0>;
72 compatible = "fixed-clock";
73 clock-frequency = <24000000>;
74 clock-output-names = "osc24M";
78 compatible = "arm,cortex-a53-pmu";
83 interrupt-affinity = <&cpu0>, <&cpu1>, <&cpu2>, <&cpu3>;
87 compatible = "arm,psci-0.2";
92 compatible = "arm,armv8-timer";
93 arm,no-tick-in-suspend;
105 compatible = "simple-bus";
106 #address-cells = <1>;
107 #size-cells = <1>;
111 compatible = "allwinner,sun50i-h6-de3",
112 "allwinner,sun50i-a64-de2";
115 #address-cells = <1>;
116 #size-cells = <1>;
120 compatible = "allwinner,sun50i-h6-de3-clk";
124 clock-names = "mod",
127 #clock-cells = <1>;
128 #reset-cells = <1>;
132 compatible = "allwinner,sun50i-h6-de3-mixer-0";
136 clock-names = "bus",
142 #address-cells = <1>;
143 #size-cells = <0>;
149 remote-endpoint = <&tcon_top_mixer0_in_mixer0>;
156 video-codec@1c0e000 {
157 compatible = "allwinner,sun50i-h6-video-engine";
161 clock-names = "ahb", "mod", "ram";
169 compatible = "allwinner,sun50i-h6-mali",
170 "arm,mali-t720";
175 interrupt-names = "job", "mmu", "gpu";
177 clock-names = "core", "bus";
183 compatible = "allwinner,sun50i-h6-crypto";
187 clock-names = "bus", "mod", "ram";
192 compatible = "allwinner,sun50i-h6-system-control",
193 "allwinner,sun50i-a64-system-control";
195 #address-cells = <1>;
196 #size-cells = <1>;
200 compatible = "mmio-sram";
202 #address-cells = <1>;
203 #size-cells = <1>;
206 de2_sram: sram-section@0 {
207 compatible = "allwinner,sun50i-h6-sram-c",
208 "allwinner,sun50i-a64-sram-c";
214 compatible = "mmio-sram";
216 #address-cells = <1>;
217 #size-cells = <1>;
220 ve_sram: sram-section@0 {
221 compatible = "allwinner,sun50i-h6-sram-c1",
222 "allwinner,sun4i-a10-sram-c1";
229 compatible = "allwinner,sun50i-h6-ccu";
232 clock-names = "hosc", "losc", "iosc";
233 #clock-cells = <1>;
234 #reset-cells = <1>;
237 dma: dma-controller@3002000 {
238 compatible = "allwinner,sun50i-h6-dma";
242 clock-names = "bus", "mbus";
243 dma-channels = <16>;
244 dma-requests = <46>;
246 #dma-cells = <1>;
250 compatible = "allwinner,sun50i-h6-msgbox",
251 "allwinner,sun6i-a31-msgbox";
256 #mbox-cells = <1>;
260 compatible = "allwinner,sun50i-h6-sid";
262 #address-cells = <1>;
263 #size-cells = <1>;
265 ths_calibration: thermal-sensor-calibration@14 {
269 cpu_speed_grade: cpu-speed-grade@1c {
275 compatible = "allwinner,sun50i-h6-wdt",
276 "allwinner,sun6i-a31-wdt";
285 compatible = "allwinner,sun50i-h6-pwm";
288 clock-names = "mod", "bus";
290 #pwm-cells = <3>;
295 compatible = "allwinner,sun50i-h6-pinctrl";
302 clock-names = "apb", "hosc", "losc";
303 gpio-controller;
304 #gpio-cells = <3>;
305 interrupt-controller;
306 #interrupt-cells = <3>;
308 ext_rgmii_pins: rgmii-pins {
313 drive-strength = <40>;
316 hdmi_pins: hdmi-pins {
321 i2c0_pins: i2c0-pins {
326 i2c1_pins: i2c1-pins {
331 i2c2_pins: i2c2-pins {
336 mmc0_pins: mmc0-pins {
340 drive-strength = <30>;
341 bias-pull-up;
344 /omit-if-no-ref/
345 mmc1_pins: mmc1-pins {
349 drive-strength = <30>;
350 bias-pull-up;
353 mmc2_pins: mmc2-pins {
358 drive-strength = <30>;
359 bias-pull-up;
362 /omit-if-no-ref/
363 spi0_pins: spi0-pins {
368 /* pin shared with MMC2-CMD (eMMC) */
369 /omit-if-no-ref/
370 spi0_cs_pin: spi0-cs-pin {
375 /omit-if-no-ref/
376 spi1_pins: spi1-pins {
381 /omit-if-no-ref/
382 spi1_cs_pin: spi1-cs-pin {
387 spdif_tx_pin: spdif-tx-pin {
389 function = "spdif";
392 uart0_ph_pins: uart0-ph-pins {
397 uart1_pins: uart1-pins {
402 uart1_rts_cts_pins: uart1-rts-cts-pins {
408 gic: interrupt-controller@3021000 {
409 compatible = "arm,gic-400";
415 interrupt-controller;
416 #interrupt-cells = <3>;
420 compatible = "allwinner,sun50i-h6-iommu";
425 #iommu-cells = <1>;
429 compatible = "allwinner,sun50i-h6-mmc",
430 "allwinner,sun50i-a64-mmc";
433 clock-names = "ahb", "mmc";
435 reset-names = "ahb";
437 pinctrl-names = "default";
438 pinctrl-0 = <&mmc0_pins>;
440 #address-cells = <1>;
441 #size-cells = <0>;
445 compatible = "allwinner,sun50i-h6-mmc",
446 "allwinner,sun50i-a64-mmc";
449 clock-names = "ahb", "mmc";
451 reset-names = "ahb";
453 pinctrl-names = "default";
454 pinctrl-0 = <&mmc1_pins>;
456 #address-cells = <1>;
457 #size-cells = <0>;
461 compatible = "allwinner,sun50i-h6-emmc",
462 "allwinner,sun50i-a64-emmc";
465 clock-names = "ahb", "mmc";
467 reset-names = "ahb";
469 pinctrl-names = "default";
470 pinctrl-0 = <&mmc2_pins>;
472 #address-cells = <1>;
473 #size-cells = <0>;
477 compatible = "snps,dw-apb-uart";
480 reg-shift = <2>;
481 reg-io-width = <4>;
488 compatible = "snps,dw-apb-uart";
491 reg-shift = <2>;
492 reg-io-width = <4>;
499 compatible = "snps,dw-apb-uart";
502 reg-shift = <2>;
503 reg-io-width = <4>;
510 compatible = "snps,dw-apb-uart";
513 reg-shift = <2>;
514 reg-io-width = <4>;
521 compatible = "allwinner,sun50i-h6-i2c",
522 "allwinner,sun6i-a31-i2c";
527 pinctrl-names = "default";
528 pinctrl-0 = <&i2c0_pins>;
530 #address-cells = <1>;
531 #size-cells = <0>;
535 compatible = "allwinner,sun50i-h6-i2c",
536 "allwinner,sun6i-a31-i2c";
541 pinctrl-names = "default";
542 pinctrl-0 = <&i2c1_pins>;
544 #address-cells = <1>;
545 #size-cells = <0>;
549 compatible = "allwinner,sun50i-h6-i2c",
550 "allwinner,sun6i-a31-i2c";
555 pinctrl-names = "default";
556 pinctrl-0 = <&i2c2_pins>;
558 #address-cells = <1>;
559 #size-cells = <0>;
563 compatible = "allwinner,sun50i-h6-spi",
564 "allwinner,sun8i-h3-spi";
568 clock-names = "ahb", "mod";
570 dma-names = "rx", "tx";
573 #address-cells = <1>;
574 #size-cells = <0>;
578 compatible = "allwinner,sun50i-h6-spi",
579 "allwinner,sun8i-h3-spi";
583 clock-names = "ahb", "mod";
585 dma-names = "rx", "tx";
588 #address-cells = <1>;
589 #size-cells = <0>;
593 compatible = "allwinner,sun50i-h6-emac",
594 "allwinner,sun50i-a64-emac";
598 interrupt-names = "macirq";
600 reset-names = "stmmaceth";
602 clock-names = "stmmaceth";
606 compatible = "snps,dwmac-mdio";
607 #address-cells = <1>;
608 #size-cells = <0>;
612 spdif: spdif@5093000 { label
613 #sound-dai-cells = <0>;
614 compatible = "allwinner,sun50i-h6-spdif";
618 clock-names = "apb", "spdif";
621 dma-names = "tx";
622 pinctrl-names = "default";
623 pinctrl-0 = <&spdif_tx_pin>;
628 compatible = "allwinner,sun50i-h6-musb",
629 "allwinner,sun8i-a33-musb";
634 interrupt-names = "mc";
636 phy-names = "usb";
642 compatible = "allwinner,sun50i-h6-usb-phy";
646 reg-names = "phy_ctrl",
651 clock-names = "usb0_phy",
655 reset-names = "usb0_reset",
658 #phy-cells = <1>;
662 compatible = "allwinner,sun50i-h6-ehci", "generic-ehci";
674 compatible = "allwinner,sun50i-h6-ohci", "generic-ohci";
690 clock-names = "ref", "bus_early", "suspend";
695 * to have a USB Type-B port routed to the port.
702 phy-names = "usb3-phy";
707 compatible = "allwinner,sun50i-h6-usb3-phy";
711 #phy-cells = <0>;
716 compatible = "allwinner,sun50i-h6-ehci", "generic-ehci";
725 phy-names = "usb";
730 compatible = "allwinner,sun50i-h6-ohci", "generic-ohci";
737 phy-names = "usb";
742 compatible = "allwinner,sun50i-h6-dw-hdmi";
744 reg-io-width = <1>;
749 clock-names = "iahb", "isfr", "tmds", "cec", "hdcp",
750 "hdcp-bus";
752 reset-names = "ctrl", "hdcp";
754 phy-names = "phy";
755 pinctrl-names = "default";
756 pinctrl-0 = <&hdmi_pins>;
760 #address-cells = <1>;
761 #size-cells = <0>;
767 remote-endpoint = <&tcon_top_hdmi_out_hdmi>;
777 hdmi_phy: hdmi-phy@6010000 {
778 compatible = "allwinner,sun50i-h6-hdmi-phy";
781 clock-names = "bus", "mod";
783 reset-names = "phy";
784 #phy-cells = <0>;
787 tcon_top: tcon-top@6510000 {
788 compatible = "allwinner,sun50i-h6-tcon-top";
792 clock-names = "bus",
793 "tcon-tv0";
794 clock-output-names = "tcon-top-tv0";
796 #clock-cells = <1>;
799 #address-cells = <1>;
800 #size-cells = <0>;
803 #address-cells = <1>;
804 #size-cells = <0>;
809 remote-endpoint = <&mixer0_out_tcon_top_mixer0>;
814 #address-cells = <1>;
815 #size-cells = <0>;
820 remote-endpoint = <&tcon_tv_in_tcon_top_mixer0>;
825 #address-cells = <1>;
826 #size-cells = <0>;
831 remote-endpoint = <&tcon_tv_out_tcon_top>;
839 remote-endpoint = <&hdmi_in_tcon_top>;
845 tcon_tv: lcd-controller@6515000 {
846 compatible = "allwinner,sun50i-h6-tcon-tv",
847 "allwinner,sun8i-r40-tcon-tv";
852 clock-names = "ahb",
853 "tcon-ch1";
855 reset-names = "lcd";
858 #address-cells = <1>;
859 #size-cells = <0>;
865 remote-endpoint = <&tcon_top_mixer0_out_tcon_tv>;
870 #address-cells = <1>;
871 #size-cells = <0>;
876 remote-endpoint = <&tcon_top_hdmi_in_tcon_tv>;
883 compatible = "allwinner,sun50i-h6-rtc";
887 clock-output-names = "osc32k", "osc32k-out", "iosc";
888 #clock-cells = <1>;
892 compatible = "allwinner,sun50i-h6-r-ccu";
896 clock-names = "hosc", "losc", "iosc", "pll-periph";
897 #clock-cells = <1>;
898 #reset-cells = <1>;
902 compatible = "allwinner,sun50i-h6-wdt",
903 "allwinner,sun6i-a31-wdt";
909 r_intc: interrupt-controller@7021000 {
910 compatible = "allwinner,sun50i-h6-r-intc",
911 "allwinner,sun6i-a31-r-intc";
912 interrupt-controller;
913 #interrupt-cells = <2>;
919 compatible = "allwinner,sun50i-h6-r-pinctrl";
924 clock-names = "apb", "hosc", "losc";
925 gpio-controller;
926 #gpio-cells = <3>;
927 interrupt-controller;
928 #interrupt-cells = <3>;
930 r_i2c_pins: r-i2c-pins {
935 r_ir_rx_pin: r-ir-rx-pin {
942 compatible = "allwinner,sun50i-h6-ir",
943 "allwinner,sun6i-a31-ir";
948 clock-names = "apb", "ir";
950 pinctrl-names = "default";
951 pinctrl-0 = <&r_ir_rx_pin>;
956 compatible = "allwinner,sun50i-h6-i2c",
957 "allwinner,sun6i-a31-i2c";
962 pinctrl-names = "default";
963 pinctrl-0 = <&r_i2c_pins>;
965 #address-cells = <1>;
966 #size-cells = <0>;
969 ths: thermal-sensor@5070400 {
970 compatible = "allwinner,sun50i-h6-ths";
974 clock-names = "bus";
976 nvmem-cells = <&ths_calibration>;
977 nvmem-cell-names = "calibration";
978 #thermal-sensor-cells = <1>;
982 thermal-zones {
983 cpu-thermal {
984 polling-delay-passive = <0>;
985 polling-delay = <0>;
986 thermal-sensors = <&ths 0>;
989 cpu_alert: cpu-alert {
995 cpu-crit {
1002 cooling-maps {
1005 cooling-device = <&cpu0 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
1013 gpu-thermal {
1014 polling-delay-passive = <0>;
1015 polling-delay = <0>;
1016 thermal-sensors = <&ths 1>;