Lines Matching +full:sun8i +full:- +full:h3 +full:- +full:msgbox

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>;
249 msgbox: mailbox@3003000 { label
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-timer",
276 "allwinner,sun8i-a23-timer";
284 compatible = "allwinner,sun50i-h6-wdt",
285 "allwinner,sun6i-a31-wdt";
294 compatible = "allwinner,sun50i-h6-pwm";
297 clock-names = "mod", "bus";
299 #pwm-cells = <3>;
304 compatible = "allwinner,sun50i-h6-pinctrl";
306 interrupt-parent = <&r_intc>;
312 clock-names = "apb", "hosc", "losc";
313 gpio-controller;
314 #gpio-cells = <3>;
315 interrupt-controller;
316 #interrupt-cells = <3>;
318 ext_rgmii_pins: rgmii-pins {
323 drive-strength = <40>;
326 hdmi_pins: hdmi-pins {
331 i2c0_pins: i2c0-pins {
336 i2c1_pins: i2c1-pins {
341 i2c2_pins: i2c2-pins {
346 mmc0_pins: mmc0-pins {
350 drive-strength = <30>;
351 bias-pull-up;
354 /omit-if-no-ref/
355 mmc1_pins: mmc1-pins {
359 drive-strength = <30>;
360 bias-pull-up;
363 mmc2_pins: mmc2-pins {
368 drive-strength = <30>;
369 bias-pull-up;
372 /omit-if-no-ref/
373 spi0_pins: spi0-pins {
378 /* pin shared with MMC2-CMD (eMMC) */
379 /omit-if-no-ref/
380 spi0_cs_pin: spi0-cs-pin {
385 /omit-if-no-ref/
386 spi1_pins: spi1-pins {
391 /omit-if-no-ref/
392 spi1_cs_pin: spi1-cs-pin {
397 spdif_tx_pin: spdif-tx-pin {
402 uart0_ph_pins: uart0-ph-pins {
407 uart1_pins: uart1-pins {
412 uart1_rts_cts_pins: uart1-rts-cts-pins {
418 gic: interrupt-controller@3021000 {
419 compatible = "arm,gic-400";
425 interrupt-controller;
426 #interrupt-cells = <3>;
430 compatible = "allwinner,sun50i-h6-iommu";
435 #iommu-cells = <1>;
439 compatible = "allwinner,sun50i-h6-mmc",
440 "allwinner,sun50i-a64-mmc";
443 clock-names = "ahb", "mmc";
445 reset-names = "ahb";
447 pinctrl-names = "default";
448 pinctrl-0 = <&mmc0_pins>;
449 max-frequency = <150000000>;
451 #address-cells = <1>;
452 #size-cells = <0>;
456 compatible = "allwinner,sun50i-h6-mmc",
457 "allwinner,sun50i-a64-mmc";
460 clock-names = "ahb", "mmc";
462 reset-names = "ahb";
464 pinctrl-names = "default";
465 pinctrl-0 = <&mmc1_pins>;
466 max-frequency = <150000000>;
468 #address-cells = <1>;
469 #size-cells = <0>;
473 compatible = "allwinner,sun50i-h6-emmc",
474 "allwinner,sun50i-a64-emmc";
477 clock-names = "ahb", "mmc";
479 reset-names = "ahb";
481 pinctrl-names = "default";
482 pinctrl-0 = <&mmc2_pins>;
483 max-frequency = <150000000>;
485 #address-cells = <1>;
486 #size-cells = <0>;
490 compatible = "snps,dw-apb-uart";
493 reg-shift = <2>;
494 reg-io-width = <4>;
501 compatible = "snps,dw-apb-uart";
504 reg-shift = <2>;
505 reg-io-width = <4>;
512 compatible = "snps,dw-apb-uart";
515 reg-shift = <2>;
516 reg-io-width = <4>;
523 compatible = "snps,dw-apb-uart";
526 reg-shift = <2>;
527 reg-io-width = <4>;
534 compatible = "allwinner,sun50i-h6-i2c",
535 "allwinner,sun6i-a31-i2c";
540 pinctrl-names = "default";
541 pinctrl-0 = <&i2c0_pins>;
543 #address-cells = <1>;
544 #size-cells = <0>;
548 compatible = "allwinner,sun50i-h6-i2c",
549 "allwinner,sun6i-a31-i2c";
554 pinctrl-names = "default";
555 pinctrl-0 = <&i2c1_pins>;
557 #address-cells = <1>;
558 #size-cells = <0>;
562 compatible = "allwinner,sun50i-h6-i2c",
563 "allwinner,sun6i-a31-i2c";
568 pinctrl-names = "default";
569 pinctrl-0 = <&i2c2_pins>;
571 #address-cells = <1>;
572 #size-cells = <0>;
576 compatible = "allwinner,sun50i-h6-spi",
577 "allwinner,sun8i-h3-spi";
581 clock-names = "ahb", "mod";
583 dma-names = "rx", "tx";
586 #address-cells = <1>;
587 #size-cells = <0>;
591 compatible = "allwinner,sun50i-h6-spi",
592 "allwinner,sun8i-h3-spi";
596 clock-names = "ahb", "mod";
598 dma-names = "rx", "tx";
601 #address-cells = <1>;
602 #size-cells = <0>;
606 compatible = "allwinner,sun50i-h6-emac",
607 "allwinner,sun50i-a64-emac";
611 interrupt-names = "macirq";
613 reset-names = "stmmaceth";
615 clock-names = "stmmaceth";
619 compatible = "snps,dwmac-mdio";
620 #address-cells = <1>;
621 #size-cells = <0>;
626 #sound-dai-cells = <0>;
627 compatible = "allwinner,sun50i-h6-i2s";
631 clock-names = "apb", "mod";
634 dma-names = "rx", "tx";
639 #sound-dai-cells = <0>;
640 compatible = "allwinner,sun50i-h6-spdif";
644 clock-names = "apb", "spdif";
647 dma-names = "tx";
648 pinctrl-names = "default";
649 pinctrl-0 = <&spdif_tx_pin>;
654 compatible = "allwinner,sun50i-h6-musb",
655 "allwinner,sun8i-a33-musb";
660 interrupt-names = "mc";
662 phy-names = "usb";
668 compatible = "allwinner,sun50i-h6-usb-phy";
672 reg-names = "phy_ctrl",
677 clock-names = "usb0_phy",
681 reset-names = "usb0_reset",
684 #phy-cells = <1>;
688 compatible = "allwinner,sun50i-h6-ehci", "generic-ehci";
697 phy-names = "usb";
702 compatible = "allwinner,sun50i-h6-ohci", "generic-ohci";
709 phy-names = "usb";
720 clock-names = "ref", "bus_early", "suspend";
725 * to have a USB Type-B port routed to the port.
732 phy-names = "usb3-phy";
737 compatible = "allwinner,sun50i-h6-usb3-phy";
741 #phy-cells = <0>;
746 compatible = "allwinner,sun50i-h6-ehci", "generic-ehci";
755 phy-names = "usb";
760 compatible = "allwinner,sun50i-h6-ohci", "generic-ohci";
767 phy-names = "usb";
772 compatible = "allwinner,sun50i-h6-dw-hdmi";
774 reg-io-width = <1>;
779 clock-names = "iahb", "isfr", "tmds", "cec", "hdcp",
780 "hdcp-bus";
782 reset-names = "ctrl", "hdcp";
784 phy-names = "phy";
785 pinctrl-names = "default";
786 pinctrl-0 = <&hdmi_pins>;
790 #address-cells = <1>;
791 #size-cells = <0>;
797 remote-endpoint = <&tcon_top_hdmi_out_hdmi>;
807 hdmi_phy: hdmi-phy@6010000 {
808 compatible = "allwinner,sun50i-h6-hdmi-phy";
811 clock-names = "bus", "mod";
813 reset-names = "phy";
814 #phy-cells = <0>;
817 tcon_top: tcon-top@6510000 {
818 compatible = "allwinner,sun50i-h6-tcon-top";
822 clock-names = "bus",
823 "tcon-tv0";
824 clock-output-names = "tcon-top-tv0";
826 #clock-cells = <1>;
829 #address-cells = <1>;
830 #size-cells = <0>;
833 #address-cells = <1>;
834 #size-cells = <0>;
839 remote-endpoint = <&mixer0_out_tcon_top_mixer0>;
844 #address-cells = <1>;
845 #size-cells = <0>;
850 remote-endpoint = <&tcon_tv_in_tcon_top_mixer0>;
855 #address-cells = <1>;
856 #size-cells = <0>;
861 remote-endpoint = <&tcon_tv_out_tcon_top>;
869 remote-endpoint = <&hdmi_in_tcon_top>;
875 tcon_tv: lcd-controller@6515000 {
876 compatible = "allwinner,sun50i-h6-tcon-tv",
877 "allwinner,sun8i-r40-tcon-tv";
882 clock-names = "ahb",
883 "tcon-ch1";
885 reset-names = "lcd";
888 #address-cells = <1>;
889 #size-cells = <0>;
895 remote-endpoint = <&tcon_top_mixer0_out_tcon_tv>;
900 #address-cells = <1>;
901 #size-cells = <0>;
906 remote-endpoint = <&tcon_top_hdmi_in_tcon_tv>;
913 compatible = "allwinner,sun50i-h6-rtc";
915 interrupt-parent = <&r_intc>;
918 clock-output-names = "osc32k", "osc32k-out", "iosc";
919 #clock-cells = <1>;
923 compatible = "allwinner,sun50i-h6-r-ccu";
927 clock-names = "hosc", "losc", "iosc", "pll-periph";
928 #clock-cells = <1>;
929 #reset-cells = <1>;
933 compatible = "allwinner,sun50i-h6-wdt",
934 "allwinner,sun6i-a31-wdt";
940 r_intc: interrupt-controller@7021000 {
941 compatible = "allwinner,sun50i-h6-r-intc";
942 interrupt-controller;
943 #interrupt-cells = <3>;
949 compatible = "allwinner,sun50i-h6-r-pinctrl";
951 interrupt-parent = <&r_intc>;
955 clock-names = "apb", "hosc", "losc";
956 gpio-controller;
957 #gpio-cells = <3>;
958 interrupt-controller;
959 #interrupt-cells = <3>;
961 r_i2c_pins: r-i2c-pins {
966 r_ir_rx_pin: r-ir-rx-pin {
971 r_rsb_pins: r-rsb-pins {
978 compatible = "allwinner,sun50i-h6-ir",
979 "allwinner,sun6i-a31-ir";
984 clock-names = "apb", "ir";
986 pinctrl-names = "default";
987 pinctrl-0 = <&r_ir_rx_pin>;
992 compatible = "allwinner,sun50i-h6-i2c",
993 "allwinner,sun6i-a31-i2c";
998 pinctrl-names = "default";
999 pinctrl-0 = <&r_i2c_pins>;
1001 #address-cells = <1>;
1002 #size-cells = <0>;
1006 compatible = "allwinner,sun8i-a23-rsb";
1010 clock-frequency = <3000000>;
1012 pinctrl-names = "default";
1013 pinctrl-0 = <&r_rsb_pins>;
1015 #address-cells = <1>;
1016 #size-cells = <0>;
1019 ths: thermal-sensor@5070400 {
1020 compatible = "allwinner,sun50i-h6-ths";
1024 clock-names = "bus";
1026 nvmem-cells = <&ths_calibration>;
1027 nvmem-cell-names = "calibration";
1028 #thermal-sensor-cells = <1>;
1032 thermal-zones {
1033 cpu-thermal {
1034 polling-delay-passive = <0>;
1035 polling-delay = <0>;
1036 thermal-sensors = <&ths 0>;
1039 cpu_alert: cpu-alert {
1045 cpu-crit {
1052 cooling-maps {
1055 cooling-device = <&cpu0 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
1063 gpu-thermal {
1064 polling-delay-passive = <0>;
1065 polling-delay = <0>;
1066 thermal-sensors = <&ths 1>;