18c2ecf20Sopenharmony_ci// SPDX-License-Identifier: (GPL-2.0+ OR MIT) 28c2ecf20Sopenharmony_ci/* 38c2ecf20Sopenharmony_ci * Copyright 2017 NXP 48c2ecf20Sopenharmony_ci * Copyright (C) 2017-2018 Pengutronix, Lucas Stach <kernel@pengutronix.de> 58c2ecf20Sopenharmony_ci */ 68c2ecf20Sopenharmony_ci 78c2ecf20Sopenharmony_ci#include <dt-bindings/clock/imx8mq-clock.h> 88c2ecf20Sopenharmony_ci#include <dt-bindings/power/imx8mq-power.h> 98c2ecf20Sopenharmony_ci#include <dt-bindings/reset/imx8mq-reset.h> 108c2ecf20Sopenharmony_ci#include <dt-bindings/gpio/gpio.h> 118c2ecf20Sopenharmony_ci#include "dt-bindings/input/input.h" 128c2ecf20Sopenharmony_ci#include <dt-bindings/interrupt-controller/arm-gic.h> 138c2ecf20Sopenharmony_ci#include <dt-bindings/thermal/thermal.h> 148c2ecf20Sopenharmony_ci#include "imx8mq-pinfunc.h" 158c2ecf20Sopenharmony_ci 168c2ecf20Sopenharmony_ci/ { 178c2ecf20Sopenharmony_ci interrupt-parent = <&gpc>; 188c2ecf20Sopenharmony_ci 198c2ecf20Sopenharmony_ci #address-cells = <2>; 208c2ecf20Sopenharmony_ci #size-cells = <2>; 218c2ecf20Sopenharmony_ci 228c2ecf20Sopenharmony_ci aliases { 238c2ecf20Sopenharmony_ci ethernet0 = &fec1; 248c2ecf20Sopenharmony_ci gpio0 = &gpio1; 258c2ecf20Sopenharmony_ci gpio1 = &gpio2; 268c2ecf20Sopenharmony_ci gpio2 = &gpio3; 278c2ecf20Sopenharmony_ci gpio3 = &gpio4; 288c2ecf20Sopenharmony_ci gpio4 = &gpio5; 298c2ecf20Sopenharmony_ci i2c0 = &i2c1; 308c2ecf20Sopenharmony_ci i2c1 = &i2c2; 318c2ecf20Sopenharmony_ci i2c2 = &i2c3; 328c2ecf20Sopenharmony_ci i2c3 = &i2c4; 338c2ecf20Sopenharmony_ci mmc0 = &usdhc1; 348c2ecf20Sopenharmony_ci mmc1 = &usdhc2; 358c2ecf20Sopenharmony_ci serial0 = &uart1; 368c2ecf20Sopenharmony_ci serial1 = &uart2; 378c2ecf20Sopenharmony_ci serial2 = &uart3; 388c2ecf20Sopenharmony_ci serial3 = &uart4; 398c2ecf20Sopenharmony_ci spi0 = &ecspi1; 408c2ecf20Sopenharmony_ci spi1 = &ecspi2; 418c2ecf20Sopenharmony_ci spi2 = &ecspi3; 428c2ecf20Sopenharmony_ci }; 438c2ecf20Sopenharmony_ci 448c2ecf20Sopenharmony_ci ckil: clock-ckil { 458c2ecf20Sopenharmony_ci compatible = "fixed-clock"; 468c2ecf20Sopenharmony_ci #clock-cells = <0>; 478c2ecf20Sopenharmony_ci clock-frequency = <32768>; 488c2ecf20Sopenharmony_ci clock-output-names = "ckil"; 498c2ecf20Sopenharmony_ci }; 508c2ecf20Sopenharmony_ci 518c2ecf20Sopenharmony_ci osc_25m: clock-osc-25m { 528c2ecf20Sopenharmony_ci compatible = "fixed-clock"; 538c2ecf20Sopenharmony_ci #clock-cells = <0>; 548c2ecf20Sopenharmony_ci clock-frequency = <25000000>; 558c2ecf20Sopenharmony_ci clock-output-names = "osc_25m"; 568c2ecf20Sopenharmony_ci }; 578c2ecf20Sopenharmony_ci 588c2ecf20Sopenharmony_ci osc_27m: clock-osc-27m { 598c2ecf20Sopenharmony_ci compatible = "fixed-clock"; 608c2ecf20Sopenharmony_ci #clock-cells = <0>; 618c2ecf20Sopenharmony_ci clock-frequency = <27000000>; 628c2ecf20Sopenharmony_ci clock-output-names = "osc_27m"; 638c2ecf20Sopenharmony_ci }; 648c2ecf20Sopenharmony_ci 658c2ecf20Sopenharmony_ci clk_ext1: clock-ext1 { 668c2ecf20Sopenharmony_ci compatible = "fixed-clock"; 678c2ecf20Sopenharmony_ci #clock-cells = <0>; 688c2ecf20Sopenharmony_ci clock-frequency = <133000000>; 698c2ecf20Sopenharmony_ci clock-output-names = "clk_ext1"; 708c2ecf20Sopenharmony_ci }; 718c2ecf20Sopenharmony_ci 728c2ecf20Sopenharmony_ci clk_ext2: clock-ext2 { 738c2ecf20Sopenharmony_ci compatible = "fixed-clock"; 748c2ecf20Sopenharmony_ci #clock-cells = <0>; 758c2ecf20Sopenharmony_ci clock-frequency = <133000000>; 768c2ecf20Sopenharmony_ci clock-output-names = "clk_ext2"; 778c2ecf20Sopenharmony_ci }; 788c2ecf20Sopenharmony_ci 798c2ecf20Sopenharmony_ci clk_ext3: clock-ext3 { 808c2ecf20Sopenharmony_ci compatible = "fixed-clock"; 818c2ecf20Sopenharmony_ci #clock-cells = <0>; 828c2ecf20Sopenharmony_ci clock-frequency = <133000000>; 838c2ecf20Sopenharmony_ci clock-output-names = "clk_ext3"; 848c2ecf20Sopenharmony_ci }; 858c2ecf20Sopenharmony_ci 868c2ecf20Sopenharmony_ci clk_ext4: clock-ext4 { 878c2ecf20Sopenharmony_ci compatible = "fixed-clock"; 888c2ecf20Sopenharmony_ci #clock-cells = <0>; 898c2ecf20Sopenharmony_ci clock-frequency= <133000000>; 908c2ecf20Sopenharmony_ci clock-output-names = "clk_ext4"; 918c2ecf20Sopenharmony_ci }; 928c2ecf20Sopenharmony_ci 938c2ecf20Sopenharmony_ci cpus { 948c2ecf20Sopenharmony_ci #address-cells = <1>; 958c2ecf20Sopenharmony_ci #size-cells = <0>; 968c2ecf20Sopenharmony_ci 978c2ecf20Sopenharmony_ci A53_0: cpu@0 { 988c2ecf20Sopenharmony_ci device_type = "cpu"; 998c2ecf20Sopenharmony_ci compatible = "arm,cortex-a53"; 1008c2ecf20Sopenharmony_ci reg = <0x0>; 1018c2ecf20Sopenharmony_ci clock-latency = <61036>; /* two CLK32 periods */ 1028c2ecf20Sopenharmony_ci clocks = <&clk IMX8MQ_CLK_ARM>; 1038c2ecf20Sopenharmony_ci enable-method = "psci"; 1048c2ecf20Sopenharmony_ci next-level-cache = <&A53_L2>; 1058c2ecf20Sopenharmony_ci operating-points-v2 = <&a53_opp_table>; 1068c2ecf20Sopenharmony_ci #cooling-cells = <2>; 1078c2ecf20Sopenharmony_ci nvmem-cells = <&cpu_speed_grade>; 1088c2ecf20Sopenharmony_ci nvmem-cell-names = "speed_grade"; 1098c2ecf20Sopenharmony_ci }; 1108c2ecf20Sopenharmony_ci 1118c2ecf20Sopenharmony_ci A53_1: cpu@1 { 1128c2ecf20Sopenharmony_ci device_type = "cpu"; 1138c2ecf20Sopenharmony_ci compatible = "arm,cortex-a53"; 1148c2ecf20Sopenharmony_ci reg = <0x1>; 1158c2ecf20Sopenharmony_ci clock-latency = <61036>; /* two CLK32 periods */ 1168c2ecf20Sopenharmony_ci clocks = <&clk IMX8MQ_CLK_ARM>; 1178c2ecf20Sopenharmony_ci enable-method = "psci"; 1188c2ecf20Sopenharmony_ci next-level-cache = <&A53_L2>; 1198c2ecf20Sopenharmony_ci operating-points-v2 = <&a53_opp_table>; 1208c2ecf20Sopenharmony_ci #cooling-cells = <2>; 1218c2ecf20Sopenharmony_ci }; 1228c2ecf20Sopenharmony_ci 1238c2ecf20Sopenharmony_ci A53_2: cpu@2 { 1248c2ecf20Sopenharmony_ci device_type = "cpu"; 1258c2ecf20Sopenharmony_ci compatible = "arm,cortex-a53"; 1268c2ecf20Sopenharmony_ci reg = <0x2>; 1278c2ecf20Sopenharmony_ci clock-latency = <61036>; /* two CLK32 periods */ 1288c2ecf20Sopenharmony_ci clocks = <&clk IMX8MQ_CLK_ARM>; 1298c2ecf20Sopenharmony_ci enable-method = "psci"; 1308c2ecf20Sopenharmony_ci next-level-cache = <&A53_L2>; 1318c2ecf20Sopenharmony_ci operating-points-v2 = <&a53_opp_table>; 1328c2ecf20Sopenharmony_ci #cooling-cells = <2>; 1338c2ecf20Sopenharmony_ci }; 1348c2ecf20Sopenharmony_ci 1358c2ecf20Sopenharmony_ci A53_3: cpu@3 { 1368c2ecf20Sopenharmony_ci device_type = "cpu"; 1378c2ecf20Sopenharmony_ci compatible = "arm,cortex-a53"; 1388c2ecf20Sopenharmony_ci reg = <0x3>; 1398c2ecf20Sopenharmony_ci clock-latency = <61036>; /* two CLK32 periods */ 1408c2ecf20Sopenharmony_ci clocks = <&clk IMX8MQ_CLK_ARM>; 1418c2ecf20Sopenharmony_ci enable-method = "psci"; 1428c2ecf20Sopenharmony_ci next-level-cache = <&A53_L2>; 1438c2ecf20Sopenharmony_ci operating-points-v2 = <&a53_opp_table>; 1448c2ecf20Sopenharmony_ci #cooling-cells = <2>; 1458c2ecf20Sopenharmony_ci }; 1468c2ecf20Sopenharmony_ci 1478c2ecf20Sopenharmony_ci A53_L2: l2-cache0 { 1488c2ecf20Sopenharmony_ci compatible = "cache"; 1498c2ecf20Sopenharmony_ci }; 1508c2ecf20Sopenharmony_ci }; 1518c2ecf20Sopenharmony_ci 1528c2ecf20Sopenharmony_ci a53_opp_table: opp-table { 1538c2ecf20Sopenharmony_ci compatible = "operating-points-v2"; 1548c2ecf20Sopenharmony_ci opp-shared; 1558c2ecf20Sopenharmony_ci 1568c2ecf20Sopenharmony_ci opp-800000000 { 1578c2ecf20Sopenharmony_ci opp-hz = /bits/ 64 <800000000>; 1588c2ecf20Sopenharmony_ci opp-microvolt = <900000>; 1598c2ecf20Sopenharmony_ci /* Industrial only */ 1608c2ecf20Sopenharmony_ci opp-supported-hw = <0xf>, <0x4>; 1618c2ecf20Sopenharmony_ci clock-latency-ns = <150000>; 1628c2ecf20Sopenharmony_ci opp-suspend; 1638c2ecf20Sopenharmony_ci }; 1648c2ecf20Sopenharmony_ci 1658c2ecf20Sopenharmony_ci opp-1000000000 { 1668c2ecf20Sopenharmony_ci opp-hz = /bits/ 64 <1000000000>; 1678c2ecf20Sopenharmony_ci opp-microvolt = <900000>; 1688c2ecf20Sopenharmony_ci /* Consumer only */ 1698c2ecf20Sopenharmony_ci opp-supported-hw = <0xe>, <0x3>; 1708c2ecf20Sopenharmony_ci clock-latency-ns = <150000>; 1718c2ecf20Sopenharmony_ci opp-suspend; 1728c2ecf20Sopenharmony_ci }; 1738c2ecf20Sopenharmony_ci 1748c2ecf20Sopenharmony_ci opp-1300000000 { 1758c2ecf20Sopenharmony_ci opp-hz = /bits/ 64 <1300000000>; 1768c2ecf20Sopenharmony_ci opp-microvolt = <1000000>; 1778c2ecf20Sopenharmony_ci opp-supported-hw = <0xc>, <0x4>; 1788c2ecf20Sopenharmony_ci clock-latency-ns = <150000>; 1798c2ecf20Sopenharmony_ci opp-suspend; 1808c2ecf20Sopenharmony_ci }; 1818c2ecf20Sopenharmony_ci 1828c2ecf20Sopenharmony_ci opp-1500000000 { 1838c2ecf20Sopenharmony_ci opp-hz = /bits/ 64 <1500000000>; 1848c2ecf20Sopenharmony_ci opp-microvolt = <1000000>; 1858c2ecf20Sopenharmony_ci opp-supported-hw = <0x8>, <0x3>; 1868c2ecf20Sopenharmony_ci clock-latency-ns = <150000>; 1878c2ecf20Sopenharmony_ci opp-suspend; 1888c2ecf20Sopenharmony_ci }; 1898c2ecf20Sopenharmony_ci }; 1908c2ecf20Sopenharmony_ci 1918c2ecf20Sopenharmony_ci pmu { 1928c2ecf20Sopenharmony_ci compatible = "arm,cortex-a53-pmu"; 1938c2ecf20Sopenharmony_ci interrupts = <GIC_PPI 7 IRQ_TYPE_LEVEL_HIGH>; 1948c2ecf20Sopenharmony_ci interrupt-parent = <&gic>; 1958c2ecf20Sopenharmony_ci interrupt-affinity = <&A53_0>, <&A53_1>, <&A53_2>, <&A53_3>; 1968c2ecf20Sopenharmony_ci }; 1978c2ecf20Sopenharmony_ci 1988c2ecf20Sopenharmony_ci psci { 1998c2ecf20Sopenharmony_ci compatible = "arm,psci-1.0"; 2008c2ecf20Sopenharmony_ci method = "smc"; 2018c2ecf20Sopenharmony_ci }; 2028c2ecf20Sopenharmony_ci 2038c2ecf20Sopenharmony_ci thermal-zones { 2048c2ecf20Sopenharmony_ci cpu_thermal: cpu-thermal { 2058c2ecf20Sopenharmony_ci polling-delay-passive = <250>; 2068c2ecf20Sopenharmony_ci polling-delay = <2000>; 2078c2ecf20Sopenharmony_ci thermal-sensors = <&tmu 0>; 2088c2ecf20Sopenharmony_ci 2098c2ecf20Sopenharmony_ci trips { 2108c2ecf20Sopenharmony_ci cpu_alert: cpu-alert { 2118c2ecf20Sopenharmony_ci temperature = <80000>; 2128c2ecf20Sopenharmony_ci hysteresis = <2000>; 2138c2ecf20Sopenharmony_ci type = "passive"; 2148c2ecf20Sopenharmony_ci }; 2158c2ecf20Sopenharmony_ci 2168c2ecf20Sopenharmony_ci cpu-crit { 2178c2ecf20Sopenharmony_ci temperature = <90000>; 2188c2ecf20Sopenharmony_ci hysteresis = <2000>; 2198c2ecf20Sopenharmony_ci type = "critical"; 2208c2ecf20Sopenharmony_ci }; 2218c2ecf20Sopenharmony_ci }; 2228c2ecf20Sopenharmony_ci 2238c2ecf20Sopenharmony_ci cooling-maps { 2248c2ecf20Sopenharmony_ci map0 { 2258c2ecf20Sopenharmony_ci trip = <&cpu_alert>; 2268c2ecf20Sopenharmony_ci cooling-device = 2278c2ecf20Sopenharmony_ci <&A53_0 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>, 2288c2ecf20Sopenharmony_ci <&A53_1 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>, 2298c2ecf20Sopenharmony_ci <&A53_2 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>, 2308c2ecf20Sopenharmony_ci <&A53_3 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>; 2318c2ecf20Sopenharmony_ci }; 2328c2ecf20Sopenharmony_ci }; 2338c2ecf20Sopenharmony_ci }; 2348c2ecf20Sopenharmony_ci 2358c2ecf20Sopenharmony_ci gpu-thermal { 2368c2ecf20Sopenharmony_ci polling-delay-passive = <250>; 2378c2ecf20Sopenharmony_ci polling-delay = <2000>; 2388c2ecf20Sopenharmony_ci thermal-sensors = <&tmu 1>; 2398c2ecf20Sopenharmony_ci 2408c2ecf20Sopenharmony_ci trips { 2418c2ecf20Sopenharmony_ci gpu_alert: gpu-alert { 2428c2ecf20Sopenharmony_ci temperature = <80000>; 2438c2ecf20Sopenharmony_ci hysteresis = <2000>; 2448c2ecf20Sopenharmony_ci type = "passive"; 2458c2ecf20Sopenharmony_ci }; 2468c2ecf20Sopenharmony_ci 2478c2ecf20Sopenharmony_ci gpu-crit { 2488c2ecf20Sopenharmony_ci temperature = <90000>; 2498c2ecf20Sopenharmony_ci hysteresis = <2000>; 2508c2ecf20Sopenharmony_ci type = "critical"; 2518c2ecf20Sopenharmony_ci }; 2528c2ecf20Sopenharmony_ci }; 2538c2ecf20Sopenharmony_ci 2548c2ecf20Sopenharmony_ci cooling-maps { 2558c2ecf20Sopenharmony_ci map0 { 2568c2ecf20Sopenharmony_ci trip = <&gpu_alert>; 2578c2ecf20Sopenharmony_ci cooling-device = 2588c2ecf20Sopenharmony_ci <&gpu THERMAL_NO_LIMIT THERMAL_NO_LIMIT>; 2598c2ecf20Sopenharmony_ci }; 2608c2ecf20Sopenharmony_ci }; 2618c2ecf20Sopenharmony_ci }; 2628c2ecf20Sopenharmony_ci 2638c2ecf20Sopenharmony_ci vpu-thermal { 2648c2ecf20Sopenharmony_ci polling-delay-passive = <250>; 2658c2ecf20Sopenharmony_ci polling-delay = <2000>; 2668c2ecf20Sopenharmony_ci thermal-sensors = <&tmu 2>; 2678c2ecf20Sopenharmony_ci 2688c2ecf20Sopenharmony_ci trips { 2698c2ecf20Sopenharmony_ci vpu-crit { 2708c2ecf20Sopenharmony_ci temperature = <90000>; 2718c2ecf20Sopenharmony_ci hysteresis = <2000>; 2728c2ecf20Sopenharmony_ci type = "critical"; 2738c2ecf20Sopenharmony_ci }; 2748c2ecf20Sopenharmony_ci }; 2758c2ecf20Sopenharmony_ci }; 2768c2ecf20Sopenharmony_ci }; 2778c2ecf20Sopenharmony_ci 2788c2ecf20Sopenharmony_ci timer { 2798c2ecf20Sopenharmony_ci compatible = "arm,armv8-timer"; 2808c2ecf20Sopenharmony_ci interrupts = <GIC_PPI 13 IRQ_TYPE_LEVEL_LOW>, /* Physical Secure */ 2818c2ecf20Sopenharmony_ci <GIC_PPI 14 IRQ_TYPE_LEVEL_LOW>, /* Physical Non-Secure */ 2828c2ecf20Sopenharmony_ci <GIC_PPI 11 IRQ_TYPE_LEVEL_LOW>, /* Virtual */ 2838c2ecf20Sopenharmony_ci <GIC_PPI 10 IRQ_TYPE_LEVEL_LOW>; /* Hypervisor */ 2848c2ecf20Sopenharmony_ci interrupt-parent = <&gic>; 2858c2ecf20Sopenharmony_ci arm,no-tick-in-suspend; 2868c2ecf20Sopenharmony_ci }; 2878c2ecf20Sopenharmony_ci 2888c2ecf20Sopenharmony_ci soc@0 { 2898c2ecf20Sopenharmony_ci compatible = "simple-bus"; 2908c2ecf20Sopenharmony_ci #address-cells = <1>; 2918c2ecf20Sopenharmony_ci #size-cells = <1>; 2928c2ecf20Sopenharmony_ci ranges = <0x0 0x0 0x0 0x3e000000>; 2938c2ecf20Sopenharmony_ci dma-ranges = <0x40000000 0x0 0x40000000 0xc0000000>; 2948c2ecf20Sopenharmony_ci 2958c2ecf20Sopenharmony_ci bus@30000000 { /* AIPS1 */ 2968c2ecf20Sopenharmony_ci compatible = "fsl,aips-bus", "simple-bus"; 2978c2ecf20Sopenharmony_ci reg = <0x30000000 0x400000>; 2988c2ecf20Sopenharmony_ci #address-cells = <1>; 2998c2ecf20Sopenharmony_ci #size-cells = <1>; 3008c2ecf20Sopenharmony_ci ranges = <0x30000000 0x30000000 0x400000>; 3018c2ecf20Sopenharmony_ci 3028c2ecf20Sopenharmony_ci sai1: sai@30010000 { 3038c2ecf20Sopenharmony_ci #sound-dai-cells = <0>; 3048c2ecf20Sopenharmony_ci compatible = "fsl,imx8mq-sai"; 3058c2ecf20Sopenharmony_ci reg = <0x30010000 0x10000>; 3068c2ecf20Sopenharmony_ci interrupts = <GIC_SPI 95 IRQ_TYPE_LEVEL_HIGH>; 3078c2ecf20Sopenharmony_ci clocks = <&clk IMX8MQ_CLK_SAI1_IPG>, 3088c2ecf20Sopenharmony_ci <&clk IMX8MQ_CLK_SAI1_ROOT>, 3098c2ecf20Sopenharmony_ci <&clk IMX8MQ_CLK_DUMMY>, <&clk IMX8MQ_CLK_DUMMY>; 3108c2ecf20Sopenharmony_ci clock-names = "bus", "mclk1", "mclk2", "mclk3"; 3118c2ecf20Sopenharmony_ci dmas = <&sdma2 8 24 0>, <&sdma1 9 24 0>; 3128c2ecf20Sopenharmony_ci dma-names = "rx", "tx"; 3138c2ecf20Sopenharmony_ci status = "disabled"; 3148c2ecf20Sopenharmony_ci }; 3158c2ecf20Sopenharmony_ci 3168c2ecf20Sopenharmony_ci sai6: sai@30030000 { 3178c2ecf20Sopenharmony_ci #sound-dai-cells = <0>; 3188c2ecf20Sopenharmony_ci compatible = "fsl,imx8mq-sai"; 3198c2ecf20Sopenharmony_ci reg = <0x30030000 0x10000>; 3208c2ecf20Sopenharmony_ci interrupts = <GIC_SPI 90 IRQ_TYPE_LEVEL_HIGH>; 3218c2ecf20Sopenharmony_ci clocks = <&clk IMX8MQ_CLK_SAI6_IPG>, 3228c2ecf20Sopenharmony_ci <&clk IMX8MQ_CLK_SAI6_ROOT>, 3238c2ecf20Sopenharmony_ci <&clk IMX8MQ_CLK_DUMMY>, <&clk IMX8MQ_CLK_DUMMY>; 3248c2ecf20Sopenharmony_ci clock-names = "bus", "mclk1", "mclk2", "mclk3"; 3258c2ecf20Sopenharmony_ci dmas = <&sdma2 4 24 0>, <&sdma2 5 24 0>; 3268c2ecf20Sopenharmony_ci dma-names = "rx", "tx"; 3278c2ecf20Sopenharmony_ci status = "disabled"; 3288c2ecf20Sopenharmony_ci }; 3298c2ecf20Sopenharmony_ci 3308c2ecf20Sopenharmony_ci sai5: sai@30040000 { 3318c2ecf20Sopenharmony_ci #sound-dai-cells = <0>; 3328c2ecf20Sopenharmony_ci compatible = "fsl,imx8mq-sai"; 3338c2ecf20Sopenharmony_ci reg = <0x30040000 0x10000>; 3348c2ecf20Sopenharmony_ci interrupts = <GIC_SPI 90 IRQ_TYPE_LEVEL_HIGH>; 3358c2ecf20Sopenharmony_ci clocks = <&clk IMX8MQ_CLK_SAI5_IPG>, 3368c2ecf20Sopenharmony_ci <&clk IMX8MQ_CLK_SAI5_ROOT>, 3378c2ecf20Sopenharmony_ci <&clk IMX8MQ_CLK_DUMMY>, <&clk IMX8MQ_CLK_DUMMY>; 3388c2ecf20Sopenharmony_ci clock-names = "bus", "mclk1", "mclk2", "mclk3"; 3398c2ecf20Sopenharmony_ci dmas = <&sdma2 2 24 0>, <&sdma2 3 24 0>; 3408c2ecf20Sopenharmony_ci dma-names = "rx", "tx"; 3418c2ecf20Sopenharmony_ci status = "disabled"; 3428c2ecf20Sopenharmony_ci }; 3438c2ecf20Sopenharmony_ci 3448c2ecf20Sopenharmony_ci sai4: sai@30050000 { 3458c2ecf20Sopenharmony_ci #sound-dai-cells = <0>; 3468c2ecf20Sopenharmony_ci compatible = "fsl,imx8mq-sai"; 3478c2ecf20Sopenharmony_ci reg = <0x30050000 0x10000>; 3488c2ecf20Sopenharmony_ci interrupts = <GIC_SPI 100 IRQ_TYPE_LEVEL_HIGH>; 3498c2ecf20Sopenharmony_ci clocks = <&clk IMX8MQ_CLK_SAI4_IPG>, 3508c2ecf20Sopenharmony_ci <&clk IMX8MQ_CLK_SAI4_ROOT>, 3518c2ecf20Sopenharmony_ci <&clk IMX8MQ_CLK_DUMMY>, <&clk IMX8MQ_CLK_DUMMY>; 3528c2ecf20Sopenharmony_ci clock-names = "bus", "mclk1", "mclk2", "mclk3"; 3538c2ecf20Sopenharmony_ci dmas = <&sdma2 0 24 0>, <&sdma2 1 24 0>; 3548c2ecf20Sopenharmony_ci dma-names = "rx", "tx"; 3558c2ecf20Sopenharmony_ci status = "disabled"; 3568c2ecf20Sopenharmony_ci }; 3578c2ecf20Sopenharmony_ci 3588c2ecf20Sopenharmony_ci gpio1: gpio@30200000 { 3598c2ecf20Sopenharmony_ci compatible = "fsl,imx8mq-gpio", "fsl,imx35-gpio"; 3608c2ecf20Sopenharmony_ci reg = <0x30200000 0x10000>; 3618c2ecf20Sopenharmony_ci interrupts = <GIC_SPI 64 IRQ_TYPE_LEVEL_HIGH>, 3628c2ecf20Sopenharmony_ci <GIC_SPI 65 IRQ_TYPE_LEVEL_HIGH>; 3638c2ecf20Sopenharmony_ci clocks = <&clk IMX8MQ_CLK_GPIO1_ROOT>; 3648c2ecf20Sopenharmony_ci gpio-controller; 3658c2ecf20Sopenharmony_ci #gpio-cells = <2>; 3668c2ecf20Sopenharmony_ci interrupt-controller; 3678c2ecf20Sopenharmony_ci #interrupt-cells = <2>; 3688c2ecf20Sopenharmony_ci gpio-ranges = <&iomuxc 0 10 30>; 3698c2ecf20Sopenharmony_ci }; 3708c2ecf20Sopenharmony_ci 3718c2ecf20Sopenharmony_ci gpio2: gpio@30210000 { 3728c2ecf20Sopenharmony_ci compatible = "fsl,imx8mq-gpio", "fsl,imx35-gpio"; 3738c2ecf20Sopenharmony_ci reg = <0x30210000 0x10000>; 3748c2ecf20Sopenharmony_ci interrupts = <GIC_SPI 66 IRQ_TYPE_LEVEL_HIGH>, 3758c2ecf20Sopenharmony_ci <GIC_SPI 67 IRQ_TYPE_LEVEL_HIGH>; 3768c2ecf20Sopenharmony_ci clocks = <&clk IMX8MQ_CLK_GPIO2_ROOT>; 3778c2ecf20Sopenharmony_ci gpio-controller; 3788c2ecf20Sopenharmony_ci #gpio-cells = <2>; 3798c2ecf20Sopenharmony_ci interrupt-controller; 3808c2ecf20Sopenharmony_ci #interrupt-cells = <2>; 3818c2ecf20Sopenharmony_ci gpio-ranges = <&iomuxc 0 40 21>; 3828c2ecf20Sopenharmony_ci }; 3838c2ecf20Sopenharmony_ci 3848c2ecf20Sopenharmony_ci gpio3: gpio@30220000 { 3858c2ecf20Sopenharmony_ci compatible = "fsl,imx8mq-gpio", "fsl,imx35-gpio"; 3868c2ecf20Sopenharmony_ci reg = <0x30220000 0x10000>; 3878c2ecf20Sopenharmony_ci interrupts = <GIC_SPI 68 IRQ_TYPE_LEVEL_HIGH>, 3888c2ecf20Sopenharmony_ci <GIC_SPI 69 IRQ_TYPE_LEVEL_HIGH>; 3898c2ecf20Sopenharmony_ci clocks = <&clk IMX8MQ_CLK_GPIO3_ROOT>; 3908c2ecf20Sopenharmony_ci gpio-controller; 3918c2ecf20Sopenharmony_ci #gpio-cells = <2>; 3928c2ecf20Sopenharmony_ci interrupt-controller; 3938c2ecf20Sopenharmony_ci #interrupt-cells = <2>; 3948c2ecf20Sopenharmony_ci gpio-ranges = <&iomuxc 0 61 26>; 3958c2ecf20Sopenharmony_ci }; 3968c2ecf20Sopenharmony_ci 3978c2ecf20Sopenharmony_ci gpio4: gpio@30230000 { 3988c2ecf20Sopenharmony_ci compatible = "fsl,imx8mq-gpio", "fsl,imx35-gpio"; 3998c2ecf20Sopenharmony_ci reg = <0x30230000 0x10000>; 4008c2ecf20Sopenharmony_ci interrupts = <GIC_SPI 70 IRQ_TYPE_LEVEL_HIGH>, 4018c2ecf20Sopenharmony_ci <GIC_SPI 71 IRQ_TYPE_LEVEL_HIGH>; 4028c2ecf20Sopenharmony_ci clocks = <&clk IMX8MQ_CLK_GPIO4_ROOT>; 4038c2ecf20Sopenharmony_ci gpio-controller; 4048c2ecf20Sopenharmony_ci #gpio-cells = <2>; 4058c2ecf20Sopenharmony_ci interrupt-controller; 4068c2ecf20Sopenharmony_ci #interrupt-cells = <2>; 4078c2ecf20Sopenharmony_ci gpio-ranges = <&iomuxc 0 87 32>; 4088c2ecf20Sopenharmony_ci }; 4098c2ecf20Sopenharmony_ci 4108c2ecf20Sopenharmony_ci gpio5: gpio@30240000 { 4118c2ecf20Sopenharmony_ci compatible = "fsl,imx8mq-gpio", "fsl,imx35-gpio"; 4128c2ecf20Sopenharmony_ci reg = <0x30240000 0x10000>; 4138c2ecf20Sopenharmony_ci interrupts = <GIC_SPI 72 IRQ_TYPE_LEVEL_HIGH>, 4148c2ecf20Sopenharmony_ci <GIC_SPI 73 IRQ_TYPE_LEVEL_HIGH>; 4158c2ecf20Sopenharmony_ci clocks = <&clk IMX8MQ_CLK_GPIO5_ROOT>; 4168c2ecf20Sopenharmony_ci gpio-controller; 4178c2ecf20Sopenharmony_ci #gpio-cells = <2>; 4188c2ecf20Sopenharmony_ci interrupt-controller; 4198c2ecf20Sopenharmony_ci #interrupt-cells = <2>; 4208c2ecf20Sopenharmony_ci gpio-ranges = <&iomuxc 0 119 30>; 4218c2ecf20Sopenharmony_ci }; 4228c2ecf20Sopenharmony_ci 4238c2ecf20Sopenharmony_ci tmu: tmu@30260000 { 4248c2ecf20Sopenharmony_ci compatible = "fsl,imx8mq-tmu"; 4258c2ecf20Sopenharmony_ci reg = <0x30260000 0x10000>; 4268c2ecf20Sopenharmony_ci interrupts = <GIC_SPI 49 IRQ_TYPE_LEVEL_HIGH>; 4278c2ecf20Sopenharmony_ci clocks = <&clk IMX8MQ_CLK_TMU_ROOT>; 4288c2ecf20Sopenharmony_ci little-endian; 4298c2ecf20Sopenharmony_ci fsl,tmu-range = <0xb0000 0xa0026 0x80048 0x70061>; 4308c2ecf20Sopenharmony_ci fsl,tmu-calibration = <0x00000000 0x00000023 4318c2ecf20Sopenharmony_ci 0x00000001 0x00000029 4328c2ecf20Sopenharmony_ci 0x00000002 0x0000002f 4338c2ecf20Sopenharmony_ci 0x00000003 0x00000035 4348c2ecf20Sopenharmony_ci 0x00000004 0x0000003d 4358c2ecf20Sopenharmony_ci 0x00000005 0x00000043 4368c2ecf20Sopenharmony_ci 0x00000006 0x0000004b 4378c2ecf20Sopenharmony_ci 0x00000007 0x00000051 4388c2ecf20Sopenharmony_ci 0x00000008 0x00000057 4398c2ecf20Sopenharmony_ci 0x00000009 0x0000005f 4408c2ecf20Sopenharmony_ci 0x0000000a 0x00000067 4418c2ecf20Sopenharmony_ci 0x0000000b 0x0000006f 4428c2ecf20Sopenharmony_ci 4438c2ecf20Sopenharmony_ci 0x00010000 0x0000001b 4448c2ecf20Sopenharmony_ci 0x00010001 0x00000023 4458c2ecf20Sopenharmony_ci 0x00010002 0x0000002b 4468c2ecf20Sopenharmony_ci 0x00010003 0x00000033 4478c2ecf20Sopenharmony_ci 0x00010004 0x0000003b 4488c2ecf20Sopenharmony_ci 0x00010005 0x00000043 4498c2ecf20Sopenharmony_ci 0x00010006 0x0000004b 4508c2ecf20Sopenharmony_ci 0x00010007 0x00000055 4518c2ecf20Sopenharmony_ci 0x00010008 0x0000005d 4528c2ecf20Sopenharmony_ci 0x00010009 0x00000067 4538c2ecf20Sopenharmony_ci 0x0001000a 0x00000070 4548c2ecf20Sopenharmony_ci 4558c2ecf20Sopenharmony_ci 0x00020000 0x00000017 4568c2ecf20Sopenharmony_ci 0x00020001 0x00000023 4578c2ecf20Sopenharmony_ci 0x00020002 0x0000002d 4588c2ecf20Sopenharmony_ci 0x00020003 0x00000037 4598c2ecf20Sopenharmony_ci 0x00020004 0x00000041 4608c2ecf20Sopenharmony_ci 0x00020005 0x0000004b 4618c2ecf20Sopenharmony_ci 0x00020006 0x00000057 4628c2ecf20Sopenharmony_ci 0x00020007 0x00000063 4638c2ecf20Sopenharmony_ci 0x00020008 0x0000006f 4648c2ecf20Sopenharmony_ci 4658c2ecf20Sopenharmony_ci 0x00030000 0x00000015 4668c2ecf20Sopenharmony_ci 0x00030001 0x00000021 4678c2ecf20Sopenharmony_ci 0x00030002 0x0000002d 4688c2ecf20Sopenharmony_ci 0x00030003 0x00000039 4698c2ecf20Sopenharmony_ci 0x00030004 0x00000045 4708c2ecf20Sopenharmony_ci 0x00030005 0x00000053 4718c2ecf20Sopenharmony_ci 0x00030006 0x0000005f 4728c2ecf20Sopenharmony_ci 0x00030007 0x00000071>; 4738c2ecf20Sopenharmony_ci #thermal-sensor-cells = <1>; 4748c2ecf20Sopenharmony_ci }; 4758c2ecf20Sopenharmony_ci 4768c2ecf20Sopenharmony_ci wdog1: watchdog@30280000 { 4778c2ecf20Sopenharmony_ci compatible = "fsl,imx8mq-wdt", "fsl,imx21-wdt"; 4788c2ecf20Sopenharmony_ci reg = <0x30280000 0x10000>; 4798c2ecf20Sopenharmony_ci interrupts = <GIC_SPI 78 IRQ_TYPE_LEVEL_HIGH>; 4808c2ecf20Sopenharmony_ci clocks = <&clk IMX8MQ_CLK_WDOG1_ROOT>; 4818c2ecf20Sopenharmony_ci status = "disabled"; 4828c2ecf20Sopenharmony_ci }; 4838c2ecf20Sopenharmony_ci 4848c2ecf20Sopenharmony_ci wdog2: watchdog@30290000 { 4858c2ecf20Sopenharmony_ci compatible = "fsl,imx8mq-wdt", "fsl,imx21-wdt"; 4868c2ecf20Sopenharmony_ci reg = <0x30290000 0x10000>; 4878c2ecf20Sopenharmony_ci interrupts = <GIC_SPI 79 IRQ_TYPE_LEVEL_HIGH>; 4888c2ecf20Sopenharmony_ci clocks = <&clk IMX8MQ_CLK_WDOG2_ROOT>; 4898c2ecf20Sopenharmony_ci status = "disabled"; 4908c2ecf20Sopenharmony_ci }; 4918c2ecf20Sopenharmony_ci 4928c2ecf20Sopenharmony_ci wdog3: watchdog@302a0000 { 4938c2ecf20Sopenharmony_ci compatible = "fsl,imx8mq-wdt", "fsl,imx21-wdt"; 4948c2ecf20Sopenharmony_ci reg = <0x302a0000 0x10000>; 4958c2ecf20Sopenharmony_ci interrupts = <GIC_SPI 10 IRQ_TYPE_LEVEL_HIGH>; 4968c2ecf20Sopenharmony_ci clocks = <&clk IMX8MQ_CLK_WDOG3_ROOT>; 4978c2ecf20Sopenharmony_ci status = "disabled"; 4988c2ecf20Sopenharmony_ci }; 4998c2ecf20Sopenharmony_ci 5008c2ecf20Sopenharmony_ci sdma2: sdma@302c0000 { 5018c2ecf20Sopenharmony_ci compatible = "fsl,imx8mq-sdma","fsl,imx7d-sdma"; 5028c2ecf20Sopenharmony_ci reg = <0x302c0000 0x10000>; 5038c2ecf20Sopenharmony_ci interrupts = <GIC_SPI 103 IRQ_TYPE_LEVEL_HIGH>; 5048c2ecf20Sopenharmony_ci clocks = <&clk IMX8MQ_CLK_SDMA2_ROOT>, 5058c2ecf20Sopenharmony_ci <&clk IMX8MQ_CLK_SDMA2_ROOT>; 5068c2ecf20Sopenharmony_ci clock-names = "ipg", "ahb"; 5078c2ecf20Sopenharmony_ci #dma-cells = <3>; 5088c2ecf20Sopenharmony_ci fsl,sdma-ram-script-name = "imx/sdma/sdma-imx7d.bin"; 5098c2ecf20Sopenharmony_ci }; 5108c2ecf20Sopenharmony_ci 5118c2ecf20Sopenharmony_ci lcdif: lcd-controller@30320000 { 5128c2ecf20Sopenharmony_ci compatible = "fsl,imx8mq-lcdif", "fsl,imx28-lcdif"; 5138c2ecf20Sopenharmony_ci reg = <0x30320000 0x10000>; 5148c2ecf20Sopenharmony_ci interrupts = <GIC_SPI 5 IRQ_TYPE_LEVEL_HIGH>; 5158c2ecf20Sopenharmony_ci clocks = <&clk IMX8MQ_CLK_LCDIF_PIXEL>; 5168c2ecf20Sopenharmony_ci clock-names = "pix"; 5178c2ecf20Sopenharmony_ci assigned-clocks = <&clk IMX8MQ_VIDEO_PLL1_REF_SEL>, 5188c2ecf20Sopenharmony_ci <&clk IMX8MQ_VIDEO_PLL1_BYPASS>, 5198c2ecf20Sopenharmony_ci <&clk IMX8MQ_CLK_LCDIF_PIXEL>, 5208c2ecf20Sopenharmony_ci <&clk IMX8MQ_VIDEO_PLL1>; 5218c2ecf20Sopenharmony_ci assigned-clock-parents = <&clk IMX8MQ_CLK_25M>, 5228c2ecf20Sopenharmony_ci <&clk IMX8MQ_VIDEO_PLL1>, 5238c2ecf20Sopenharmony_ci <&clk IMX8MQ_VIDEO_PLL1_OUT>; 5248c2ecf20Sopenharmony_ci assigned-clock-rates = <0>, <0>, <0>, <594000000>; 5258c2ecf20Sopenharmony_ci status = "disabled"; 5268c2ecf20Sopenharmony_ci 5278c2ecf20Sopenharmony_ci port { 5288c2ecf20Sopenharmony_ci lcdif_mipi_dsi: endpoint { 5298c2ecf20Sopenharmony_ci remote-endpoint = <&mipi_dsi_lcdif_in>; 5308c2ecf20Sopenharmony_ci }; 5318c2ecf20Sopenharmony_ci }; 5328c2ecf20Sopenharmony_ci }; 5338c2ecf20Sopenharmony_ci 5348c2ecf20Sopenharmony_ci iomuxc: pinctrl@30330000 { 5358c2ecf20Sopenharmony_ci compatible = "fsl,imx8mq-iomuxc"; 5368c2ecf20Sopenharmony_ci reg = <0x30330000 0x10000>; 5378c2ecf20Sopenharmony_ci }; 5388c2ecf20Sopenharmony_ci 5398c2ecf20Sopenharmony_ci iomuxc_gpr: syscon@30340000 { 5408c2ecf20Sopenharmony_ci compatible = "fsl,imx8mq-iomuxc-gpr", "fsl,imx6q-iomuxc-gpr", 5418c2ecf20Sopenharmony_ci "syscon", "simple-mfd"; 5428c2ecf20Sopenharmony_ci reg = <0x30340000 0x10000>; 5438c2ecf20Sopenharmony_ci 5448c2ecf20Sopenharmony_ci mux: mux-controller { 5458c2ecf20Sopenharmony_ci compatible = "mmio-mux"; 5468c2ecf20Sopenharmony_ci #mux-control-cells = <1>; 5478c2ecf20Sopenharmony_ci mux-reg-masks = <0x34 0x00000004>; /* MIPI_MUX_SEL */ 5488c2ecf20Sopenharmony_ci }; 5498c2ecf20Sopenharmony_ci }; 5508c2ecf20Sopenharmony_ci 5518c2ecf20Sopenharmony_ci ocotp: efuse@30350000 { 5528c2ecf20Sopenharmony_ci compatible = "fsl,imx8mq-ocotp", "syscon"; 5538c2ecf20Sopenharmony_ci reg = <0x30350000 0x10000>; 5548c2ecf20Sopenharmony_ci clocks = <&clk IMX8MQ_CLK_OCOTP_ROOT>; 5558c2ecf20Sopenharmony_ci #address-cells = <1>; 5568c2ecf20Sopenharmony_ci #size-cells = <1>; 5578c2ecf20Sopenharmony_ci 5588c2ecf20Sopenharmony_ci cpu_speed_grade: speed-grade@10 { 5598c2ecf20Sopenharmony_ci reg = <0x10 4>; 5608c2ecf20Sopenharmony_ci }; 5618c2ecf20Sopenharmony_ci }; 5628c2ecf20Sopenharmony_ci 5638c2ecf20Sopenharmony_ci anatop: syscon@30360000 { 5648c2ecf20Sopenharmony_ci compatible = "fsl,imx8mq-anatop", "syscon"; 5658c2ecf20Sopenharmony_ci reg = <0x30360000 0x10000>; 5668c2ecf20Sopenharmony_ci interrupts = <GIC_SPI 49 IRQ_TYPE_LEVEL_HIGH>; 5678c2ecf20Sopenharmony_ci }; 5688c2ecf20Sopenharmony_ci 5698c2ecf20Sopenharmony_ci snvs: snvs@30370000 { 5708c2ecf20Sopenharmony_ci compatible = "fsl,sec-v4.0-mon", "syscon", "simple-mfd"; 5718c2ecf20Sopenharmony_ci reg = <0x30370000 0x10000>; 5728c2ecf20Sopenharmony_ci 5738c2ecf20Sopenharmony_ci snvs_rtc: snvs-rtc-lp{ 5748c2ecf20Sopenharmony_ci compatible = "fsl,sec-v4.0-mon-rtc-lp"; 5758c2ecf20Sopenharmony_ci regmap =<&snvs>; 5768c2ecf20Sopenharmony_ci offset = <0x34>; 5778c2ecf20Sopenharmony_ci interrupts = <GIC_SPI 19 IRQ_TYPE_LEVEL_HIGH>, 5788c2ecf20Sopenharmony_ci <GIC_SPI 20 IRQ_TYPE_LEVEL_HIGH>; 5798c2ecf20Sopenharmony_ci clocks = <&clk IMX8MQ_CLK_SNVS_ROOT>; 5808c2ecf20Sopenharmony_ci clock-names = "snvs-rtc"; 5818c2ecf20Sopenharmony_ci }; 5828c2ecf20Sopenharmony_ci 5838c2ecf20Sopenharmony_ci snvs_pwrkey: snvs-powerkey { 5848c2ecf20Sopenharmony_ci compatible = "fsl,sec-v4.0-pwrkey"; 5858c2ecf20Sopenharmony_ci regmap = <&snvs>; 5868c2ecf20Sopenharmony_ci interrupts = <GIC_SPI 4 IRQ_TYPE_LEVEL_HIGH>; 5878c2ecf20Sopenharmony_ci clocks = <&clk IMX8MQ_CLK_SNVS_ROOT>; 5888c2ecf20Sopenharmony_ci clock-names = "snvs-pwrkey"; 5898c2ecf20Sopenharmony_ci linux,keycode = <KEY_POWER>; 5908c2ecf20Sopenharmony_ci wakeup-source; 5918c2ecf20Sopenharmony_ci status = "disabled"; 5928c2ecf20Sopenharmony_ci }; 5938c2ecf20Sopenharmony_ci }; 5948c2ecf20Sopenharmony_ci 5958c2ecf20Sopenharmony_ci clk: clock-controller@30380000 { 5968c2ecf20Sopenharmony_ci compatible = "fsl,imx8mq-ccm"; 5978c2ecf20Sopenharmony_ci reg = <0x30380000 0x10000>; 5988c2ecf20Sopenharmony_ci interrupts = <GIC_SPI 85 IRQ_TYPE_LEVEL_HIGH>, 5998c2ecf20Sopenharmony_ci <GIC_SPI 86 IRQ_TYPE_LEVEL_HIGH>; 6008c2ecf20Sopenharmony_ci #clock-cells = <1>; 6018c2ecf20Sopenharmony_ci clocks = <&ckil>, <&osc_25m>, <&osc_27m>, 6028c2ecf20Sopenharmony_ci <&clk_ext1>, <&clk_ext2>, 6038c2ecf20Sopenharmony_ci <&clk_ext3>, <&clk_ext4>; 6048c2ecf20Sopenharmony_ci clock-names = "ckil", "osc_25m", "osc_27m", 6058c2ecf20Sopenharmony_ci "clk_ext1", "clk_ext2", 6068c2ecf20Sopenharmony_ci "clk_ext3", "clk_ext4"; 6078c2ecf20Sopenharmony_ci assigned-clocks = <&clk IMX8MQ_CLK_A53_SRC>, 6088c2ecf20Sopenharmony_ci <&clk IMX8MQ_CLK_A53_CORE>, 6098c2ecf20Sopenharmony_ci <&clk IMX8MQ_CLK_NOC>; 6108c2ecf20Sopenharmony_ci assigned-clock-rates = <0>, <0>, 6118c2ecf20Sopenharmony_ci <800000000>; 6128c2ecf20Sopenharmony_ci assigned-clock-parents = <&clk IMX8MQ_SYS1_PLL_800M>, 6138c2ecf20Sopenharmony_ci <&clk IMX8MQ_ARM_PLL_OUT>; 6148c2ecf20Sopenharmony_ci }; 6158c2ecf20Sopenharmony_ci 6168c2ecf20Sopenharmony_ci src: reset-controller@30390000 { 6178c2ecf20Sopenharmony_ci compatible = "fsl,imx8mq-src", "syscon"; 6188c2ecf20Sopenharmony_ci reg = <0x30390000 0x10000>; 6198c2ecf20Sopenharmony_ci interrupts = <GIC_SPI 89 IRQ_TYPE_LEVEL_HIGH>; 6208c2ecf20Sopenharmony_ci #reset-cells = <1>; 6218c2ecf20Sopenharmony_ci }; 6228c2ecf20Sopenharmony_ci 6238c2ecf20Sopenharmony_ci gpc: gpc@303a0000 { 6248c2ecf20Sopenharmony_ci compatible = "fsl,imx8mq-gpc"; 6258c2ecf20Sopenharmony_ci reg = <0x303a0000 0x10000>; 6268c2ecf20Sopenharmony_ci interrupts = <GIC_SPI 87 IRQ_TYPE_LEVEL_HIGH>; 6278c2ecf20Sopenharmony_ci interrupt-parent = <&gic>; 6288c2ecf20Sopenharmony_ci interrupt-controller; 6298c2ecf20Sopenharmony_ci #interrupt-cells = <3>; 6308c2ecf20Sopenharmony_ci 6318c2ecf20Sopenharmony_ci pgc { 6328c2ecf20Sopenharmony_ci #address-cells = <1>; 6338c2ecf20Sopenharmony_ci #size-cells = <0>; 6348c2ecf20Sopenharmony_ci 6358c2ecf20Sopenharmony_ci pgc_mipi: power-domain@0 { 6368c2ecf20Sopenharmony_ci #power-domain-cells = <0>; 6378c2ecf20Sopenharmony_ci reg = <IMX8M_POWER_DOMAIN_MIPI>; 6388c2ecf20Sopenharmony_ci }; 6398c2ecf20Sopenharmony_ci 6408c2ecf20Sopenharmony_ci /* 6418c2ecf20Sopenharmony_ci * As per comment in ATF source code: 6428c2ecf20Sopenharmony_ci * 6438c2ecf20Sopenharmony_ci * PCIE1 and PCIE2 share the 6448c2ecf20Sopenharmony_ci * same reset signal, if we 6458c2ecf20Sopenharmony_ci * power down PCIE2, PCIE1 6468c2ecf20Sopenharmony_ci * will be held in reset too. 6478c2ecf20Sopenharmony_ci * 6488c2ecf20Sopenharmony_ci * So instead of creating two 6498c2ecf20Sopenharmony_ci * separate power domains for 6508c2ecf20Sopenharmony_ci * PCIE1 and PCIE2 we create a 6518c2ecf20Sopenharmony_ci * link between both and use 6528c2ecf20Sopenharmony_ci * it as a shared PCIE power 6538c2ecf20Sopenharmony_ci * domain. 6548c2ecf20Sopenharmony_ci */ 6558c2ecf20Sopenharmony_ci pgc_pcie: power-domain@1 { 6568c2ecf20Sopenharmony_ci #power-domain-cells = <0>; 6578c2ecf20Sopenharmony_ci reg = <IMX8M_POWER_DOMAIN_PCIE1>; 6588c2ecf20Sopenharmony_ci power-domains = <&pgc_pcie2>; 6598c2ecf20Sopenharmony_ci }; 6608c2ecf20Sopenharmony_ci 6618c2ecf20Sopenharmony_ci pgc_otg1: power-domain@2 { 6628c2ecf20Sopenharmony_ci #power-domain-cells = <0>; 6638c2ecf20Sopenharmony_ci reg = <IMX8M_POWER_DOMAIN_USB_OTG1>; 6648c2ecf20Sopenharmony_ci }; 6658c2ecf20Sopenharmony_ci 6668c2ecf20Sopenharmony_ci pgc_otg2: power-domain@3 { 6678c2ecf20Sopenharmony_ci #power-domain-cells = <0>; 6688c2ecf20Sopenharmony_ci reg = <IMX8M_POWER_DOMAIN_USB_OTG2>; 6698c2ecf20Sopenharmony_ci }; 6708c2ecf20Sopenharmony_ci 6718c2ecf20Sopenharmony_ci pgc_ddr1: power-domain@4 { 6728c2ecf20Sopenharmony_ci #power-domain-cells = <0>; 6738c2ecf20Sopenharmony_ci reg = <IMX8M_POWER_DOMAIN_DDR1>; 6748c2ecf20Sopenharmony_ci }; 6758c2ecf20Sopenharmony_ci 6768c2ecf20Sopenharmony_ci pgc_gpu: power-domain@5 { 6778c2ecf20Sopenharmony_ci #power-domain-cells = <0>; 6788c2ecf20Sopenharmony_ci reg = <IMX8M_POWER_DOMAIN_GPU>; 6798c2ecf20Sopenharmony_ci clocks = <&clk IMX8MQ_CLK_GPU_ROOT>, 6808c2ecf20Sopenharmony_ci <&clk IMX8MQ_CLK_GPU_SHADER_DIV>, 6818c2ecf20Sopenharmony_ci <&clk IMX8MQ_CLK_GPU_AXI>, 6828c2ecf20Sopenharmony_ci <&clk IMX8MQ_CLK_GPU_AHB>; 6838c2ecf20Sopenharmony_ci }; 6848c2ecf20Sopenharmony_ci 6858c2ecf20Sopenharmony_ci pgc_vpu: power-domain@6 { 6868c2ecf20Sopenharmony_ci #power-domain-cells = <0>; 6878c2ecf20Sopenharmony_ci reg = <IMX8M_POWER_DOMAIN_VPU>; 6888c2ecf20Sopenharmony_ci clocks = <&clk IMX8MQ_CLK_VPU_DEC_ROOT>; 6898c2ecf20Sopenharmony_ci }; 6908c2ecf20Sopenharmony_ci 6918c2ecf20Sopenharmony_ci pgc_disp: power-domain@7 { 6928c2ecf20Sopenharmony_ci #power-domain-cells = <0>; 6938c2ecf20Sopenharmony_ci reg = <IMX8M_POWER_DOMAIN_DISP>; 6948c2ecf20Sopenharmony_ci }; 6958c2ecf20Sopenharmony_ci 6968c2ecf20Sopenharmony_ci pgc_mipi_csi1: power-domain@8 { 6978c2ecf20Sopenharmony_ci #power-domain-cells = <0>; 6988c2ecf20Sopenharmony_ci reg = <IMX8M_POWER_DOMAIN_MIPI_CSI1>; 6998c2ecf20Sopenharmony_ci }; 7008c2ecf20Sopenharmony_ci 7018c2ecf20Sopenharmony_ci pgc_mipi_csi2: power-domain@9 { 7028c2ecf20Sopenharmony_ci #power-domain-cells = <0>; 7038c2ecf20Sopenharmony_ci reg = <IMX8M_POWER_DOMAIN_MIPI_CSI2>; 7048c2ecf20Sopenharmony_ci }; 7058c2ecf20Sopenharmony_ci 7068c2ecf20Sopenharmony_ci pgc_pcie2: power-domain@a { 7078c2ecf20Sopenharmony_ci #power-domain-cells = <0>; 7088c2ecf20Sopenharmony_ci reg = <IMX8M_POWER_DOMAIN_PCIE2>; 7098c2ecf20Sopenharmony_ci }; 7108c2ecf20Sopenharmony_ci }; 7118c2ecf20Sopenharmony_ci }; 7128c2ecf20Sopenharmony_ci }; 7138c2ecf20Sopenharmony_ci 7148c2ecf20Sopenharmony_ci bus@30400000 { /* AIPS2 */ 7158c2ecf20Sopenharmony_ci compatible = "fsl,aips-bus", "simple-bus"; 7168c2ecf20Sopenharmony_ci reg = <0x30400000 0x400000>; 7178c2ecf20Sopenharmony_ci #address-cells = <1>; 7188c2ecf20Sopenharmony_ci #size-cells = <1>; 7198c2ecf20Sopenharmony_ci ranges = <0x30400000 0x30400000 0x400000>; 7208c2ecf20Sopenharmony_ci 7218c2ecf20Sopenharmony_ci pwm1: pwm@30660000 { 7228c2ecf20Sopenharmony_ci compatible = "fsl,imx8mq-pwm", "fsl,imx27-pwm"; 7238c2ecf20Sopenharmony_ci reg = <0x30660000 0x10000>; 7248c2ecf20Sopenharmony_ci interrupts = <GIC_SPI 81 IRQ_TYPE_LEVEL_HIGH>; 7258c2ecf20Sopenharmony_ci clocks = <&clk IMX8MQ_CLK_PWM1_ROOT>, 7268c2ecf20Sopenharmony_ci <&clk IMX8MQ_CLK_PWM1_ROOT>; 7278c2ecf20Sopenharmony_ci clock-names = "ipg", "per"; 7288c2ecf20Sopenharmony_ci #pwm-cells = <2>; 7298c2ecf20Sopenharmony_ci status = "disabled"; 7308c2ecf20Sopenharmony_ci }; 7318c2ecf20Sopenharmony_ci 7328c2ecf20Sopenharmony_ci pwm2: pwm@30670000 { 7338c2ecf20Sopenharmony_ci compatible = "fsl,imx8mq-pwm", "fsl,imx27-pwm"; 7348c2ecf20Sopenharmony_ci reg = <0x30670000 0x10000>; 7358c2ecf20Sopenharmony_ci interrupts = <GIC_SPI 82 IRQ_TYPE_LEVEL_HIGH>; 7368c2ecf20Sopenharmony_ci clocks = <&clk IMX8MQ_CLK_PWM2_ROOT>, 7378c2ecf20Sopenharmony_ci <&clk IMX8MQ_CLK_PWM2_ROOT>; 7388c2ecf20Sopenharmony_ci clock-names = "ipg", "per"; 7398c2ecf20Sopenharmony_ci #pwm-cells = <2>; 7408c2ecf20Sopenharmony_ci status = "disabled"; 7418c2ecf20Sopenharmony_ci }; 7428c2ecf20Sopenharmony_ci 7438c2ecf20Sopenharmony_ci pwm3: pwm@30680000 { 7448c2ecf20Sopenharmony_ci compatible = "fsl,imx8mq-pwm", "fsl,imx27-pwm"; 7458c2ecf20Sopenharmony_ci reg = <0x30680000 0x10000>; 7468c2ecf20Sopenharmony_ci interrupts = <GIC_SPI 83 IRQ_TYPE_LEVEL_HIGH>; 7478c2ecf20Sopenharmony_ci clocks = <&clk IMX8MQ_CLK_PWM3_ROOT>, 7488c2ecf20Sopenharmony_ci <&clk IMX8MQ_CLK_PWM3_ROOT>; 7498c2ecf20Sopenharmony_ci clock-names = "ipg", "per"; 7508c2ecf20Sopenharmony_ci #pwm-cells = <2>; 7518c2ecf20Sopenharmony_ci status = "disabled"; 7528c2ecf20Sopenharmony_ci }; 7538c2ecf20Sopenharmony_ci 7548c2ecf20Sopenharmony_ci pwm4: pwm@30690000 { 7558c2ecf20Sopenharmony_ci compatible = "fsl,imx8mq-pwm", "fsl,imx27-pwm"; 7568c2ecf20Sopenharmony_ci reg = <0x30690000 0x10000>; 7578c2ecf20Sopenharmony_ci interrupts = <GIC_SPI 84 IRQ_TYPE_LEVEL_HIGH>; 7588c2ecf20Sopenharmony_ci clocks = <&clk IMX8MQ_CLK_PWM4_ROOT>, 7598c2ecf20Sopenharmony_ci <&clk IMX8MQ_CLK_PWM4_ROOT>; 7608c2ecf20Sopenharmony_ci clock-names = "ipg", "per"; 7618c2ecf20Sopenharmony_ci #pwm-cells = <2>; 7628c2ecf20Sopenharmony_ci status = "disabled"; 7638c2ecf20Sopenharmony_ci }; 7648c2ecf20Sopenharmony_ci 7658c2ecf20Sopenharmony_ci system_counter: timer@306a0000 { 7668c2ecf20Sopenharmony_ci compatible = "nxp,sysctr-timer"; 7678c2ecf20Sopenharmony_ci reg = <0x306a0000 0x20000>; 7688c2ecf20Sopenharmony_ci interrupts = <GIC_SPI 47 IRQ_TYPE_LEVEL_HIGH>; 7698c2ecf20Sopenharmony_ci clocks = <&osc_25m>; 7708c2ecf20Sopenharmony_ci clock-names = "per"; 7718c2ecf20Sopenharmony_ci }; 7728c2ecf20Sopenharmony_ci }; 7738c2ecf20Sopenharmony_ci 7748c2ecf20Sopenharmony_ci bus@30800000 { /* AIPS3 */ 7758c2ecf20Sopenharmony_ci compatible = "fsl,aips-bus", "simple-bus"; 7768c2ecf20Sopenharmony_ci reg = <0x30800000 0x400000>; 7778c2ecf20Sopenharmony_ci #address-cells = <1>; 7788c2ecf20Sopenharmony_ci #size-cells = <1>; 7798c2ecf20Sopenharmony_ci ranges = <0x30800000 0x30800000 0x400000>, 7808c2ecf20Sopenharmony_ci <0x08000000 0x08000000 0x10000000>; 7818c2ecf20Sopenharmony_ci 7828c2ecf20Sopenharmony_ci ecspi1: spi@30820000 { 7838c2ecf20Sopenharmony_ci #address-cells = <1>; 7848c2ecf20Sopenharmony_ci #size-cells = <0>; 7858c2ecf20Sopenharmony_ci compatible = "fsl,imx8mq-ecspi", "fsl,imx51-ecspi"; 7868c2ecf20Sopenharmony_ci reg = <0x30820000 0x10000>; 7878c2ecf20Sopenharmony_ci interrupts = <GIC_SPI 31 IRQ_TYPE_LEVEL_HIGH>; 7888c2ecf20Sopenharmony_ci clocks = <&clk IMX8MQ_CLK_ECSPI1_ROOT>, 7898c2ecf20Sopenharmony_ci <&clk IMX8MQ_CLK_ECSPI1_ROOT>; 7908c2ecf20Sopenharmony_ci clock-names = "ipg", "per"; 7918c2ecf20Sopenharmony_ci status = "disabled"; 7928c2ecf20Sopenharmony_ci }; 7938c2ecf20Sopenharmony_ci 7948c2ecf20Sopenharmony_ci ecspi2: spi@30830000 { 7958c2ecf20Sopenharmony_ci #address-cells = <1>; 7968c2ecf20Sopenharmony_ci #size-cells = <0>; 7978c2ecf20Sopenharmony_ci compatible = "fsl,imx8mq-ecspi", "fsl,imx51-ecspi"; 7988c2ecf20Sopenharmony_ci reg = <0x30830000 0x10000>; 7998c2ecf20Sopenharmony_ci interrupts = <GIC_SPI 32 IRQ_TYPE_LEVEL_HIGH>; 8008c2ecf20Sopenharmony_ci clocks = <&clk IMX8MQ_CLK_ECSPI2_ROOT>, 8018c2ecf20Sopenharmony_ci <&clk IMX8MQ_CLK_ECSPI2_ROOT>; 8028c2ecf20Sopenharmony_ci clock-names = "ipg", "per"; 8038c2ecf20Sopenharmony_ci status = "disabled"; 8048c2ecf20Sopenharmony_ci }; 8058c2ecf20Sopenharmony_ci 8068c2ecf20Sopenharmony_ci ecspi3: spi@30840000 { 8078c2ecf20Sopenharmony_ci #address-cells = <1>; 8088c2ecf20Sopenharmony_ci #size-cells = <0>; 8098c2ecf20Sopenharmony_ci compatible = "fsl,imx8mq-ecspi", "fsl,imx51-ecspi"; 8108c2ecf20Sopenharmony_ci reg = <0x30840000 0x10000>; 8118c2ecf20Sopenharmony_ci interrupts = <GIC_SPI 33 IRQ_TYPE_LEVEL_HIGH>; 8128c2ecf20Sopenharmony_ci clocks = <&clk IMX8MQ_CLK_ECSPI3_ROOT>, 8138c2ecf20Sopenharmony_ci <&clk IMX8MQ_CLK_ECSPI3_ROOT>; 8148c2ecf20Sopenharmony_ci clock-names = "ipg", "per"; 8158c2ecf20Sopenharmony_ci status = "disabled"; 8168c2ecf20Sopenharmony_ci }; 8178c2ecf20Sopenharmony_ci 8188c2ecf20Sopenharmony_ci uart1: serial@30860000 { 8198c2ecf20Sopenharmony_ci compatible = "fsl,imx8mq-uart", 8208c2ecf20Sopenharmony_ci "fsl,imx6q-uart"; 8218c2ecf20Sopenharmony_ci reg = <0x30860000 0x10000>; 8228c2ecf20Sopenharmony_ci interrupts = <GIC_SPI 26 IRQ_TYPE_LEVEL_HIGH>; 8238c2ecf20Sopenharmony_ci clocks = <&clk IMX8MQ_CLK_UART1_ROOT>, 8248c2ecf20Sopenharmony_ci <&clk IMX8MQ_CLK_UART1_ROOT>; 8258c2ecf20Sopenharmony_ci clock-names = "ipg", "per"; 8268c2ecf20Sopenharmony_ci status = "disabled"; 8278c2ecf20Sopenharmony_ci }; 8288c2ecf20Sopenharmony_ci 8298c2ecf20Sopenharmony_ci uart3: serial@30880000 { 8308c2ecf20Sopenharmony_ci compatible = "fsl,imx8mq-uart", 8318c2ecf20Sopenharmony_ci "fsl,imx6q-uart"; 8328c2ecf20Sopenharmony_ci reg = <0x30880000 0x10000>; 8338c2ecf20Sopenharmony_ci interrupts = <GIC_SPI 28 IRQ_TYPE_LEVEL_HIGH>; 8348c2ecf20Sopenharmony_ci clocks = <&clk IMX8MQ_CLK_UART3_ROOT>, 8358c2ecf20Sopenharmony_ci <&clk IMX8MQ_CLK_UART3_ROOT>; 8368c2ecf20Sopenharmony_ci clock-names = "ipg", "per"; 8378c2ecf20Sopenharmony_ci status = "disabled"; 8388c2ecf20Sopenharmony_ci }; 8398c2ecf20Sopenharmony_ci 8408c2ecf20Sopenharmony_ci uart2: serial@30890000 { 8418c2ecf20Sopenharmony_ci compatible = "fsl,imx8mq-uart", 8428c2ecf20Sopenharmony_ci "fsl,imx6q-uart"; 8438c2ecf20Sopenharmony_ci reg = <0x30890000 0x10000>; 8448c2ecf20Sopenharmony_ci interrupts = <GIC_SPI 27 IRQ_TYPE_LEVEL_HIGH>; 8458c2ecf20Sopenharmony_ci clocks = <&clk IMX8MQ_CLK_UART2_ROOT>, 8468c2ecf20Sopenharmony_ci <&clk IMX8MQ_CLK_UART2_ROOT>; 8478c2ecf20Sopenharmony_ci clock-names = "ipg", "per"; 8488c2ecf20Sopenharmony_ci status = "disabled"; 8498c2ecf20Sopenharmony_ci }; 8508c2ecf20Sopenharmony_ci 8518c2ecf20Sopenharmony_ci sai2: sai@308b0000 { 8528c2ecf20Sopenharmony_ci #sound-dai-cells = <0>; 8538c2ecf20Sopenharmony_ci compatible = "fsl,imx8mq-sai"; 8548c2ecf20Sopenharmony_ci reg = <0x308b0000 0x10000>; 8558c2ecf20Sopenharmony_ci interrupts = <GIC_SPI 96 IRQ_TYPE_LEVEL_HIGH>; 8568c2ecf20Sopenharmony_ci clocks = <&clk IMX8MQ_CLK_SAI2_IPG>, 8578c2ecf20Sopenharmony_ci <&clk IMX8MQ_CLK_SAI2_ROOT>, 8588c2ecf20Sopenharmony_ci <&clk IMX8MQ_CLK_DUMMY>, <&clk IMX8MQ_CLK_DUMMY>; 8598c2ecf20Sopenharmony_ci clock-names = "bus", "mclk1", "mclk2", "mclk3"; 8608c2ecf20Sopenharmony_ci dmas = <&sdma1 10 24 0>, <&sdma1 11 24 0>; 8618c2ecf20Sopenharmony_ci dma-names = "rx", "tx"; 8628c2ecf20Sopenharmony_ci status = "disabled"; 8638c2ecf20Sopenharmony_ci }; 8648c2ecf20Sopenharmony_ci 8658c2ecf20Sopenharmony_ci sai3: sai@308c0000 { 8668c2ecf20Sopenharmony_ci #sound-dai-cells = <0>; 8678c2ecf20Sopenharmony_ci compatible = "fsl,imx8mq-sai"; 8688c2ecf20Sopenharmony_ci reg = <0x308c0000 0x10000>; 8698c2ecf20Sopenharmony_ci interrupts = <GIC_SPI 50 IRQ_TYPE_LEVEL_HIGH>; 8708c2ecf20Sopenharmony_ci clocks = <&clk IMX8MQ_CLK_SAI3_IPG>, 8718c2ecf20Sopenharmony_ci <&clk IMX8MQ_CLK_SAI3_ROOT>, 8728c2ecf20Sopenharmony_ci <&clk IMX8MQ_CLK_DUMMY>, <&clk IMX8MQ_CLK_DUMMY>; 8738c2ecf20Sopenharmony_ci clock-names = "bus", "mclk1", "mclk2", "mclk3"; 8748c2ecf20Sopenharmony_ci dmas = <&sdma1 12 24 0>, <&sdma1 13 24 0>; 8758c2ecf20Sopenharmony_ci dma-names = "rx", "tx"; 8768c2ecf20Sopenharmony_ci status = "disabled"; 8778c2ecf20Sopenharmony_ci }; 8788c2ecf20Sopenharmony_ci 8798c2ecf20Sopenharmony_ci crypto: crypto@30900000 { 8808c2ecf20Sopenharmony_ci compatible = "fsl,sec-v4.0"; 8818c2ecf20Sopenharmony_ci #address-cells = <1>; 8828c2ecf20Sopenharmony_ci #size-cells = <1>; 8838c2ecf20Sopenharmony_ci reg = <0x30900000 0x40000>; 8848c2ecf20Sopenharmony_ci ranges = <0 0x30900000 0x40000>; 8858c2ecf20Sopenharmony_ci interrupts = <GIC_SPI 91 IRQ_TYPE_LEVEL_HIGH>; 8868c2ecf20Sopenharmony_ci clocks = <&clk IMX8MQ_CLK_AHB>, 8878c2ecf20Sopenharmony_ci <&clk IMX8MQ_CLK_IPG_ROOT>; 8888c2ecf20Sopenharmony_ci clock-names = "aclk", "ipg"; 8898c2ecf20Sopenharmony_ci 8908c2ecf20Sopenharmony_ci sec_jr0: jr@1000 { 8918c2ecf20Sopenharmony_ci compatible = "fsl,sec-v4.0-job-ring"; 8928c2ecf20Sopenharmony_ci reg = <0x1000 0x1000>; 8938c2ecf20Sopenharmony_ci interrupts = <GIC_SPI 105 IRQ_TYPE_LEVEL_HIGH>; 8948c2ecf20Sopenharmony_ci }; 8958c2ecf20Sopenharmony_ci 8968c2ecf20Sopenharmony_ci sec_jr1: jr@2000 { 8978c2ecf20Sopenharmony_ci compatible = "fsl,sec-v4.0-job-ring"; 8988c2ecf20Sopenharmony_ci reg = <0x2000 0x1000>; 8998c2ecf20Sopenharmony_ci interrupts = <GIC_SPI 106 IRQ_TYPE_LEVEL_HIGH>; 9008c2ecf20Sopenharmony_ci }; 9018c2ecf20Sopenharmony_ci 9028c2ecf20Sopenharmony_ci sec_jr2: jr@3000 { 9038c2ecf20Sopenharmony_ci compatible = "fsl,sec-v4.0-job-ring"; 9048c2ecf20Sopenharmony_ci reg = <0x3000 0x1000>; 9058c2ecf20Sopenharmony_ci interrupts = <GIC_SPI 114 IRQ_TYPE_LEVEL_HIGH>; 9068c2ecf20Sopenharmony_ci }; 9078c2ecf20Sopenharmony_ci }; 9088c2ecf20Sopenharmony_ci 9098c2ecf20Sopenharmony_ci mipi_dsi: mipi-dsi@30a00000 { 9108c2ecf20Sopenharmony_ci compatible = "fsl,imx8mq-nwl-dsi"; 9118c2ecf20Sopenharmony_ci reg = <0x30a00000 0x300>; 9128c2ecf20Sopenharmony_ci clocks = <&clk IMX8MQ_CLK_DSI_CORE>, 9138c2ecf20Sopenharmony_ci <&clk IMX8MQ_CLK_DSI_AHB>, 9148c2ecf20Sopenharmony_ci <&clk IMX8MQ_CLK_DSI_IPG_DIV>, 9158c2ecf20Sopenharmony_ci <&clk IMX8MQ_CLK_DSI_PHY_REF>, 9168c2ecf20Sopenharmony_ci <&clk IMX8MQ_CLK_LCDIF_PIXEL>; 9178c2ecf20Sopenharmony_ci clock-names = "core", "rx_esc", "tx_esc", "phy_ref", "lcdif"; 9188c2ecf20Sopenharmony_ci assigned-clocks = <&clk IMX8MQ_CLK_DSI_AHB>, 9198c2ecf20Sopenharmony_ci <&clk IMX8MQ_CLK_DSI_CORE>, 9208c2ecf20Sopenharmony_ci <&clk IMX8MQ_CLK_DSI_IPG_DIV>; 9218c2ecf20Sopenharmony_ci assigned-clock-parents = <&clk IMX8MQ_SYS1_PLL_80M>, 9228c2ecf20Sopenharmony_ci <&clk IMX8MQ_SYS1_PLL_266M>; 9238c2ecf20Sopenharmony_ci assigned-clock-rates = <80000000>, <266000000>, <20000000>; 9248c2ecf20Sopenharmony_ci interrupts = <GIC_SPI 34 IRQ_TYPE_LEVEL_HIGH>; 9258c2ecf20Sopenharmony_ci mux-controls = <&mux 0>; 9268c2ecf20Sopenharmony_ci power-domains = <&pgc_mipi>; 9278c2ecf20Sopenharmony_ci phys = <&dphy>; 9288c2ecf20Sopenharmony_ci phy-names = "dphy"; 9298c2ecf20Sopenharmony_ci resets = <&src IMX8MQ_RESET_MIPI_DSI_RESET_BYTE_N>, 9308c2ecf20Sopenharmony_ci <&src IMX8MQ_RESET_MIPI_DSI_DPI_RESET_N>, 9318c2ecf20Sopenharmony_ci <&src IMX8MQ_RESET_MIPI_DSI_ESC_RESET_N>, 9328c2ecf20Sopenharmony_ci <&src IMX8MQ_RESET_MIPI_DSI_PCLK_RESET_N>; 9338c2ecf20Sopenharmony_ci reset-names = "byte", "dpi", "esc", "pclk"; 9348c2ecf20Sopenharmony_ci status = "disabled"; 9358c2ecf20Sopenharmony_ci 9368c2ecf20Sopenharmony_ci ports { 9378c2ecf20Sopenharmony_ci #address-cells = <1>; 9388c2ecf20Sopenharmony_ci #size-cells = <0>; 9398c2ecf20Sopenharmony_ci 9408c2ecf20Sopenharmony_ci port@0 { 9418c2ecf20Sopenharmony_ci reg = <0>; 9428c2ecf20Sopenharmony_ci #address-cells = <1>; 9438c2ecf20Sopenharmony_ci #size-cells = <0>; 9448c2ecf20Sopenharmony_ci mipi_dsi_lcdif_in: endpoint@0 { 9458c2ecf20Sopenharmony_ci reg = <0>; 9468c2ecf20Sopenharmony_ci remote-endpoint = <&lcdif_mipi_dsi>; 9478c2ecf20Sopenharmony_ci }; 9488c2ecf20Sopenharmony_ci }; 9498c2ecf20Sopenharmony_ci }; 9508c2ecf20Sopenharmony_ci }; 9518c2ecf20Sopenharmony_ci 9528c2ecf20Sopenharmony_ci dphy: dphy@30a00300 { 9538c2ecf20Sopenharmony_ci compatible = "fsl,imx8mq-mipi-dphy"; 9548c2ecf20Sopenharmony_ci reg = <0x30a00300 0x100>; 9558c2ecf20Sopenharmony_ci clocks = <&clk IMX8MQ_CLK_DSI_PHY_REF>; 9568c2ecf20Sopenharmony_ci clock-names = "phy_ref"; 9578c2ecf20Sopenharmony_ci assigned-clocks = <&clk IMX8MQ_CLK_DSI_PHY_REF>; 9588c2ecf20Sopenharmony_ci assigned-clock-parents = <&clk IMX8MQ_VIDEO_PLL1_OUT>; 9598c2ecf20Sopenharmony_ci assigned-clock-rates = <24000000>; 9608c2ecf20Sopenharmony_ci #phy-cells = <0>; 9618c2ecf20Sopenharmony_ci power-domains = <&pgc_mipi>; 9628c2ecf20Sopenharmony_ci status = "disabled"; 9638c2ecf20Sopenharmony_ci }; 9648c2ecf20Sopenharmony_ci 9658c2ecf20Sopenharmony_ci i2c1: i2c@30a20000 { 9668c2ecf20Sopenharmony_ci compatible = "fsl,imx8mq-i2c", "fsl,imx21-i2c"; 9678c2ecf20Sopenharmony_ci reg = <0x30a20000 0x10000>; 9688c2ecf20Sopenharmony_ci interrupts = <GIC_SPI 35 IRQ_TYPE_LEVEL_HIGH>; 9698c2ecf20Sopenharmony_ci clocks = <&clk IMX8MQ_CLK_I2C1_ROOT>; 9708c2ecf20Sopenharmony_ci #address-cells = <1>; 9718c2ecf20Sopenharmony_ci #size-cells = <0>; 9728c2ecf20Sopenharmony_ci status = "disabled"; 9738c2ecf20Sopenharmony_ci }; 9748c2ecf20Sopenharmony_ci 9758c2ecf20Sopenharmony_ci i2c2: i2c@30a30000 { 9768c2ecf20Sopenharmony_ci compatible = "fsl,imx8mq-i2c", "fsl,imx21-i2c"; 9778c2ecf20Sopenharmony_ci reg = <0x30a30000 0x10000>; 9788c2ecf20Sopenharmony_ci interrupts = <GIC_SPI 36 IRQ_TYPE_LEVEL_HIGH>; 9798c2ecf20Sopenharmony_ci clocks = <&clk IMX8MQ_CLK_I2C2_ROOT>; 9808c2ecf20Sopenharmony_ci #address-cells = <1>; 9818c2ecf20Sopenharmony_ci #size-cells = <0>; 9828c2ecf20Sopenharmony_ci status = "disabled"; 9838c2ecf20Sopenharmony_ci }; 9848c2ecf20Sopenharmony_ci 9858c2ecf20Sopenharmony_ci i2c3: i2c@30a40000 { 9868c2ecf20Sopenharmony_ci compatible = "fsl,imx8mq-i2c", "fsl,imx21-i2c"; 9878c2ecf20Sopenharmony_ci reg = <0x30a40000 0x10000>; 9888c2ecf20Sopenharmony_ci interrupts = <GIC_SPI 37 IRQ_TYPE_LEVEL_HIGH>; 9898c2ecf20Sopenharmony_ci clocks = <&clk IMX8MQ_CLK_I2C3_ROOT>; 9908c2ecf20Sopenharmony_ci #address-cells = <1>; 9918c2ecf20Sopenharmony_ci #size-cells = <0>; 9928c2ecf20Sopenharmony_ci status = "disabled"; 9938c2ecf20Sopenharmony_ci }; 9948c2ecf20Sopenharmony_ci 9958c2ecf20Sopenharmony_ci i2c4: i2c@30a50000 { 9968c2ecf20Sopenharmony_ci compatible = "fsl,imx8mq-i2c", "fsl,imx21-i2c"; 9978c2ecf20Sopenharmony_ci reg = <0x30a50000 0x10000>; 9988c2ecf20Sopenharmony_ci interrupts = <GIC_SPI 38 IRQ_TYPE_LEVEL_HIGH>; 9998c2ecf20Sopenharmony_ci clocks = <&clk IMX8MQ_CLK_I2C4_ROOT>; 10008c2ecf20Sopenharmony_ci #address-cells = <1>; 10018c2ecf20Sopenharmony_ci #size-cells = <0>; 10028c2ecf20Sopenharmony_ci status = "disabled"; 10038c2ecf20Sopenharmony_ci }; 10048c2ecf20Sopenharmony_ci 10058c2ecf20Sopenharmony_ci uart4: serial@30a60000 { 10068c2ecf20Sopenharmony_ci compatible = "fsl,imx8mq-uart", 10078c2ecf20Sopenharmony_ci "fsl,imx6q-uart"; 10088c2ecf20Sopenharmony_ci reg = <0x30a60000 0x10000>; 10098c2ecf20Sopenharmony_ci interrupts = <GIC_SPI 29 IRQ_TYPE_LEVEL_HIGH>; 10108c2ecf20Sopenharmony_ci clocks = <&clk IMX8MQ_CLK_UART4_ROOT>, 10118c2ecf20Sopenharmony_ci <&clk IMX8MQ_CLK_UART4_ROOT>; 10128c2ecf20Sopenharmony_ci clock-names = "ipg", "per"; 10138c2ecf20Sopenharmony_ci status = "disabled"; 10148c2ecf20Sopenharmony_ci }; 10158c2ecf20Sopenharmony_ci 10168c2ecf20Sopenharmony_ci mu: mailbox@30aa0000 { 10178c2ecf20Sopenharmony_ci compatible = "fsl,imx8mq-mu", "fsl,imx6sx-mu"; 10188c2ecf20Sopenharmony_ci reg = <0x30aa0000 0x10000>; 10198c2ecf20Sopenharmony_ci interrupts = <GIC_SPI 88 IRQ_TYPE_LEVEL_HIGH>; 10208c2ecf20Sopenharmony_ci clocks = <&clk IMX8MQ_CLK_MU_ROOT>; 10218c2ecf20Sopenharmony_ci #mbox-cells = <2>; 10228c2ecf20Sopenharmony_ci }; 10238c2ecf20Sopenharmony_ci 10248c2ecf20Sopenharmony_ci usdhc1: mmc@30b40000 { 10258c2ecf20Sopenharmony_ci compatible = "fsl,imx8mq-usdhc", 10268c2ecf20Sopenharmony_ci "fsl,imx7d-usdhc"; 10278c2ecf20Sopenharmony_ci reg = <0x30b40000 0x10000>; 10288c2ecf20Sopenharmony_ci interrupts = <GIC_SPI 22 IRQ_TYPE_LEVEL_HIGH>; 10298c2ecf20Sopenharmony_ci clocks = <&clk IMX8MQ_CLK_IPG_ROOT>, 10308c2ecf20Sopenharmony_ci <&clk IMX8MQ_CLK_NAND_USDHC_BUS>, 10318c2ecf20Sopenharmony_ci <&clk IMX8MQ_CLK_USDHC1_ROOT>; 10328c2ecf20Sopenharmony_ci clock-names = "ipg", "ahb", "per"; 10338c2ecf20Sopenharmony_ci fsl,tuning-start-tap = <20>; 10348c2ecf20Sopenharmony_ci fsl,tuning-step = <2>; 10358c2ecf20Sopenharmony_ci bus-width = <4>; 10368c2ecf20Sopenharmony_ci status = "disabled"; 10378c2ecf20Sopenharmony_ci }; 10388c2ecf20Sopenharmony_ci 10398c2ecf20Sopenharmony_ci usdhc2: mmc@30b50000 { 10408c2ecf20Sopenharmony_ci compatible = "fsl,imx8mq-usdhc", 10418c2ecf20Sopenharmony_ci "fsl,imx7d-usdhc"; 10428c2ecf20Sopenharmony_ci reg = <0x30b50000 0x10000>; 10438c2ecf20Sopenharmony_ci interrupts = <GIC_SPI 23 IRQ_TYPE_LEVEL_HIGH>; 10448c2ecf20Sopenharmony_ci clocks = <&clk IMX8MQ_CLK_IPG_ROOT>, 10458c2ecf20Sopenharmony_ci <&clk IMX8MQ_CLK_NAND_USDHC_BUS>, 10468c2ecf20Sopenharmony_ci <&clk IMX8MQ_CLK_USDHC2_ROOT>; 10478c2ecf20Sopenharmony_ci clock-names = "ipg", "ahb", "per"; 10488c2ecf20Sopenharmony_ci fsl,tuning-start-tap = <20>; 10498c2ecf20Sopenharmony_ci fsl,tuning-step = <2>; 10508c2ecf20Sopenharmony_ci bus-width = <4>; 10518c2ecf20Sopenharmony_ci status = "disabled"; 10528c2ecf20Sopenharmony_ci }; 10538c2ecf20Sopenharmony_ci 10548c2ecf20Sopenharmony_ci qspi0: spi@30bb0000 { 10558c2ecf20Sopenharmony_ci #address-cells = <1>; 10568c2ecf20Sopenharmony_ci #size-cells = <0>; 10578c2ecf20Sopenharmony_ci compatible = "fsl,imx8mq-qspi", "fsl,imx7d-qspi"; 10588c2ecf20Sopenharmony_ci reg = <0x30bb0000 0x10000>, 10598c2ecf20Sopenharmony_ci <0x08000000 0x10000000>; 10608c2ecf20Sopenharmony_ci reg-names = "QuadSPI", "QuadSPI-memory"; 10618c2ecf20Sopenharmony_ci interrupts = <GIC_SPI 107 IRQ_TYPE_LEVEL_HIGH>; 10628c2ecf20Sopenharmony_ci clocks = <&clk IMX8MQ_CLK_QSPI_ROOT>, 10638c2ecf20Sopenharmony_ci <&clk IMX8MQ_CLK_QSPI_ROOT>; 10648c2ecf20Sopenharmony_ci clock-names = "qspi_en", "qspi"; 10658c2ecf20Sopenharmony_ci status = "disabled"; 10668c2ecf20Sopenharmony_ci }; 10678c2ecf20Sopenharmony_ci 10688c2ecf20Sopenharmony_ci sdma1: sdma@30bd0000 { 10698c2ecf20Sopenharmony_ci compatible = "fsl,imx8mq-sdma","fsl,imx7d-sdma"; 10708c2ecf20Sopenharmony_ci reg = <0x30bd0000 0x10000>; 10718c2ecf20Sopenharmony_ci interrupts = <GIC_SPI 2 IRQ_TYPE_LEVEL_HIGH>; 10728c2ecf20Sopenharmony_ci clocks = <&clk IMX8MQ_CLK_SDMA1_ROOT>, 10738c2ecf20Sopenharmony_ci <&clk IMX8MQ_CLK_AHB>; 10748c2ecf20Sopenharmony_ci clock-names = "ipg", "ahb"; 10758c2ecf20Sopenharmony_ci #dma-cells = <3>; 10768c2ecf20Sopenharmony_ci fsl,sdma-ram-script-name = "imx/sdma/sdma-imx7d.bin"; 10778c2ecf20Sopenharmony_ci }; 10788c2ecf20Sopenharmony_ci 10798c2ecf20Sopenharmony_ci fec1: ethernet@30be0000 { 10808c2ecf20Sopenharmony_ci compatible = "fsl,imx8mq-fec", "fsl,imx6sx-fec"; 10818c2ecf20Sopenharmony_ci reg = <0x30be0000 0x10000>; 10828c2ecf20Sopenharmony_ci interrupts = <GIC_SPI 118 IRQ_TYPE_LEVEL_HIGH>, 10838c2ecf20Sopenharmony_ci <GIC_SPI 119 IRQ_TYPE_LEVEL_HIGH>, 10848c2ecf20Sopenharmony_ci <GIC_SPI 120 IRQ_TYPE_LEVEL_HIGH>, 10858c2ecf20Sopenharmony_ci <GIC_SPI 121 IRQ_TYPE_LEVEL_HIGH>; 10868c2ecf20Sopenharmony_ci clocks = <&clk IMX8MQ_CLK_ENET1_ROOT>, 10878c2ecf20Sopenharmony_ci <&clk IMX8MQ_CLK_ENET1_ROOT>, 10888c2ecf20Sopenharmony_ci <&clk IMX8MQ_CLK_ENET_TIMER>, 10898c2ecf20Sopenharmony_ci <&clk IMX8MQ_CLK_ENET_REF>, 10908c2ecf20Sopenharmony_ci <&clk IMX8MQ_CLK_ENET_PHY_REF>; 10918c2ecf20Sopenharmony_ci clock-names = "ipg", "ahb", "ptp", 10928c2ecf20Sopenharmony_ci "enet_clk_ref", "enet_out"; 10938c2ecf20Sopenharmony_ci fsl,num-tx-queues = <3>; 10948c2ecf20Sopenharmony_ci fsl,num-rx-queues = <3>; 10958c2ecf20Sopenharmony_ci status = "disabled"; 10968c2ecf20Sopenharmony_ci }; 10978c2ecf20Sopenharmony_ci }; 10988c2ecf20Sopenharmony_ci 10998c2ecf20Sopenharmony_ci bus@32c00000 { /* AIPS4 */ 11008c2ecf20Sopenharmony_ci compatible = "fsl,aips-bus", "simple-bus"; 11018c2ecf20Sopenharmony_ci reg = <0x32c00000 0x400000>; 11028c2ecf20Sopenharmony_ci #address-cells = <1>; 11038c2ecf20Sopenharmony_ci #size-cells = <1>; 11048c2ecf20Sopenharmony_ci ranges = <0x32c00000 0x32c00000 0x400000>; 11058c2ecf20Sopenharmony_ci 11068c2ecf20Sopenharmony_ci irqsteer: interrupt-controller@32e2d000 { 11078c2ecf20Sopenharmony_ci compatible = "fsl,imx8m-irqsteer", "fsl,imx-irqsteer"; 11088c2ecf20Sopenharmony_ci reg = <0x32e2d000 0x1000>; 11098c2ecf20Sopenharmony_ci interrupts = <GIC_SPI 18 IRQ_TYPE_LEVEL_HIGH>; 11108c2ecf20Sopenharmony_ci clocks = <&clk IMX8MQ_CLK_DISP_APB_ROOT>; 11118c2ecf20Sopenharmony_ci clock-names = "ipg"; 11128c2ecf20Sopenharmony_ci fsl,channel = <0>; 11138c2ecf20Sopenharmony_ci fsl,num-irqs = <64>; 11148c2ecf20Sopenharmony_ci interrupt-controller; 11158c2ecf20Sopenharmony_ci #interrupt-cells = <1>; 11168c2ecf20Sopenharmony_ci }; 11178c2ecf20Sopenharmony_ci }; 11188c2ecf20Sopenharmony_ci 11198c2ecf20Sopenharmony_ci gpu: gpu@38000000 { 11208c2ecf20Sopenharmony_ci compatible = "vivante,gc"; 11218c2ecf20Sopenharmony_ci reg = <0x38000000 0x40000>; 11228c2ecf20Sopenharmony_ci interrupts = <GIC_SPI 3 IRQ_TYPE_LEVEL_HIGH>; 11238c2ecf20Sopenharmony_ci clocks = <&clk IMX8MQ_CLK_GPU_ROOT>, 11248c2ecf20Sopenharmony_ci <&clk IMX8MQ_CLK_GPU_SHADER_DIV>, 11258c2ecf20Sopenharmony_ci <&clk IMX8MQ_CLK_GPU_AXI>, 11268c2ecf20Sopenharmony_ci <&clk IMX8MQ_CLK_GPU_AHB>; 11278c2ecf20Sopenharmony_ci clock-names = "core", "shader", "bus", "reg"; 11288c2ecf20Sopenharmony_ci #cooling-cells = <2>; 11298c2ecf20Sopenharmony_ci assigned-clocks = <&clk IMX8MQ_CLK_GPU_CORE_SRC>, 11308c2ecf20Sopenharmony_ci <&clk IMX8MQ_CLK_GPU_SHADER_SRC>, 11318c2ecf20Sopenharmony_ci <&clk IMX8MQ_CLK_GPU_AXI>, 11328c2ecf20Sopenharmony_ci <&clk IMX8MQ_CLK_GPU_AHB>, 11338c2ecf20Sopenharmony_ci <&clk IMX8MQ_GPU_PLL_BYPASS>; 11348c2ecf20Sopenharmony_ci assigned-clock-parents = <&clk IMX8MQ_GPU_PLL_OUT>, 11358c2ecf20Sopenharmony_ci <&clk IMX8MQ_GPU_PLL_OUT>, 11368c2ecf20Sopenharmony_ci <&clk IMX8MQ_GPU_PLL_OUT>, 11378c2ecf20Sopenharmony_ci <&clk IMX8MQ_GPU_PLL_OUT>, 11388c2ecf20Sopenharmony_ci <&clk IMX8MQ_GPU_PLL>; 11398c2ecf20Sopenharmony_ci assigned-clock-rates = <800000000>, <800000000>, 11408c2ecf20Sopenharmony_ci <800000000>, <800000000>, <0>; 11418c2ecf20Sopenharmony_ci power-domains = <&pgc_gpu>; 11428c2ecf20Sopenharmony_ci }; 11438c2ecf20Sopenharmony_ci 11448c2ecf20Sopenharmony_ci usb_dwc3_0: usb@38100000 { 11458c2ecf20Sopenharmony_ci compatible = "fsl,imx8mq-dwc3", "snps,dwc3"; 11468c2ecf20Sopenharmony_ci reg = <0x38100000 0x10000>; 11478c2ecf20Sopenharmony_ci clocks = <&clk IMX8MQ_CLK_USB1_CTRL_ROOT>, 11488c2ecf20Sopenharmony_ci <&clk IMX8MQ_CLK_USB_CORE_REF>, 11498c2ecf20Sopenharmony_ci <&clk IMX8MQ_CLK_32K>; 11508c2ecf20Sopenharmony_ci clock-names = "bus_early", "ref", "suspend"; 11518c2ecf20Sopenharmony_ci assigned-clocks = <&clk IMX8MQ_CLK_USB_BUS>, 11528c2ecf20Sopenharmony_ci <&clk IMX8MQ_CLK_USB_CORE_REF>; 11538c2ecf20Sopenharmony_ci assigned-clock-parents = <&clk IMX8MQ_SYS2_PLL_500M>, 11548c2ecf20Sopenharmony_ci <&clk IMX8MQ_SYS1_PLL_100M>; 11558c2ecf20Sopenharmony_ci assigned-clock-rates = <500000000>, <100000000>; 11568c2ecf20Sopenharmony_ci interrupts = <GIC_SPI 40 IRQ_TYPE_LEVEL_HIGH>; 11578c2ecf20Sopenharmony_ci phys = <&usb3_phy0>, <&usb3_phy0>; 11588c2ecf20Sopenharmony_ci phy-names = "usb2-phy", "usb3-phy"; 11598c2ecf20Sopenharmony_ci power-domains = <&pgc_otg1>; 11608c2ecf20Sopenharmony_ci usb3-resume-missing-cas; 11618c2ecf20Sopenharmony_ci status = "disabled"; 11628c2ecf20Sopenharmony_ci }; 11638c2ecf20Sopenharmony_ci 11648c2ecf20Sopenharmony_ci usb3_phy0: usb-phy@381f0040 { 11658c2ecf20Sopenharmony_ci compatible = "fsl,imx8mq-usb-phy"; 11668c2ecf20Sopenharmony_ci reg = <0x381f0040 0x40>; 11678c2ecf20Sopenharmony_ci clocks = <&clk IMX8MQ_CLK_USB1_PHY_ROOT>; 11688c2ecf20Sopenharmony_ci clock-names = "phy"; 11698c2ecf20Sopenharmony_ci assigned-clocks = <&clk IMX8MQ_CLK_USB_PHY_REF>; 11708c2ecf20Sopenharmony_ci assigned-clock-parents = <&clk IMX8MQ_SYS1_PLL_100M>; 11718c2ecf20Sopenharmony_ci assigned-clock-rates = <100000000>; 11728c2ecf20Sopenharmony_ci #phy-cells = <0>; 11738c2ecf20Sopenharmony_ci status = "disabled"; 11748c2ecf20Sopenharmony_ci }; 11758c2ecf20Sopenharmony_ci 11768c2ecf20Sopenharmony_ci usb_dwc3_1: usb@38200000 { 11778c2ecf20Sopenharmony_ci compatible = "fsl,imx8mq-dwc3", "snps,dwc3"; 11788c2ecf20Sopenharmony_ci reg = <0x38200000 0x10000>; 11798c2ecf20Sopenharmony_ci clocks = <&clk IMX8MQ_CLK_USB2_CTRL_ROOT>, 11808c2ecf20Sopenharmony_ci <&clk IMX8MQ_CLK_USB_CORE_REF>, 11818c2ecf20Sopenharmony_ci <&clk IMX8MQ_CLK_32K>; 11828c2ecf20Sopenharmony_ci clock-names = "bus_early", "ref", "suspend"; 11838c2ecf20Sopenharmony_ci assigned-clocks = <&clk IMX8MQ_CLK_USB_BUS>, 11848c2ecf20Sopenharmony_ci <&clk IMX8MQ_CLK_USB_CORE_REF>; 11858c2ecf20Sopenharmony_ci assigned-clock-parents = <&clk IMX8MQ_SYS2_PLL_500M>, 11868c2ecf20Sopenharmony_ci <&clk IMX8MQ_SYS1_PLL_100M>; 11878c2ecf20Sopenharmony_ci assigned-clock-rates = <500000000>, <100000000>; 11888c2ecf20Sopenharmony_ci interrupts = <GIC_SPI 41 IRQ_TYPE_LEVEL_HIGH>; 11898c2ecf20Sopenharmony_ci phys = <&usb3_phy1>, <&usb3_phy1>; 11908c2ecf20Sopenharmony_ci phy-names = "usb2-phy", "usb3-phy"; 11918c2ecf20Sopenharmony_ci power-domains = <&pgc_otg2>; 11928c2ecf20Sopenharmony_ci usb3-resume-missing-cas; 11938c2ecf20Sopenharmony_ci status = "disabled"; 11948c2ecf20Sopenharmony_ci }; 11958c2ecf20Sopenharmony_ci 11968c2ecf20Sopenharmony_ci usb3_phy1: usb-phy@382f0040 { 11978c2ecf20Sopenharmony_ci compatible = "fsl,imx8mq-usb-phy"; 11988c2ecf20Sopenharmony_ci reg = <0x382f0040 0x40>; 11998c2ecf20Sopenharmony_ci clocks = <&clk IMX8MQ_CLK_USB2_PHY_ROOT>; 12008c2ecf20Sopenharmony_ci clock-names = "phy"; 12018c2ecf20Sopenharmony_ci assigned-clocks = <&clk IMX8MQ_CLK_USB_PHY_REF>; 12028c2ecf20Sopenharmony_ci assigned-clock-parents = <&clk IMX8MQ_SYS1_PLL_100M>; 12038c2ecf20Sopenharmony_ci assigned-clock-rates = <100000000>; 12048c2ecf20Sopenharmony_ci #phy-cells = <0>; 12058c2ecf20Sopenharmony_ci status = "disabled"; 12068c2ecf20Sopenharmony_ci }; 12078c2ecf20Sopenharmony_ci 12088c2ecf20Sopenharmony_ci vpu: video-codec@38300000 { 12098c2ecf20Sopenharmony_ci compatible = "nxp,imx8mq-vpu"; 12108c2ecf20Sopenharmony_ci reg = <0x38300000 0x10000>, 12118c2ecf20Sopenharmony_ci <0x38310000 0x10000>, 12128c2ecf20Sopenharmony_ci <0x38320000 0x10000>; 12138c2ecf20Sopenharmony_ci reg-names = "g1", "g2", "ctrl"; 12148c2ecf20Sopenharmony_ci interrupts = <GIC_SPI 7 IRQ_TYPE_LEVEL_HIGH>, 12158c2ecf20Sopenharmony_ci <GIC_SPI 8 IRQ_TYPE_LEVEL_HIGH>; 12168c2ecf20Sopenharmony_ci interrupt-names = "g1", "g2"; 12178c2ecf20Sopenharmony_ci clocks = <&clk IMX8MQ_CLK_VPU_G1_ROOT>, 12188c2ecf20Sopenharmony_ci <&clk IMX8MQ_CLK_VPU_G2_ROOT>, 12198c2ecf20Sopenharmony_ci <&clk IMX8MQ_CLK_VPU_DEC_ROOT>; 12208c2ecf20Sopenharmony_ci clock-names = "g1", "g2", "bus"; 12218c2ecf20Sopenharmony_ci assigned-clocks = <&clk IMX8MQ_CLK_VPU_G1>, 12228c2ecf20Sopenharmony_ci <&clk IMX8MQ_CLK_VPU_G2>, 12238c2ecf20Sopenharmony_ci <&clk IMX8MQ_CLK_VPU_BUS>, 12248c2ecf20Sopenharmony_ci <&clk IMX8MQ_VPU_PLL_BYPASS>; 12258c2ecf20Sopenharmony_ci assigned-clock-parents = <&clk IMX8MQ_VPU_PLL_OUT>, 12268c2ecf20Sopenharmony_ci <&clk IMX8MQ_VPU_PLL_OUT>, 12278c2ecf20Sopenharmony_ci <&clk IMX8MQ_SYS1_PLL_800M>, 12288c2ecf20Sopenharmony_ci <&clk IMX8MQ_VPU_PLL>; 12298c2ecf20Sopenharmony_ci assigned-clock-rates = <600000000>, <600000000>, 12308c2ecf20Sopenharmony_ci <800000000>, <0>; 12318c2ecf20Sopenharmony_ci power-domains = <&pgc_vpu>; 12328c2ecf20Sopenharmony_ci }; 12338c2ecf20Sopenharmony_ci 12348c2ecf20Sopenharmony_ci pcie0: pcie@33800000 { 12358c2ecf20Sopenharmony_ci compatible = "fsl,imx8mq-pcie"; 12368c2ecf20Sopenharmony_ci reg = <0x33800000 0x400000>, 12378c2ecf20Sopenharmony_ci <0x1ff00000 0x80000>; 12388c2ecf20Sopenharmony_ci reg-names = "dbi", "config"; 12398c2ecf20Sopenharmony_ci #address-cells = <3>; 12408c2ecf20Sopenharmony_ci #size-cells = <2>; 12418c2ecf20Sopenharmony_ci device_type = "pci"; 12428c2ecf20Sopenharmony_ci bus-range = <0x00 0xff>; 12438c2ecf20Sopenharmony_ci ranges = <0x81000000 0 0x00000000 0x1ff80000 0 0x00010000 /* downstream I/O 64KB */ 12448c2ecf20Sopenharmony_ci 0x82000000 0 0x18000000 0x18000000 0 0x07f00000>; /* non-prefetchable memory */ 12458c2ecf20Sopenharmony_ci num-lanes = <1>; 12468c2ecf20Sopenharmony_ci num-viewport = <4>; 12478c2ecf20Sopenharmony_ci interrupts = <GIC_SPI 122 IRQ_TYPE_LEVEL_HIGH>; 12488c2ecf20Sopenharmony_ci interrupt-names = "msi"; 12498c2ecf20Sopenharmony_ci #interrupt-cells = <1>; 12508c2ecf20Sopenharmony_ci interrupt-map-mask = <0 0 0 0x7>; 12518c2ecf20Sopenharmony_ci interrupt-map = <0 0 0 1 &gic GIC_SPI 125 IRQ_TYPE_LEVEL_HIGH>, 12528c2ecf20Sopenharmony_ci <0 0 0 2 &gic GIC_SPI 124 IRQ_TYPE_LEVEL_HIGH>, 12538c2ecf20Sopenharmony_ci <0 0 0 3 &gic GIC_SPI 123 IRQ_TYPE_LEVEL_HIGH>, 12548c2ecf20Sopenharmony_ci <0 0 0 4 &gic GIC_SPI 122 IRQ_TYPE_LEVEL_HIGH>; 12558c2ecf20Sopenharmony_ci fsl,max-link-speed = <2>; 12568c2ecf20Sopenharmony_ci power-domains = <&pgc_pcie>; 12578c2ecf20Sopenharmony_ci resets = <&src IMX8MQ_RESET_PCIEPHY>, 12588c2ecf20Sopenharmony_ci <&src IMX8MQ_RESET_PCIE_CTRL_APPS_EN>, 12598c2ecf20Sopenharmony_ci <&src IMX8MQ_RESET_PCIE_CTRL_APPS_TURNOFF>; 12608c2ecf20Sopenharmony_ci reset-names = "pciephy", "apps", "turnoff"; 12618c2ecf20Sopenharmony_ci assigned-clocks = <&clk IMX8MQ_CLK_PCIE1_CTRL>, 12628c2ecf20Sopenharmony_ci <&clk IMX8MQ_CLK_PCIE1_PHY>, 12638c2ecf20Sopenharmony_ci <&clk IMX8MQ_CLK_PCIE1_AUX>; 12648c2ecf20Sopenharmony_ci assigned-clock-parents = <&clk IMX8MQ_SYS2_PLL_250M>, 12658c2ecf20Sopenharmony_ci <&clk IMX8MQ_SYS2_PLL_100M>, 12668c2ecf20Sopenharmony_ci <&clk IMX8MQ_SYS1_PLL_80M>; 12678c2ecf20Sopenharmony_ci assigned-clock-rates = <250000000>, <100000000>, 12688c2ecf20Sopenharmony_ci <10000000>; 12698c2ecf20Sopenharmony_ci status = "disabled"; 12708c2ecf20Sopenharmony_ci }; 12718c2ecf20Sopenharmony_ci 12728c2ecf20Sopenharmony_ci pcie1: pcie@33c00000 { 12738c2ecf20Sopenharmony_ci compatible = "fsl,imx8mq-pcie"; 12748c2ecf20Sopenharmony_ci reg = <0x33c00000 0x400000>, 12758c2ecf20Sopenharmony_ci <0x27f00000 0x80000>; 12768c2ecf20Sopenharmony_ci reg-names = "dbi", "config"; 12778c2ecf20Sopenharmony_ci #address-cells = <3>; 12788c2ecf20Sopenharmony_ci #size-cells = <2>; 12798c2ecf20Sopenharmony_ci device_type = "pci"; 12808c2ecf20Sopenharmony_ci ranges = <0x81000000 0 0x00000000 0x27f80000 0 0x00010000 /* downstream I/O 64KB */ 12818c2ecf20Sopenharmony_ci 0x82000000 0 0x20000000 0x20000000 0 0x07f00000>; /* non-prefetchable memory */ 12828c2ecf20Sopenharmony_ci num-lanes = <1>; 12838c2ecf20Sopenharmony_ci num-viewport = <4>; 12848c2ecf20Sopenharmony_ci interrupts = <GIC_SPI 74 IRQ_TYPE_LEVEL_HIGH>; 12858c2ecf20Sopenharmony_ci interrupt-names = "msi"; 12868c2ecf20Sopenharmony_ci #interrupt-cells = <1>; 12878c2ecf20Sopenharmony_ci interrupt-map-mask = <0 0 0 0x7>; 12888c2ecf20Sopenharmony_ci interrupt-map = <0 0 0 1 &gic GIC_SPI 77 IRQ_TYPE_LEVEL_HIGH>, 12898c2ecf20Sopenharmony_ci <0 0 0 2 &gic GIC_SPI 76 IRQ_TYPE_LEVEL_HIGH>, 12908c2ecf20Sopenharmony_ci <0 0 0 3 &gic GIC_SPI 75 IRQ_TYPE_LEVEL_HIGH>, 12918c2ecf20Sopenharmony_ci <0 0 0 4 &gic GIC_SPI 74 IRQ_TYPE_LEVEL_HIGH>; 12928c2ecf20Sopenharmony_ci fsl,max-link-speed = <2>; 12938c2ecf20Sopenharmony_ci power-domains = <&pgc_pcie>; 12948c2ecf20Sopenharmony_ci resets = <&src IMX8MQ_RESET_PCIEPHY2>, 12958c2ecf20Sopenharmony_ci <&src IMX8MQ_RESET_PCIE2_CTRL_APPS_EN>, 12968c2ecf20Sopenharmony_ci <&src IMX8MQ_RESET_PCIE2_CTRL_APPS_TURNOFF>; 12978c2ecf20Sopenharmony_ci reset-names = "pciephy", "apps", "turnoff"; 12988c2ecf20Sopenharmony_ci assigned-clocks = <&clk IMX8MQ_CLK_PCIE2_CTRL>, 12998c2ecf20Sopenharmony_ci <&clk IMX8MQ_CLK_PCIE2_PHY>, 13008c2ecf20Sopenharmony_ci <&clk IMX8MQ_CLK_PCIE2_AUX>; 13018c2ecf20Sopenharmony_ci assigned-clock-parents = <&clk IMX8MQ_SYS2_PLL_250M>, 13028c2ecf20Sopenharmony_ci <&clk IMX8MQ_SYS2_PLL_100M>, 13038c2ecf20Sopenharmony_ci <&clk IMX8MQ_SYS1_PLL_80M>; 13048c2ecf20Sopenharmony_ci assigned-clock-rates = <250000000>, <100000000>, 13058c2ecf20Sopenharmony_ci <10000000>; 13068c2ecf20Sopenharmony_ci status = "disabled"; 13078c2ecf20Sopenharmony_ci }; 13088c2ecf20Sopenharmony_ci 13098c2ecf20Sopenharmony_ci gic: interrupt-controller@38800000 { 13108c2ecf20Sopenharmony_ci compatible = "arm,gic-v3"; 13118c2ecf20Sopenharmony_ci reg = <0x38800000 0x10000>, /* GIC Dist */ 13128c2ecf20Sopenharmony_ci <0x38880000 0xc0000>, /* GICR */ 13138c2ecf20Sopenharmony_ci <0x31000000 0x2000>, /* GICC */ 13148c2ecf20Sopenharmony_ci <0x31010000 0x2000>, /* GICV */ 13158c2ecf20Sopenharmony_ci <0x31020000 0x2000>; /* GICH */ 13168c2ecf20Sopenharmony_ci #interrupt-cells = <3>; 13178c2ecf20Sopenharmony_ci interrupt-controller; 13188c2ecf20Sopenharmony_ci interrupts = <GIC_PPI 9 IRQ_TYPE_LEVEL_HIGH>; 13198c2ecf20Sopenharmony_ci interrupt-parent = <&gic>; 13208c2ecf20Sopenharmony_ci }; 13218c2ecf20Sopenharmony_ci 13228c2ecf20Sopenharmony_ci ddrc: memory-controller@3d400000 { 13238c2ecf20Sopenharmony_ci compatible = "fsl,imx8mq-ddrc", "fsl,imx8m-ddrc"; 13248c2ecf20Sopenharmony_ci reg = <0x3d400000 0x400000>; 13258c2ecf20Sopenharmony_ci clock-names = "core", "pll", "alt", "apb"; 13268c2ecf20Sopenharmony_ci clocks = <&clk IMX8MQ_CLK_DRAM_CORE>, 13278c2ecf20Sopenharmony_ci <&clk IMX8MQ_DRAM_PLL_OUT>, 13288c2ecf20Sopenharmony_ci <&clk IMX8MQ_CLK_DRAM_ALT>, 13298c2ecf20Sopenharmony_ci <&clk IMX8MQ_CLK_DRAM_APB>; 13308c2ecf20Sopenharmony_ci }; 13318c2ecf20Sopenharmony_ci 13328c2ecf20Sopenharmony_ci ddr-pmu@3d800000 { 13338c2ecf20Sopenharmony_ci compatible = "fsl,imx8mq-ddr-pmu", "fsl,imx8m-ddr-pmu"; 13348c2ecf20Sopenharmony_ci reg = <0x3d800000 0x400000>; 13358c2ecf20Sopenharmony_ci interrupt-parent = <&gic>; 13368c2ecf20Sopenharmony_ci interrupts = <GIC_SPI 98 IRQ_TYPE_LEVEL_HIGH>; 13378c2ecf20Sopenharmony_ci }; 13388c2ecf20Sopenharmony_ci }; 13398c2ecf20Sopenharmony_ci}; 1340