Lines Matching +full:sysctr +full:- +full:timer
1 // SPDX-License-Identifier: (GPL-2.0+ OR MIT)
6 #include <dt-bindings/clock/imx8mp-clock.h>
7 #include <dt-bindings/power/imx8mp-power.h>
8 #include <dt-bindings/reset/imx8mp-reset.h>
9 #include <dt-bindings/gpio/gpio.h>
10 #include <dt-bindings/input/input.h>
11 #include <dt-bindings/interconnect/fsl,imx8mp.h>
12 #include <dt-bindings/interrupt-controller/arm-gic.h>
13 #include <dt-bindings/thermal/thermal.h>
15 #include "imx8mp-pinfunc.h"
18 interrupt-parent = <&gic>;
19 #address-cells = <2>;
20 #size-cells = <2>;
47 #address-cells = <1>;
48 #size-cells = <0>;
50 idle-states {
51 entry-method = "psci";
53 cpu_pd_wait: cpu-pd-wait {
54 compatible = "arm,idle-state";
55 arm,psci-suspend-param = <0x0010033>;
56 local-timer-stop;
57 entry-latency-us = <1000>;
58 exit-latency-us = <700>;
59 min-residency-us = <2700>;
60 wakeup-latency-us = <1500>;
66 compatible = "arm,cortex-a53";
68 clock-latency = <61036>;
70 enable-method = "psci";
71 i-cache-size = <0x8000>;
72 i-cache-line-size = <64>;
73 i-cache-sets = <256>;
74 d-cache-size = <0x8000>;
75 d-cache-line-size = <64>;
76 d-cache-sets = <128>;
77 next-level-cache = <&A53_L2>;
78 nvmem-cells = <&cpu_speed_grade>;
79 nvmem-cell-names = "speed_grade";
80 operating-points-v2 = <&a53_opp_table>;
81 #cooling-cells = <2>;
82 cpu-idle-states = <&cpu_pd_wait>;
87 compatible = "arm,cortex-a53";
89 clock-latency = <61036>;
91 enable-method = "psci";
92 i-cache-size = <0x8000>;
93 i-cache-line-size = <64>;
94 i-cache-sets = <256>;
95 d-cache-size = <0x8000>;
96 d-cache-line-size = <64>;
97 d-cache-sets = <128>;
98 next-level-cache = <&A53_L2>;
99 operating-points-v2 = <&a53_opp_table>;
100 #cooling-cells = <2>;
101 cpu-idle-states = <&cpu_pd_wait>;
106 compatible = "arm,cortex-a53";
108 clock-latency = <61036>;
110 enable-method = "psci";
111 i-cache-size = <0x8000>;
112 i-cache-line-size = <64>;
113 i-cache-sets = <256>;
114 d-cache-size = <0x8000>;
115 d-cache-line-size = <64>;
116 d-cache-sets = <128>;
117 next-level-cache = <&A53_L2>;
118 operating-points-v2 = <&a53_opp_table>;
119 #cooling-cells = <2>;
120 cpu-idle-states = <&cpu_pd_wait>;
125 compatible = "arm,cortex-a53";
127 clock-latency = <61036>;
129 enable-method = "psci";
130 i-cache-size = <0x8000>;
131 i-cache-line-size = <64>;
132 i-cache-sets = <256>;
133 d-cache-size = <0x8000>;
134 d-cache-line-size = <64>;
135 d-cache-sets = <128>;
136 next-level-cache = <&A53_L2>;
137 operating-points-v2 = <&a53_opp_table>;
138 #cooling-cells = <2>;
139 cpu-idle-states = <&cpu_pd_wait>;
142 A53_L2: l2-cache0 {
144 cache-unified;
145 cache-level = <2>;
146 cache-size = <0x80000>;
147 cache-line-size = <64>;
148 cache-sets = <512>;
152 a53_opp_table: opp-table {
153 compatible = "operating-points-v2";
154 opp-shared;
156 opp-1200000000 {
157 opp-hz = /bits/ 64 <1200000000>;
158 opp-microvolt = <850000>;
159 opp-supported-hw = <0x8a0>, <0x7>;
160 clock-latency-ns = <150000>;
161 opp-suspend;
164 opp-1600000000 {
165 opp-hz = /bits/ 64 <1600000000>;
166 opp-microvolt = <950000>;
167 opp-supported-hw = <0xa0>, <0x7>;
168 clock-latency-ns = <150000>;
169 opp-suspend;
172 opp-1800000000 {
173 opp-hz = /bits/ 64 <1800000000>;
174 opp-microvolt = <1000000>;
175 opp-supported-hw = <0x20>, <0x3>;
176 clock-latency-ns = <150000>;
177 opp-suspend;
181 osc_32k: clock-osc-32k {
182 compatible = "fixed-clock";
183 #clock-cells = <0>;
184 clock-frequency = <32768>;
185 clock-output-names = "osc_32k";
188 osc_24m: clock-osc-24m {
189 compatible = "fixed-clock";
190 #clock-cells = <0>;
191 clock-frequency = <24000000>;
192 clock-output-names = "osc_24m";
195 clk_ext1: clock-ext1 {
196 compatible = "fixed-clock";
197 #clock-cells = <0>;
198 clock-frequency = <133000000>;
199 clock-output-names = "clk_ext1";
202 clk_ext2: clock-ext2 {
203 compatible = "fixed-clock";
204 #clock-cells = <0>;
205 clock-frequency = <133000000>;
206 clock-output-names = "clk_ext2";
209 clk_ext3: clock-ext3 {
210 compatible = "fixed-clock";
211 #clock-cells = <0>;
212 clock-frequency = <133000000>;
213 clock-output-names = "clk_ext3";
216 clk_ext4: clock-ext4 {
217 compatible = "fixed-clock";
218 #clock-cells = <0>;
219 clock-frequency = <133000000>;
220 clock-output-names = "clk_ext4";
225 * non-configurable funnel don't show up on the AMBA
228 compatible = "arm,coresight-static-funnel";
230 in-ports {
231 #address-cells = <1>;
232 #size-cells = <0>;
238 remote-endpoint = <&etm0_out_port>;
246 remote-endpoint = <&etm1_out_port>;
254 remote-endpoint = <&etm2_out_port>;
262 remote-endpoint = <&etm3_out_port>;
267 out-ports {
271 remote-endpoint = <&hugo_funnel_in_port0>;
277 reserved-memory {
278 #address-cells = <2>;
279 #size-cells = <2>;
284 no-map;
290 compatible = "arm,cortex-a53-pmu";
296 compatible = "arm,psci-1.0";
300 thermal-zones {
301 cpu-thermal {
302 polling-delay-passive = <250>;
303 polling-delay = <2000>;
304 thermal-sensors = <&tmu 0>;
319 cooling-maps {
322 cooling-device =
331 soc-thermal {
332 polling-delay-passive = <250>;
333 polling-delay = <2000>;
334 thermal-sensors = <&tmu 1>;
349 cooling-maps {
352 cooling-device =
362 timer {
363 compatible = "arm,armv8-timer";
368 clock-frequency = <8000000>;
369 arm,no-tick-in-suspend;
373 compatible = "fsl,imx8mp-soc", "simple-bus";
374 #address-cells = <1>;
375 #size-cells = <1>;
377 nvmem-cells = <&imx8mp_uid>;
378 nvmem-cell-names = "soc_unique_id";
381 compatible = "arm,coresight-etm4x", "arm,primecell";
385 clock-names = "apb_pclk";
387 out-ports {
390 remote-endpoint = <&ca_funnel_in_port0>;
397 compatible = "arm,coresight-etm4x", "arm,primecell";
401 clock-names = "apb_pclk";
403 out-ports {
406 remote-endpoint = <&ca_funnel_in_port1>;
413 compatible = "arm,coresight-etm4x", "arm,primecell";
417 clock-names = "apb_pclk";
419 out-ports {
422 remote-endpoint = <&ca_funnel_in_port2>;
429 compatible = "arm,coresight-etm4x", "arm,primecell";
433 clock-names = "apb_pclk";
435 out-ports {
438 remote-endpoint = <&ca_funnel_in_port3>;
445 compatible = "arm,coresight-dynamic-funnel", "arm,primecell";
448 clock-names = "apb_pclk";
450 in-ports {
451 #address-cells = <1>;
452 #size-cells = <0>;
458 remote-endpoint = <&ca_funnel_out_port0>;
480 out-ports {
483 remote-endpoint = <&etf_in_port>;
490 compatible = "arm,coresight-tmc", "arm,primecell";
493 clock-names = "apb_pclk";
495 in-ports {
498 remote-endpoint = <&hugo_funnel_out_port0>;
503 out-ports {
506 remote-endpoint = <&etr_in_port>;
513 compatible = "arm,coresight-tmc", "arm,primecell";
516 clock-names = "apb_pclk";
518 in-ports {
521 remote-endpoint = <&etf_out_port>;
528 compatible = "fsl,aips-bus", "simple-bus";
530 #address-cells = <1>;
531 #size-cells = <1>;
535 compatible = "fsl,imx8mp-gpio", "fsl,imx35-gpio";
540 gpio-controller;
541 #gpio-cells = <2>;
542 interrupt-controller;
543 #interrupt-cells = <2>;
544 gpio-ranges = <&iomuxc 0 5 30>;
548 compatible = "fsl,imx8mp-gpio", "fsl,imx35-gpio";
553 gpio-controller;
554 #gpio-cells = <2>;
555 interrupt-controller;
556 #interrupt-cells = <2>;
557 gpio-ranges = <&iomuxc 0 35 21>;
561 compatible = "fsl,imx8mp-gpio", "fsl,imx35-gpio";
566 gpio-controller;
567 #gpio-cells = <2>;
568 interrupt-controller;
569 #interrupt-cells = <2>;
570 gpio-ranges = <&iomuxc 0 56 26>, <&iomuxc 26 144 4>;
574 compatible = "fsl,imx8mp-gpio", "fsl,imx35-gpio";
579 gpio-controller;
580 #gpio-cells = <2>;
581 interrupt-controller;
582 #interrupt-cells = <2>;
583 gpio-ranges = <&iomuxc 0 82 32>;
587 compatible = "fsl,imx8mp-gpio", "fsl,imx35-gpio";
592 gpio-controller;
593 #gpio-cells = <2>;
594 interrupt-controller;
595 #interrupt-cells = <2>;
596 gpio-ranges = <&iomuxc 0 114 30>;
600 compatible = "fsl,imx8mp-tmu";
603 nvmem-cells = <&tmu_calib>;
604 nvmem-cell-names = "calib";
605 #thermal-sensor-cells = <1>;
609 compatible = "fsl,imx8mp-wdt", "fsl,imx21-wdt";
617 compatible = "fsl,imx8mp-wdt", "fsl,imx21-wdt";
625 compatible = "fsl,imx8mp-wdt", "fsl,imx21-wdt";
632 gpt1: timer@302d0000 {
633 compatible = "fsl,imx8mp-gpt", "fsl,imx6dl-gpt";
637 clock-names = "ipg", "per";
640 gpt2: timer@302e0000 {
641 compatible = "fsl,imx8mp-gpt", "fsl,imx6dl-gpt";
645 clock-names = "ipg", "per";
648 gpt3: timer@302f0000 {
649 compatible = "fsl,imx8mp-gpt", "fsl,imx6dl-gpt";
653 clock-names = "ipg", "per";
657 compatible = "fsl,imx8mp-iomuxc";
662 compatible = "fsl,imx8mp-iomuxc-gpr", "syscon";
667 compatible = "fsl,imx8mp-ocotp", "fsl,imx8mm-ocotp", "syscon";
671 #address-cells = <1>;
672 #size-cells = <1>;
687 imx8mp_uid: unique-id@8 { /* 0x420-0x430 */
691 cpu_speed_grade: speed-grade@10 { /* 0x440 */
695 eth_mac1: mac-address@90 { /* 0x640 */
699 eth_mac2: mac-address@96 { /* 0x658 */
703 tmu_calib: calib@264 { /* 0xd90-0xdc0 */
708 anatop: clock-controller@30360000 {
709 compatible = "fsl,imx8mp-anatop", "fsl,imx8mm-anatop";
711 #clock-cells = <1>;
715 compatible = "fsl,sec-v4.0-mon","syscon", "simple-mfd";
718 snvs_rtc: snvs-rtc-lp {
719 compatible = "fsl,sec-v4.0-mon-rtc-lp";
725 clock-names = "snvs-rtc";
728 snvs_pwrkey: snvs-powerkey {
729 compatible = "fsl,sec-v4.0-pwrkey";
733 clock-names = "snvs-pwrkey";
735 wakeup-source;
739 snvs_lpgpr: snvs-lpgpr {
740 compatible = "fsl,imx8mp-snvs-lpgpr",
741 "fsl,imx7d-snvs-lpgpr";
745 clk: clock-controller@30380000 {
746 compatible = "fsl,imx8mp-ccm";
750 #clock-cells = <1>;
753 clock-names = "osc_32k", "osc_24m", "clk_ext1", "clk_ext2",
755 assigned-clocks = <&clk IMX8MP_CLK_A53_SRC>,
760 assigned-clock-parents = <&clk IMX8MP_SYS_PLL1_800M>,
765 assigned-clock-rates = <0>, <0>,
771 src: reset-controller@30390000 {
772 compatible = "fsl,imx8mp-src", "syscon";
775 #reset-cells = <1>;
779 compatible = "fsl,imx8mp-gpc";
781 interrupt-parent = <&gic>;
783 interrupt-controller;
784 #interrupt-cells = <3>;
787 #address-cells = <1>;
788 #size-cells = <0>;
790 pgc_mipi_phy1: power-domain@0 {
791 #power-domain-cells = <0>;
795 pgc_pcie_phy: power-domain@1 {
796 #power-domain-cells = <0>;
800 pgc_usb1_phy: power-domain@2 {
801 #power-domain-cells = <0>;
805 pgc_usb2_phy: power-domain@3 {
806 #power-domain-cells = <0>;
810 pgc_mlmix: power-domain@4 {
811 #power-domain-cells = <0>;
816 assigned-clocks = <&clk IMX8MP_CLK_ML_CORE>,
819 assigned-clock-parents = <&clk IMX8MP_SYS_PLL2_1000M>,
822 assigned-clock-rates = <1000000000>,
827 pgc_audio: power-domain@5 {
828 #power-domain-cells = <0>;
832 assigned-clocks = <&clk IMX8MP_CLK_AUDIO_AHB>,
834 assigned-clock-parents = <&clk IMX8MP_SYS_PLL1_800M>,
836 assigned-clock-rates = <400000000>,
840 pgc_gpu2d: power-domain@6 {
841 #power-domain-cells = <0>;
844 power-domains = <&pgc_gpumix>;
847 pgc_gpumix: power-domain@7 {
848 #power-domain-cells = <0>;
852 assigned-clocks = <&clk IMX8MP_CLK_GPU_AXI>,
854 assigned-clock-parents = <&clk IMX8MP_SYS_PLL1_800M>,
856 assigned-clock-rates = <800000000>, <400000000>;
859 pgc_vpumix: power-domain@8 {
860 #power-domain-cells = <0>;
865 pgc_gpu3d: power-domain@9 {
866 #power-domain-cells = <0>;
870 power-domains = <&pgc_gpumix>;
873 pgc_mediamix: power-domain@10 {
874 #power-domain-cells = <0>;
880 pgc_vpu_g1: power-domain@11 {
881 #power-domain-cells = <0>;
882 power-domains = <&pgc_vpumix>;
887 pgc_vpu_g2: power-domain@12 {
888 #power-domain-cells = <0>;
889 power-domains = <&pgc_vpumix>;
895 pgc_vpu_vc8000e: power-domain@13 {
896 #power-domain-cells = <0>;
897 power-domains = <&pgc_vpumix>;
902 pgc_hdmimix: power-domain@14 {
903 #power-domain-cells = <0>;
907 assigned-clocks = <&clk IMX8MP_CLK_HDMI_AXI>,
909 assigned-clock-parents = <&clk IMX8MP_SYS_PLL2_500M>,
911 assigned-clock-rates = <500000000>, <133000000>;
914 pgc_hdmi_phy: power-domain@15 {
915 #power-domain-cells = <0>;
919 pgc_mipi_phy2: power-domain@16 {
920 #power-domain-cells = <0>;
924 pgc_hsiomix: power-domain@17 {
925 #power-domain-cells = <0>;
929 assigned-clocks = <&clk IMX8MP_CLK_HSIO_AXI>;
930 assigned-clock-parents = <&clk IMX8MP_SYS_PLL2_500M>;
931 assigned-clock-rates = <500000000>;
934 pgc_ispdwp: power-domain@18 {
935 #power-domain-cells = <0>;
944 compatible = "fsl,aips-bus", "simple-bus";
946 #address-cells = <1>;
947 #size-cells = <1>;
951 compatible = "fsl,imx8mp-pwm", "fsl,imx27-pwm";
956 clock-names = "ipg", "per";
957 #pwm-cells = <3>;
962 compatible = "fsl,imx8mp-pwm", "fsl,imx27-pwm";
967 clock-names = "ipg", "per";
968 #pwm-cells = <3>;
973 compatible = "fsl,imx8mp-pwm", "fsl,imx27-pwm";
978 clock-names = "ipg", "per";
979 #pwm-cells = <3>;
984 compatible = "fsl,imx8mp-pwm", "fsl,imx27-pwm";
989 clock-names = "ipg", "per";
990 #pwm-cells = <3>;
994 system_counter: timer@306a0000 {
995 compatible = "nxp,sysctr-timer";
999 clock-names = "per";
1002 gpt6: timer@306e0000 {
1003 compatible = "fsl,imx8mp-gpt", "fsl,imx6dl-gpt";
1007 clock-names = "ipg", "per";
1010 gpt5: timer@306f0000 {
1011 compatible = "fsl,imx8mp-gpt", "fsl,imx6dl-gpt";
1015 clock-names = "ipg", "per";
1018 gpt4: timer@30700000 {
1019 compatible = "fsl,imx8mp-gpt", "fsl,imx6dl-gpt";
1023 clock-names = "ipg", "per";
1028 compatible = "fsl,aips-bus", "simple-bus";
1030 #address-cells = <1>;
1031 #size-cells = <1>;
1034 spba-bus@30800000 {
1035 compatible = "fsl,spba-bus", "simple-bus";
1037 #address-cells = <1>;
1038 #size-cells = <1>;
1042 #address-cells = <1>;
1043 #size-cells = <0>;
1044 compatible = "fsl,imx8mp-ecspi", "fsl,imx6ul-ecspi";
1049 clock-names = "ipg", "per";
1050 assigned-clock-rates = <80000000>;
1051 assigned-clocks = <&clk IMX8MP_CLK_ECSPI1>;
1052 assigned-clock-parents = <&clk IMX8MP_SYS_PLL1_800M>;
1054 dma-names = "rx", "tx";
1059 #address-cells = <1>;
1060 #size-cells = <0>;
1061 compatible = "fsl,imx8mp-ecspi", "fsl,imx6ul-ecspi";
1066 clock-names = "ipg", "per";
1067 assigned-clock-rates = <80000000>;
1068 assigned-clocks = <&clk IMX8MP_CLK_ECSPI2>;
1069 assigned-clock-parents = <&clk IMX8MP_SYS_PLL1_800M>;
1071 dma-names = "rx", "tx";
1076 #address-cells = <1>;
1077 #size-cells = <0>;
1078 compatible = "fsl,imx8mp-ecspi", "fsl,imx6ul-ecspi";
1083 clock-names = "ipg", "per";
1084 assigned-clock-rates = <80000000>;
1085 assigned-clocks = <&clk IMX8MP_CLK_ECSPI3>;
1086 assigned-clock-parents = <&clk IMX8MP_SYS_PLL1_800M>;
1088 dma-names = "rx", "tx";
1093 compatible = "fsl,imx8mp-uart", "fsl,imx6q-uart";
1098 clock-names = "ipg", "per";
1100 dma-names = "rx", "tx";
1105 compatible = "fsl,imx8mp-uart", "fsl,imx6q-uart";
1110 clock-names = "ipg", "per";
1112 dma-names = "rx", "tx";
1117 compatible = "fsl,imx8mp-uart", "fsl,imx6q-uart";
1122 clock-names = "ipg", "per";
1124 dma-names = "rx", "tx";
1129 compatible = "fsl,imx8mp-flexcan";
1134 clock-names = "ipg", "per";
1135 assigned-clocks = <&clk IMX8MP_CLK_CAN1>;
1136 assigned-clock-parents = <&clk IMX8MP_SYS_PLL1_40M>;
1137 assigned-clock-rates = <40000000>;
1138 fsl,clk-source = /bits/ 8 <0>;
1139 fsl,stop-mode = <&gpr 0x10 4>;
1144 compatible = "fsl,imx8mp-flexcan";
1149 clock-names = "ipg", "per";
1150 assigned-clocks = <&clk IMX8MP_CLK_CAN2>;
1151 assigned-clock-parents = <&clk IMX8MP_SYS_PLL1_40M>;
1152 assigned-clock-rates = <40000000>;
1153 fsl,clk-source = /bits/ 8 <0>;
1154 fsl,stop-mode = <&gpr 0x10 5>;
1160 compatible = "fsl,sec-v4.0";
1161 #address-cells = <1>;
1162 #size-cells = <1>;
1168 clock-names = "aclk", "ipg";
1171 compatible = "fsl,sec-v4.0-job-ring";
1178 compatible = "fsl,sec-v4.0-job-ring";
1184 compatible = "fsl,sec-v4.0-job-ring";
1191 compatible = "fsl,imx8mp-i2c", "fsl,imx21-i2c";
1192 #address-cells = <1>;
1193 #size-cells = <0>;
1201 compatible = "fsl,imx8mp-i2c", "fsl,imx21-i2c";
1202 #address-cells = <1>;
1203 #size-cells = <0>;
1211 compatible = "fsl,imx8mp-i2c", "fsl,imx21-i2c";
1212 #address-cells = <1>;
1213 #size-cells = <0>;
1221 compatible = "fsl,imx8mp-i2c", "fsl,imx21-i2c";
1222 #address-cells = <1>;
1223 #size-cells = <0>;
1231 compatible = "fsl,imx8mp-uart", "fsl,imx6q-uart";
1236 clock-names = "ipg", "per";
1238 dma-names = "rx", "tx";
1243 compatible = "fsl,imx8mp-mu", "fsl,imx6sx-mu";
1247 #mbox-cells = <2>;
1251 compatible = "fsl,imx8mp-mu", "fsl,imx6sx-mu";
1254 #mbox-cells = <2>;
1259 compatible = "fsl,imx8mp-i2c", "fsl,imx21-i2c";
1260 #address-cells = <1>;
1261 #size-cells = <0>;
1269 compatible = "fsl,imx8mp-i2c", "fsl,imx21-i2c";
1270 #address-cells = <1>;
1271 #size-cells = <0>;
1279 compatible = "fsl,imx8mp-usdhc", "fsl,imx8mm-usdhc", "fsl,imx7d-usdhc";
1285 clock-names = "ipg", "ahb", "per";
1286 fsl,tuning-start-tap = <20>;
1287 fsl,tuning-step = <2>;
1288 bus-width = <4>;
1293 compatible = "fsl,imx8mp-usdhc", "fsl,imx8mm-usdhc", "fsl,imx7d-usdhc";
1299 clock-names = "ipg", "ahb", "per";
1300 fsl,tuning-start-tap = <20>;
1301 fsl,tuning-step = <2>;
1302 bus-width = <4>;
1307 compatible = "fsl,imx8mp-usdhc", "fsl,imx8mm-usdhc", "fsl,imx7d-usdhc";
1313 clock-names = "ipg", "ahb", "per";
1314 fsl,tuning-start-tap = <20>;
1315 fsl,tuning-step = <2>;
1316 bus-width = <4>;
1321 compatible = "nxp,imx8mp-fspi";
1323 reg-names = "fspi_base", "fspi_mmap";
1327 clock-names = "fspi_en", "fspi";
1328 assigned-clock-rates = <80000000>;
1329 assigned-clocks = <&clk IMX8MP_CLK_QSPI>;
1330 #address-cells = <1>;
1331 #size-cells = <0>;
1335 sdma1: dma-controller@30bd0000 {
1336 compatible = "fsl,imx8mp-sdma", "fsl,imx8mq-sdma";
1341 clock-names = "ipg", "ahb";
1342 #dma-cells = <3>;
1343 fsl,sdma-ram-script-name = "imx/sdma/sdma-imx7d.bin";
1347 compatible = "fsl,imx8mp-fec", "fsl,imx8mq-fec", "fsl,imx6sx-fec";
1358 clock-names = "ipg", "ahb", "ptp",
1360 assigned-clocks = <&clk IMX8MP_CLK_ENET_AXI>,
1364 assigned-clock-parents = <&clk IMX8MP_SYS_PLL1_266M>,
1368 assigned-clock-rates = <0>, <100000000>, <125000000>, <0>;
1369 fsl,num-tx-queues = <3>;
1370 fsl,num-rx-queues = <3>;
1371 nvmem-cells = <ð_mac1>;
1372 nvmem-cell-names = "mac-address";
1373 fsl,stop-mode = <&gpr 0x10 3>;
1378 compatible = "nxp,imx8mp-dwmac-eqos", "snps,dwmac-5.10a";
1382 interrupt-names = "macirq", "eth_wake_irq";
1387 clock-names = "stmmaceth", "pclk", "ptp_ref", "tx";
1388 assigned-clocks = <&clk IMX8MP_CLK_ENET_AXI>,
1391 assigned-clock-parents = <&clk IMX8MP_SYS_PLL1_266M>,
1394 assigned-clock-rates = <0>, <100000000>, <125000000>;
1395 nvmem-cells = <ð_mac2>;
1396 nvmem-cell-names = "mac-address";
1403 compatible = "fsl,aips-bus", "simple-bus";
1405 #address-cells = <1>;
1406 #size-cells = <1>;
1409 spba-bus@30c00000 {
1410 compatible = "fsl,spba-bus", "simple-bus";
1412 #address-cells = <1>;
1413 #size-cells = <1>;
1417 compatible = "fsl,imx8mp-sai", "fsl,imx8mq-sai";
1419 #sound-dai-cells = <0>;
1425 clock-names = "bus", "mclk0", "mclk1", "mclk2", "mclk3";
1427 dma-names = "rx", "tx";
1433 compatible = "fsl,imx8mp-sai", "fsl,imx8mq-sai";
1435 #sound-dai-cells = <0>;
1441 clock-names = "bus", "mclk0", "mclk1", "mclk2", "mclk3";
1443 dma-names = "rx", "tx";
1449 compatible = "fsl,imx8mp-sai", "fsl,imx8mq-sai";
1451 #sound-dai-cells = <0>;
1457 clock-names = "bus", "mclk0", "mclk1", "mclk2", "mclk3";
1459 dma-names = "rx", "tx";
1465 compatible = "fsl,imx8mp-sai", "fsl,imx8mq-sai";
1467 #sound-dai-cells = <0>;
1473 clock-names = "bus", "mclk0", "mclk1", "mclk2", "mclk3";
1475 dma-names = "rx", "tx";
1481 compatible = "fsl,imx8mp-sai", "fsl,imx8mq-sai";
1483 #sound-dai-cells = <0>;
1489 clock-names = "bus", "mclk0", "mclk1", "mclk2", "mclk3";
1491 dma-names = "rx", "tx";
1497 compatible = "fsl,imx8mp-sai", "fsl,imx8mq-sai";
1499 #sound-dai-cells = <0>;
1505 clock-names = "bus", "mclk0", "mclk1", "mclk2", "mclk3";
1507 dma-names = "rx", "tx";
1513 compatible = "fsl,imx8mp-easrc", "fsl,imx8mn-easrc";
1517 clock-names = "mem";
1522 dma-names = "ctx0_rx", "ctx0_tx",
1526 firmware-name = "imx/easrc/easrc-imx8mn.bin";
1527 fsl,asrc-rate = <8000>;
1528 fsl,asrc-format = <2>;
1532 micfil: audio-controller@30ca0000 {
1533 compatible = "fsl,imx8mp-micfil";
1535 #sound-dai-cells = <0>;
1545 clock-names = "ipg_clk", "ipg_clk_app",
1548 dma-names = "rx";
1553 compatible = "fsl,imx8mp-aud2htx";
1557 clock-names = "bus";
1559 dma-names = "tx";
1564 compatible = "fsl,imx8mp-xcvr";
1569 reg-names = "ram", "regs", "rxfifo",
1575 /* XCVR PHY - SPDIF wakeup IRQ */
1581 clock-names = "ipg", "phy", "spba", "pll_ipg";
1583 dma-names = "rx", "tx";
1589 sdma3: dma-controller@30e00000 {
1590 compatible = "fsl,imx8mp-sdma", "fsl,imx8mq-sdma";
1592 #dma-cells = <3>;
1595 clock-names = "ipg", "ahb";
1597 fsl,sdma-ram-script-name = "imx/sdma/sdma-imx7d.bin";
1600 sdma2: dma-controller@30e10000 {
1601 compatible = "fsl,imx8mp-sdma", "fsl,imx8mq-sdma";
1603 #dma-cells = <3>;
1606 clock-names = "ipg", "ahb";
1608 fsl,sdma-ram-script-name = "imx/sdma/sdma-imx7d.bin";
1611 audio_blk_ctrl: clock-controller@30e20000 {
1612 compatible = "fsl,imx8mp-audio-blk-ctrl";
1614 #clock-cells = <1>;
1615 #reset-cells = <1>;
1624 clock-names = "ahb",
1627 power-domains = <&pgc_audio>;
1628 assigned-clocks = <&clk IMX8MP_AUDIO_PLL1>,
1630 assigned-clock-rates = <393216000>, <361267200>;
1635 compatible = "fsl,imx8mp-noc", "fsl,imx8m-noc";
1638 #interconnect-cells = <1>;
1639 operating-points-v2 = <&noc_opp_table>;
1641 noc_opp_table: opp-table {
1642 compatible = "operating-points-v2";
1644 opp-200000000 {
1645 opp-hz = /bits/ 64 <200000000>;
1649 opp-800000000 {
1650 opp-hz = /bits/ 64 <800000000>;
1654 opp-1000000000 {
1655 opp-hz = /bits/ 64 <1000000000>;
1661 compatible = "fsl,aips-bus", "simple-bus";
1663 #address-cells = <1>;
1664 #size-cells = <1>;
1668 compatible = "fsl,imx8mp-isi";
1674 clock-names = "axi", "apb";
1675 fsl,blk-ctrl = <&media_blk_ctrl>;
1676 power-domains = <&media_blk_ctrl IMX8MP_MEDIABLK_PD_ISI>;
1680 #address-cells = <1>;
1681 #size-cells = <0>;
1687 remote-endpoint = <&mipi_csi_0_out>;
1695 remote-endpoint = <&mipi_csi_1_out>;
1702 compatible = "fsl,imx8mp-isp";
1708 clock-names = "isp", "aclk", "hclk";
1709 power-domains = <&media_blk_ctrl IMX8MP_MEDIABLK_PD_ISP>;
1710 fsl,blk-ctrl = <&media_blk_ctrl 0>;
1714 #address-cells = <1>;
1715 #size-cells = <0>;
1724 compatible = "fsl,imx8mp-isp";
1730 clock-names = "isp", "aclk", "hclk";
1731 power-domains = <&media_blk_ctrl IMX8MP_MEDIABLK_PD_ISP>;
1732 fsl,blk-ctrl = <&media_blk_ctrl 1>;
1736 #address-cells = <1>;
1737 #size-cells = <0>;
1746 compatible = "nxp,imx8mp-dw100";
1751 clock-names = "axi", "ahb";
1752 power-domains = <&media_blk_ctrl IMX8MP_MEDIABLK_PD_DWE>;
1756 compatible = "fsl,imx8mp-mipi-csi2", "fsl,imx8mm-mipi-csi2";
1759 clock-frequency = <250000000>;
1764 clock-names = "pclk", "wrap", "phy", "axi";
1765 assigned-clocks = <&clk IMX8MP_CLK_MEDIA_CAM1_PIX>,
1767 assigned-clock-parents = <&clk IMX8MP_SYS_PLL2_250M>,
1769 power-domains = <&media_blk_ctrl IMX8MP_MEDIABLK_PD_MIPI_CSI2_1>;
1773 #address-cells = <1>;
1774 #size-cells = <0>;
1784 remote-endpoint = <&isi_in_0>;
1791 compatible = "fsl,imx8mp-mipi-csi2", "fsl,imx8mm-mipi-csi2";
1794 clock-frequency = <250000000>;
1799 clock-names = "pclk", "wrap", "phy", "axi";
1800 assigned-clocks = <&clk IMX8MP_CLK_MEDIA_CAM2_PIX>,
1802 assigned-clock-parents = <&clk IMX8MP_SYS_PLL2_250M>,
1804 power-domains = <&media_blk_ctrl IMX8MP_MEDIABLK_PD_MIPI_CSI2_2>;
1808 #address-cells = <1>;
1809 #size-cells = <0>;
1819 remote-endpoint = <&isi_in_1>;
1826 compatible = "fsl,imx8mp-mipi-dsim";
1830 clock-names = "bus_clk", "sclk_mipi";
1831 assigned-clocks = <&clk IMX8MP_CLK_MEDIA_APB>,
1833 assigned-clock-parents = <&clk IMX8MP_SYS_PLL1_800M>,
1835 assigned-clock-rates = <200000000>, <24000000>;
1836 samsung,pll-clock-frequency = <24000000>;
1838 power-domains = <&media_blk_ctrl IMX8MP_MEDIABLK_PD_MIPI_DSI_1>;
1842 #address-cells = <1>;
1843 #size-cells = <0>;
1849 remote-endpoint = <&lcdif1_to_dsim>;
1862 lcdif1: display-controller@32e80000 {
1863 compatible = "fsl,imx8mp-lcdif";
1868 clock-names = "pix", "axi", "disp_axi";
1870 power-domains = <&media_blk_ctrl IMX8MP_MEDIABLK_PD_LCDIF_1>;
1875 remote-endpoint = <&dsim_from_lcdif1>;
1880 lcdif2: display-controller@32e90000 {
1881 compatible = "fsl,imx8mp-lcdif";
1887 clock-names = "pix", "axi", "disp_axi";
1888 power-domains = <&media_blk_ctrl IMX8MP_MEDIABLK_PD_LCDIF_2>;
1893 remote-endpoint = <&ldb_from_lcdif2>;
1898 media_blk_ctrl: blk-ctrl@32ec0000 {
1899 compatible = "fsl,imx8mp-media-blk-ctrl",
1902 #address-cells = <1>;
1903 #size-cells = <1>;
1904 power-domains = <&pgc_mediamix>,
1914 power-domain-names = "bus", "mipi-dsi1", "mipi-csi1",
1915 "lcdif1", "isi", "mipi-csi2",
1917 "mipi-dsi2";
1927 interconnect-names = "lcdif-rd", "lcdif-wr", "isi0",
1938 clock-names = "apb", "axi", "cam1", "cam2",
1947 assigned-clocks = <&clk IMX8MP_CLK_MEDIA_AXI>,
1953 assigned-clock-parents = <&clk IMX8MP_SYS_PLL2_1000M>,
1958 assigned-clock-rates = <500000000>, <200000000>,
1961 #power-domain-cells = <1>;
1964 compatible = "fsl,imx8mp-ldb";
1966 reg-names = "ldb", "lvds";
1968 clock-names = "ldb";
1969 assigned-clocks = <&clk IMX8MP_CLK_MEDIA_LDB>;
1970 assigned-clock-parents = <&clk IMX8MP_VIDEO_PLL1_OUT>;
1974 #address-cells = <1>;
1975 #size-cells = <0>;
1981 remote-endpoint = <&lcdif2_to_ldb>;
2002 pcie_phy: pcie-phy@32f00000 {
2003 compatible = "fsl,imx8mp-pcie-phy";
2007 reset-names = "pciephy", "perst";
2008 power-domains = <&hsio_blk_ctrl IMX8MP_HSIOBLK_PD_PCIE_PHY>;
2009 #phy-cells = <0>;
2013 hsio_blk_ctrl: blk-ctrl@32f10000 {
2014 compatible = "fsl,imx8mp-hsio-blk-ctrl", "syscon";
2018 clock-names = "usb", "pcie";
2019 power-domains = <&pgc_hsiomix>, <&pgc_hsiomix>,
2022 power-domain-names = "bus", "usb", "usb-phy1",
2023 "usb-phy2", "pcie", "pcie-phy";
2028 interconnect-names = "noc-pcie", "usb1", "usb2", "pcie";
2029 #power-domain-cells = <1>;
2030 #clock-cells = <0>;
2033 hdmi_blk_ctrl: blk-ctrl@32fc0000 {
2034 compatible = "fsl,imx8mp-hdmi-blk-ctrl", "syscon";
2041 clock-names = "apb", "axi", "ref_266m", "ref_24m", "fdcc";
2042 power-domains = <&pgc_hdmimix>, <&pgc_hdmimix>,
2047 power-domain-names = "bus", "irqsteer", "lcdif",
2049 "hdmi-tx", "hdmi-tx-phy",
2051 #power-domain-cells = <1>;
2054 irqsteer_hdmi: interrupt-controller@32fc2000 {
2055 compatible = "fsl,imx8mp-irqsteer", "fsl,imx-irqsteer";
2058 interrupt-controller;
2059 #interrupt-cells = <1>;
2061 fsl,num-irqs = <64>;
2063 clock-names = "ipg";
2064 power-domains = <&hdmi_blk_ctrl IMX8MP_HDMIBLK_PD_IRQSTEER>;
2067 hdmi_pvi: display-bridge@32fc4000 {
2068 compatible = "fsl,imx8mp-hdmi-pvi";
2070 interrupt-parent = <&irqsteer_hdmi>;
2072 power-domains = <&hdmi_blk_ctrl IMX8MP_HDMIBLK_PD_PVI>;
2076 #address-cells = <1>;
2077 #size-cells = <0>;
2082 remote-endpoint = <&lcdif3_to_pvi>;
2089 remote-endpoint = <&hdmi_tx_from_pvi>;
2095 lcdif3: display-controller@32fc6000 {
2096 compatible = "fsl,imx8mp-lcdif";
2098 interrupt-parent = <&irqsteer_hdmi>;
2103 clock-names = "pix", "axi", "disp_axi";
2104 power-domains = <&hdmi_blk_ctrl IMX8MP_HDMIBLK_PD_LCDIF>;
2109 remote-endpoint = <&pvi_from_lcdif3>;
2115 compatible = "fsl,imx8mp-hdmi-tx";
2117 interrupt-parent = <&irqsteer_hdmi>;
2123 clock-names = "iahb", "isfr", "cec", "pix";
2124 assigned-clocks = <&clk IMX8MP_CLK_HDMI_REF_266M>;
2125 assigned-clock-parents = <&clk IMX8MP_SYS_PLL1_266M>;
2126 power-domains = <&hdmi_blk_ctrl IMX8MP_HDMIBLK_PD_HDMI_TX>;
2127 reg-io-width = <1>;
2131 #address-cells = <1>;
2132 #size-cells = <0>;
2138 remote-endpoint = <&pvi_to_hdmi_tx>;
2150 compatible = "fsl,imx8mp-hdmi-phy";
2154 clock-names = "apb", "ref";
2155 assigned-clocks = <&clk IMX8MP_CLK_HDMI_24M>;
2156 assigned-clock-parents = <&clk IMX8MP_CLK_24M>;
2157 power-domains = <&hdmi_blk_ctrl IMX8MP_HDMIBLK_PD_HDMI_TX_PHY>;
2158 #clock-cells = <0>;
2159 #phy-cells = <0>;
2165 compatible = "fsl,imx8mp-pcie";
2167 reg-names = "dbi", "config";
2171 clock-names = "pcie", "pcie_bus", "pcie_aux";
2172 assigned-clocks = <&clk IMX8MP_CLK_PCIE_AUX>;
2173 assigned-clock-rates = <10000000>;
2174 assigned-clock-parents = <&clk IMX8MP_SYS_PLL2_50M>;
2175 #address-cells = <3>;
2176 #size-cells = <2>;
2178 bus-range = <0x00 0xff>;
2180 <0x82000000 0 0x18000000 0x18000000 0 0x07f00000>; /* non-prefetchable memory */
2181 num-lanes = <1>;
2182 num-viewport = <4>;
2184 interrupt-names = "msi";
2185 #interrupt-cells = <1>;
2186 interrupt-map-mask = <0 0 0 0x7>;
2187 interrupt-map = <0 0 0 1 &gic GIC_SPI 126 IRQ_TYPE_LEVEL_HIGH>,
2191 fsl,max-link-speed = <3>;
2192 linux,pci-domain = <0>;
2193 power-domains = <&hsio_blk_ctrl IMX8MP_HSIOBLK_PD_PCIE>;
2196 reset-names = "apps", "turnoff";
2198 phy-names = "pcie-phy";
2202 pcie_ep: pcie-ep@33800000 {
2203 compatible = "fsl,imx8mp-pcie-ep";
2208 reg-names = "dbi", "addr_space", "dbi2", "atu";
2212 clock-names = "pcie", "pcie_bus", "pcie_aux";
2213 assigned-clocks = <&clk IMX8MP_CLK_PCIE_AUX>;
2214 assigned-clock-rates = <10000000>;
2215 assigned-clock-parents = <&clk IMX8MP_SYS_PLL2_50M>;
2216 num-lanes = <1>;
2218 interrupt-names = "dma";
2219 fsl,max-link-speed = <3>;
2220 power-domains = <&hsio_blk_ctrl IMX8MP_HSIOBLK_PD_PCIE>;
2223 reset-names = "apps", "turnoff";
2225 phy-names = "pcie-phy";
2226 num-ib-windows = <4>;
2227 num-ob-windows = <4>;
2239 clock-names = "core", "shader", "bus", "reg";
2240 assigned-clocks = <&clk IMX8MP_CLK_GPU3D_CORE>,
2242 assigned-clock-parents = <&clk IMX8MP_SYS_PLL2_1000M>,
2244 assigned-clock-rates = <1000000000>, <1000000000>;
2245 power-domains = <&pgc_gpu3d>;
2255 clock-names = "core", "bus", "reg";
2256 assigned-clocks = <&clk IMX8MP_CLK_GPU2D_CORE>;
2257 assigned-clock-parents = <&clk IMX8MP_SYS_PLL2_1000M>;
2258 assigned-clock-rates = <1000000000>;
2259 power-domains = <&pgc_gpu2d>;
2262 vpu_g1: video-codec@38300000 {
2263 compatible = "nxp,imx8mm-vpu-g1";
2267 assigned-clocks = <&clk IMX8MP_CLK_VPU_G1>;
2268 assigned-clock-parents = <&clk IMX8MP_VPU_PLL_OUT>;
2269 assigned-clock-rates = <600000000>;
2270 power-domains = <&vpumix_blk_ctrl IMX8MP_VPUBLK_PD_G1>;
2273 vpu_g2: video-codec@38310000 {
2274 compatible = "nxp,imx8mq-vpu-g2";
2278 assigned-clocks = <&clk IMX8MP_CLK_VPU_G2>;
2279 assigned-clock-parents = <&clk IMX8MP_SYS_PLL2_1000M>;
2280 assigned-clock-rates = <500000000>;
2281 power-domains = <&vpumix_blk_ctrl IMX8MP_VPUBLK_PD_G2>;
2284 vpumix_blk_ctrl: blk-ctrl@38330000 {
2285 compatible = "fsl,imx8mp-vpu-blk-ctrl", "syscon";
2287 #power-domain-cells = <1>;
2288 power-domains = <&pgc_vpumix>, <&pgc_vpu_g1>,
2290 power-domain-names = "bus", "g1", "g2", "vc8000e";
2294 clock-names = "g1", "g2", "vc8000e";
2295 assigned-clocks = <&clk IMX8MP_CLK_VPU_BUS>, <&clk IMX8MP_VPU_PLL>;
2296 assigned-clock-parents = <&clk IMX8MP_VPU_PLL_OUT>;
2297 assigned-clock-rates = <600000000>, <600000000>;
2301 interconnect-names = "g1", "g2", "vc8000e";
2312 clock-names = "core", "shader", "bus", "reg";
2313 power-domains = <&pgc_mlmix>;
2316 gic: interrupt-controller@38800000 {
2317 compatible = "arm,gic-v3";
2320 #interrupt-cells = <3>;
2321 interrupt-controller;
2323 interrupt-parent = <&gic>;
2326 edacmc: memory-controller@3d400000 {
2327 compatible = "snps,ddrc-3.80a";
2332 ddr-pmu@3d800000 {
2333 compatible = "fsl,imx8mp-ddr-pmu", "fsl,imx8m-ddr-pmu";
2338 usb3_phy0: usb-phy@381f0040 {
2339 compatible = "fsl,imx8mp-usb-phy";
2342 clock-names = "phy";
2343 assigned-clocks = <&clk IMX8MP_CLK_USB_PHY_REF>;
2344 assigned-clock-parents = <&clk IMX8MP_CLK_24M>;
2345 power-domains = <&hsio_blk_ctrl IMX8MP_HSIOBLK_PD_USB_PHY1>;
2346 #phy-cells = <0>;
2351 compatible = "fsl,imx8mp-dwc3";
2356 clock-names = "hsio", "suspend";
2358 power-domains = <&hsio_blk_ctrl IMX8MP_HSIOBLK_PD_USB>;
2359 #address-cells = <1>;
2360 #size-cells = <1>;
2361 dma-ranges = <0x40000000 0x40000000 0xc0000000>;
2371 clock-names = "bus_early", "ref", "suspend";
2374 phy-names = "usb2-phy", "usb3-phy";
2375 snps,gfladj-refclk-lpm-sel-quirk;
2376 snps,parkmode-disable-ss-quirk;
2381 usb3_phy1: usb-phy@382f0040 {
2382 compatible = "fsl,imx8mp-usb-phy";
2385 clock-names = "phy";
2386 assigned-clocks = <&clk IMX8MP_CLK_USB_PHY_REF>;
2387 assigned-clock-parents = <&clk IMX8MP_CLK_24M>;
2388 power-domains = <&hsio_blk_ctrl IMX8MP_HSIOBLK_PD_USB_PHY2>;
2389 #phy-cells = <0>;
2394 compatible = "fsl,imx8mp-dwc3";
2399 clock-names = "hsio", "suspend";
2401 power-domains = <&hsio_blk_ctrl IMX8MP_HSIOBLK_PD_USB>;
2402 #address-cells = <1>;
2403 #size-cells = <1>;
2404 dma-ranges = <0x40000000 0x40000000 0xc0000000>;
2414 clock-names = "bus_early", "ref", "suspend";
2417 phy-names = "usb2-phy", "usb3-phy";
2418 snps,gfladj-refclk-lpm-sel-quirk;
2419 snps,parkmode-disable-ss-quirk;
2424 compatible = "fsl,imx8mp-dsp";
2426 mbox-names = "txdb0", "txdb1",
2430 memory-region = <&dsp_reserved>;