Lines Matching +full:sun4i +full:- +full:a10 +full:- +full:tcon

1 // SPDX-License-Identifier: (GPL-2.0+ OR MIT)
6 #include <dt-bindings/clock/sun50i-a64-ccu.h>
7 #include <dt-bindings/clock/sun8i-de2.h>
8 #include <dt-bindings/clock/sun8i-r-ccu.h>
9 #include <dt-bindings/interrupt-controller/arm-gic.h>
10 #include <dt-bindings/reset/sun50i-a64-ccu.h>
11 #include <dt-bindings/reset/sun8i-de2.h>
12 #include <dt-bindings/reset/sun8i-r-ccu.h>
13 #include <dt-bindings/thermal/thermal.h>
16 interrupt-parent = <&gic>;
17 #address-cells = <1>;
18 #size-cells = <1>;
21 #address-cells = <1>;
22 #size-cells = <1>;
25 simplefb_lcd: framebuffer-lcd {
26 compatible = "allwinner,simple-framebuffer",
27 "simple-framebuffer";
28 allwinner,pipeline = "mixer0-lcd0";
34 simplefb_hdmi: framebuffer-hdmi {
35 compatible = "allwinner,simple-framebuffer",
36 "simple-framebuffer";
37 allwinner,pipeline = "mixer1-lcd1-hdmi";
45 #address-cells = <1>;
46 #size-cells = <0>;
49 compatible = "arm,cortex-a53";
52 enable-method = "psci";
53 next-level-cache = <&L2>;
55 clock-names = "cpu";
56 #cooling-cells = <2>;
60 compatible = "arm,cortex-a53";
63 enable-method = "psci";
64 next-level-cache = <&L2>;
66 clock-names = "cpu";
67 #cooling-cells = <2>;
71 compatible = "arm,cortex-a53";
74 enable-method = "psci";
75 next-level-cache = <&L2>;
77 clock-names = "cpu";
78 #cooling-cells = <2>;
82 compatible = "arm,cortex-a53";
85 enable-method = "psci";
86 next-level-cache = <&L2>;
88 clock-names = "cpu";
89 #cooling-cells = <2>;
92 L2: l2-cache {
94 cache-level = <2>;
98 de: display-engine {
99 compatible = "allwinner,sun50i-a64-display-engine";
106 #clock-cells = <0>;
107 compatible = "fixed-clock";
108 clock-frequency = <24000000>;
109 clock-output-names = "osc24M";
113 #clock-cells = <0>;
114 compatible = "fixed-clock";
115 clock-frequency = <32768>;
116 clock-output-names = "ext-osc32k";
120 compatible = "arm,cortex-a53-pmu";
125 interrupt-affinity = <&cpu0>, <&cpu1>, <&cpu2>, <&cpu3>;
129 compatible = "arm,psci-0.2";
134 compatible = "simple-audio-card";
135 simple-audio-card,name = "sun50i-a64-audio";
136 simple-audio-card,format = "i2s";
137 simple-audio-card,frame-master = <&cpudai>;
138 simple-audio-card,bitclock-master = <&cpudai>;
139 simple-audio-card,mclk-fs = <128>;
140 simple-audio-card,aux-devs = <&codec_analog>;
141 simple-audio-card,routing =
148 cpudai: simple-audio-card,cpu {
149 sound-dai = <&dai>;
152 link_codec: simple-audio-card,codec {
153 sound-dai = <&codec>;
158 compatible = "arm,armv8-timer";
159 allwinner,erratum-unknown1;
160 arm,no-tick-in-suspend;
171 thermal-zones {
172 cpu_thermal: cpu0-thermal {
174 polling-delay-passive = <0>;
175 polling-delay = <0>;
176 thermal-sensors = <&ths 0>;
178 cooling-maps {
181 cooling-device = <&cpu0 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
188 cooling-device = <&cpu0 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
219 gpu0_thermal: gpu0-thermal {
221 polling-delay-passive = <0>;
222 polling-delay = <0>;
223 thermal-sensors = <&ths 1>;
226 gpu1_thermal: gpu1-thermal {
228 polling-delay-passive = <0>;
229 polling-delay = <0>;
230 thermal-sensors = <&ths 2>;
235 compatible = "simple-bus";
236 #address-cells = <1>;
237 #size-cells = <1>;
241 compatible = "allwinner,sun50i-a64-de2";
244 #address-cells = <1>;
245 #size-cells = <1>;
249 compatible = "allwinner,sun50i-a64-de2-clk";
253 clock-names = "bus",
256 #clock-cells = <1>;
257 #reset-cells = <1>;
261 compatible = "allwinner,sun50i-a64-de2-rotate",
262 "allwinner,sun8i-a83t-de2-rotate";
267 clock-names = "bus",
273 compatible = "allwinner,sun50i-a64-de2-mixer-0";
277 clock-names = "bus",
282 #address-cells = <1>;
283 #size-cells = <0>;
286 #address-cells = <1>;
287 #size-cells = <0>;
292 remote-endpoint = <&tcon0_in_mixer0>;
297 remote-endpoint = <&tcon1_in_mixer0>;
304 compatible = "allwinner,sun50i-a64-de2-mixer-1";
308 clock-names = "bus",
313 #address-cells = <1>;
314 #size-cells = <0>;
317 #address-cells = <1>;
318 #size-cells = <0>;
323 remote-endpoint = <&tcon0_in_mixer1>;
328 remote-endpoint = <&tcon1_in_mixer1>;
336 compatible = "allwinner,sun50i-a64-system-control";
338 #address-cells = <1>;
339 #size-cells = <1>;
343 compatible = "mmio-sram";
345 #address-cells = <1>;
346 #size-cells = <1>;
349 de2_sram: sram-section@0 {
350 compatible = "allwinner,sun50i-a64-sram-c";
356 compatible = "mmio-sram";
358 #address-cells = <1>;
359 #size-cells = <1>;
362 ve_sram: sram-section@0 {
363 compatible = "allwinner,sun50i-a64-sram-c1",
364 "allwinner,sun4i-a10-sram-c1";
370 dma: dma-controller@1c02000 {
371 compatible = "allwinner,sun50i-a64-dma";
375 dma-channels = <8>;
376 dma-requests = <27>;
378 #dma-cells = <1>;
381 tcon0: lcd-controller@1c0c000 {
382 compatible = "allwinner,sun50i-a64-tcon-lcd",
383 "allwinner,sun8i-a83t-tcon-lcd";
387 clock-names = "ahb", "tcon-ch0";
388 clock-output-names = "tcon-pixel-clock";
389 #clock-cells = <0>;
391 reset-names = "lcd", "lvds";
394 #address-cells = <1>;
395 #size-cells = <0>;
398 #address-cells = <1>;
399 #size-cells = <0>;
404 remote-endpoint = <&mixer0_out_tcon0>;
409 remote-endpoint = <&mixer1_out_tcon0>;
414 #address-cells = <1>;
415 #size-cells = <0>;
420 remote-endpoint = <&dsi_in_tcon0>;
421 allwinner,tcon-channel = <1>;
427 tcon1: lcd-controller@1c0d000 {
428 compatible = "allwinner,sun50i-a64-tcon-tv",
429 "allwinner,sun8i-a83t-tcon-tv";
433 clock-names = "ahb", "tcon-ch1";
435 reset-names = "lcd";
438 #address-cells = <1>;
439 #size-cells = <0>;
442 #address-cells = <1>;
443 #size-cells = <0>;
448 remote-endpoint = <&mixer0_out_tcon1>;
453 remote-endpoint = <&mixer1_out_tcon1>;
458 #address-cells = <1>;
459 #size-cells = <0>;
464 remote-endpoint = <&hdmi_in_tcon1>;
470 video-codec@1c0e000 {
471 compatible = "allwinner,sun50i-a64-video-engine";
475 clock-names = "ahb", "mod", "ram";
482 compatible = "allwinner,sun50i-a64-mmc";
485 clock-names = "ahb", "mmc";
487 reset-names = "ahb";
489 max-frequency = <150000000>;
491 #address-cells = <1>;
492 #size-cells = <0>;
496 compatible = "allwinner,sun50i-a64-mmc";
499 clock-names = "ahb", "mmc";
501 reset-names = "ahb";
503 max-frequency = <150000000>;
505 #address-cells = <1>;
506 #size-cells = <0>;
510 compatible = "allwinner,sun50i-a64-emmc";
513 clock-names = "ahb", "mmc";
515 reset-names = "ahb";
517 max-frequency = <200000000>;
519 #address-cells = <1>;
520 #size-cells = <0>;
524 compatible = "allwinner,sun50i-a64-sid";
526 #address-cells = <1>;
527 #size-cells = <1>;
529 ths_calibration: thermal-sensor-calibration@34 {
535 compatible = "allwinner,sun50i-a64-crypto";
539 clock-names = "bus", "mod";
544 compatible = "allwinner,sun50i-a64-msgbox",
545 "allwinner,sun6i-a31-msgbox";
550 #mbox-cells = <1>;
554 compatible = "allwinner,sun8i-a33-musb";
559 interrupt-names = "mc";
561 phy-names = "usb";
568 compatible = "allwinner,sun50i-a64-usb-phy";
572 reg-names = "phy_ctrl",
577 clock-names = "usb0_phy",
581 reset-names = "usb0_reset",
584 #phy-cells = <1>;
588 compatible = "allwinner,sun50i-a64-ehci", "generic-ehci";
600 compatible = "allwinner,sun50i-a64-ohci", "generic-ohci";
610 compatible = "allwinner,sun50i-a64-ehci", "generic-ehci";
619 phy-names = "usb";
624 compatible = "allwinner,sun50i-a64-ohci", "generic-ohci";
631 phy-names = "usb";
636 compatible = "allwinner,sun50i-a64-ccu";
639 clock-names = "hosc", "losc";
640 #clock-cells = <1>;
641 #reset-cells = <1>;
645 compatible = "allwinner,sun50i-a64-pinctrl";
651 clock-names = "apb", "hosc", "losc";
652 gpio-controller;
653 #gpio-cells = <3>;
654 interrupt-controller;
655 #interrupt-cells = <3>;
657 csi_pins: csi-pins {
663 /omit-if-no-ref/
664 csi_mclk_pin: csi-mclk-pin {
669 i2c0_pins: i2c0-pins {
674 i2c1_pins: i2c1-pins {
679 i2c2_pins: i2c2-pins {
684 /omit-if-no-ref/
685 lcd_rgb666_pins: lcd-rgb666-pins {
694 mmc0_pins: mmc0-pins {
698 drive-strength = <30>;
699 bias-pull-up;
702 mmc1_pins: mmc1-pins {
706 drive-strength = <30>;
707 bias-pull-up;
710 mmc2_pins: mmc2-pins {
715 drive-strength = <30>;
716 bias-pull-up;
719 mmc2_ds_pin: mmc2-ds-pin {
722 drive-strength = <30>;
723 bias-pull-up;
726 pwm_pin: pwm-pin {
731 rmii_pins: rmii-pins {
735 drive-strength = <40>;
738 rgmii_pins: rgmii-pins {
743 drive-strength = <40>;
746 spdif_tx_pin: spdif-tx-pin {
751 spi0_pins: spi0-pins {
756 spi1_pins: spi1-pins {
761 uart0_pb_pins: uart0-pb-pins {
766 uart1_pins: uart1-pins {
771 uart1_rts_cts_pins: uart1-rts-cts-pins {
776 uart2_pins: uart2-pins {
781 uart3_pins: uart3-pins {
786 uart4_pins: uart4-pins {
791 uart4_rts_cts_pins: uart4-rts-cts-pins {
798 #sound-dai-cells = <0>;
799 compatible = "allwinner,sun50i-a64-spdif",
800 "allwinner,sun8i-h3-spdif";
805 clock-names = "apb", "spdif";
807 dma-names = "tx";
808 pinctrl-names = "default";
809 pinctrl-0 = <&spdif_tx_pin>;
814 compatible = "allwinner,sun50i-a64-lradc",
815 "allwinner,sun8i-a83t-r-lradc";
822 #sound-dai-cells = <0>;
823 compatible = "allwinner,sun50i-a64-i2s",
824 "allwinner,sun8i-h3-i2s";
828 clock-names = "apb", "mod";
830 dma-names = "rx", "tx";
836 #sound-dai-cells = <0>;
837 compatible = "allwinner,sun50i-a64-i2s",
838 "allwinner,sun8i-h3-i2s";
842 clock-names = "apb", "mod";
844 dma-names = "rx", "tx";
850 #sound-dai-cells = <0>;
851 compatible = "allwinner,sun50i-a64-codec-i2s";
855 clock-names = "apb", "mod";
858 dma-names = "rx", "tx";
863 #sound-dai-cells = <0>;
864 compatible = "allwinner,sun50i-a64-codec",
865 "allwinner,sun8i-a33-codec";
869 clock-names = "bus", "mod";
873 ths: thermal-sensor@1c25000 {
874 compatible = "allwinner,sun50i-a64-ths";
877 clock-names = "bus", "mod";
880 nvmem-cells = <&ths_calibration>;
881 nvmem-cell-names = "calibration";
882 #thermal-sensor-cells = <1>;
886 compatible = "snps,dw-apb-uart";
889 reg-shift = <2>;
890 reg-io-width = <4>;
897 compatible = "snps,dw-apb-uart";
900 reg-shift = <2>;
901 reg-io-width = <4>;
908 compatible = "snps,dw-apb-uart";
911 reg-shift = <2>;
912 reg-io-width = <4>;
919 compatible = "snps,dw-apb-uart";
922 reg-shift = <2>;
923 reg-io-width = <4>;
930 compatible = "snps,dw-apb-uart";
933 reg-shift = <2>;
934 reg-io-width = <4>;
941 compatible = "allwinner,sun6i-a31-i2c";
946 pinctrl-names = "default";
947 pinctrl-0 = <&i2c0_pins>;
949 #address-cells = <1>;
950 #size-cells = <0>;
954 compatible = "allwinner,sun6i-a31-i2c";
959 pinctrl-names = "default";
960 pinctrl-0 = <&i2c1_pins>;
962 #address-cells = <1>;
963 #size-cells = <0>;
967 compatible = "allwinner,sun6i-a31-i2c";
972 pinctrl-names = "default";
973 pinctrl-0 = <&i2c2_pins>;
975 #address-cells = <1>;
976 #size-cells = <0>;
980 compatible = "allwinner,sun8i-h3-spi";
984 clock-names = "ahb", "mod";
986 dma-names = "rx", "tx";
987 pinctrl-names = "default";
988 pinctrl-0 = <&spi0_pins>;
991 num-cs = <1>;
992 #address-cells = <1>;
993 #size-cells = <0>;
997 compatible = "allwinner,sun8i-h3-spi";
1001 clock-names = "ahb", "mod";
1003 dma-names = "rx", "tx";
1004 pinctrl-names = "default";
1005 pinctrl-0 = <&spi1_pins>;
1008 num-cs = <1>;
1009 #address-cells = <1>;
1010 #size-cells = <0>;
1014 compatible = "allwinner,sun50i-a64-emac";
1018 interrupt-names = "macirq";
1020 reset-names = "stmmaceth";
1022 clock-names = "stmmaceth";
1026 compatible = "snps,dwmac-mdio";
1027 #address-cells = <1>;
1028 #size-cells = <0>;
1033 compatible = "allwinner,sun50i-a64-mali", "arm,mali-400";
1042 interrupt-names = "gp",
1050 clock-names = "bus", "core";
1054 gic: interrupt-controller@1c81000 {
1055 compatible = "arm,gic-400";
1061 interrupt-controller;
1062 #interrupt-cells = <3>;
1066 compatible = "allwinner,sun50i-a64-pwm",
1067 "allwinner,sun5i-a13-pwm";
1070 pinctrl-names = "default";
1071 pinctrl-0 = <&pwm_pin>;
1072 #pwm-cells = <3>;
1076 mbus: dram-controller@1c62000 {
1077 compatible = "allwinner,sun50i-a64-mbus";
1080 #address-cells = <1>;
1081 #size-cells = <1>;
1082 dma-ranges = <0x00000000 0x40000000 0xc0000000>;
1083 #interconnect-cells = <1>;
1087 compatible = "allwinner,sun50i-a64-csi";
1093 clock-names = "bus", "mod", "ram";
1095 pinctrl-names = "default";
1096 pinctrl-0 = <&csi_pins>;
1101 compatible = "allwinner,sun50i-a64-mipi-dsi";
1107 phy-names = "dphy";
1109 #address-cells = <1>;
1110 #size-cells = <0>;
1114 remote-endpoint = <&tcon0_out_dsi>;
1119 dphy: d-phy@1ca1000 {
1120 compatible = "allwinner,sun50i-a64-mipi-dphy",
1121 "allwinner,sun6i-a31-mipi-dphy";
1125 clock-names = "bus", "mod";
1128 #phy-cells = <0>;
1132 compatible = "allwinner,sun50i-a64-deinterlace",
1133 "allwinner,sun8i-h3-deinterlace";
1138 clock-names = "bus", "mod", "ram";
1142 interconnect-names = "dma-mem";
1146 compatible = "allwinner,sun50i-a64-dw-hdmi",
1147 "allwinner,sun8i-a83t-dw-hdmi";
1149 reg-io-width = <1>;
1153 clock-names = "iahb", "isfr", "tmds";
1155 reset-names = "ctrl";
1157 phy-names = "phy";
1161 #address-cells = <1>;
1162 #size-cells = <0>;
1168 remote-endpoint = <&tcon1_out_hdmi>;
1178 hdmi_phy: hdmi-phy@1ef0000 {
1179 compatible = "allwinner,sun50i-a64-hdmi-phy";
1183 clock-names = "bus", "mod", "pll-0";
1185 reset-names = "phy";
1186 #phy-cells = <0>;
1190 compatible = "allwinner,sun50i-a64-rtc",
1191 "allwinner,sun8i-h3-rtc";
1195 clock-output-names = "osc32k", "osc32k-out", "iosc";
1197 #clock-cells = <1>;
1200 r_intc: interrupt-controller@1f00c00 {
1201 compatible = "allwinner,sun50i-a64-r-intc",
1202 "allwinner,sun6i-a31-r-intc";
1203 interrupt-controller;
1204 #interrupt-cells = <2>;
1210 compatible = "allwinner,sun50i-a64-r-ccu";
1214 clock-names = "hosc", "losc", "iosc", "pll-periph";
1215 #clock-cells = <1>;
1216 #reset-cells = <1>;
1219 codec_analog: codec-analog@1f015c0 {
1220 compatible = "allwinner,sun50i-a64-codec-analog";
1226 compatible = "allwinner,sun50i-a64-i2c",
1227 "allwinner,sun6i-a31-i2c";
1233 #address-cells = <1>;
1234 #size-cells = <0>;
1238 compatible = "allwinner,sun50i-a64-ir",
1239 "allwinner,sun6i-a31-ir";
1242 clock-names = "apb", "ir";
1245 pinctrl-names = "default";
1246 pinctrl-0 = <&r_ir_rx_pin>;
1251 compatible = "allwinner,sun50i-a64-pwm",
1252 "allwinner,sun5i-a13-pwm";
1255 pinctrl-names = "default";
1256 pinctrl-0 = <&r_pwm_pin>;
1257 #pwm-cells = <3>;
1262 compatible = "allwinner,sun50i-a64-r-pinctrl";
1266 clock-names = "apb", "hosc", "losc";
1267 gpio-controller;
1268 #gpio-cells = <3>;
1269 interrupt-controller;
1270 #interrupt-cells = <3>;
1272 r_i2c_pl89_pins: r-i2c-pl89-pins {
1277 r_ir_rx_pin: r-ir-rx-pin {
1282 r_pwm_pin: r-pwm-pin {
1287 r_rsb_pins: r-rsb-pins {
1294 compatible = "allwinner,sun8i-a23-rsb";
1298 clock-frequency = <3000000>;
1300 pinctrl-names = "default";
1301 pinctrl-0 = <&r_rsb_pins>;
1303 #address-cells = <1>;
1304 #size-cells = <0>;
1308 compatible = "allwinner,sun50i-a64-wdt",
1309 "allwinner,sun6i-a31-wdt";