162306a36Sopenharmony_ci// SPDX-License-Identifier: (GPL-2.0+ OR MIT) 262306a36Sopenharmony_ci/* 362306a36Sopenharmony_ci * Copyright 2017 NXP 462306a36Sopenharmony_ci * Copyright (C) 2017-2018 Pengutronix, Lucas Stach <kernel@pengutronix.de> 562306a36Sopenharmony_ci */ 662306a36Sopenharmony_ci 762306a36Sopenharmony_ci#include <dt-bindings/clock/imx8mq-clock.h> 862306a36Sopenharmony_ci#include <dt-bindings/power/imx8mq-power.h> 962306a36Sopenharmony_ci#include <dt-bindings/reset/imx8mq-reset.h> 1062306a36Sopenharmony_ci#include <dt-bindings/gpio/gpio.h> 1162306a36Sopenharmony_ci#include "dt-bindings/input/input.h" 1262306a36Sopenharmony_ci#include <dt-bindings/interrupt-controller/arm-gic.h> 1362306a36Sopenharmony_ci#include <dt-bindings/thermal/thermal.h> 1462306a36Sopenharmony_ci#include <dt-bindings/interconnect/imx8mq.h> 1562306a36Sopenharmony_ci#include "imx8mq-pinfunc.h" 1662306a36Sopenharmony_ci 1762306a36Sopenharmony_ci/ { 1862306a36Sopenharmony_ci interrupt-parent = <&gpc>; 1962306a36Sopenharmony_ci 2062306a36Sopenharmony_ci #address-cells = <2>; 2162306a36Sopenharmony_ci #size-cells = <2>; 2262306a36Sopenharmony_ci 2362306a36Sopenharmony_ci aliases { 2462306a36Sopenharmony_ci ethernet0 = &fec1; 2562306a36Sopenharmony_ci gpio0 = &gpio1; 2662306a36Sopenharmony_ci gpio1 = &gpio2; 2762306a36Sopenharmony_ci gpio2 = &gpio3; 2862306a36Sopenharmony_ci gpio3 = &gpio4; 2962306a36Sopenharmony_ci gpio4 = &gpio5; 3062306a36Sopenharmony_ci i2c0 = &i2c1; 3162306a36Sopenharmony_ci i2c1 = &i2c2; 3262306a36Sopenharmony_ci i2c2 = &i2c3; 3362306a36Sopenharmony_ci i2c3 = &i2c4; 3462306a36Sopenharmony_ci mmc0 = &usdhc1; 3562306a36Sopenharmony_ci mmc1 = &usdhc2; 3662306a36Sopenharmony_ci serial0 = &uart1; 3762306a36Sopenharmony_ci serial1 = &uart2; 3862306a36Sopenharmony_ci serial2 = &uart3; 3962306a36Sopenharmony_ci serial3 = &uart4; 4062306a36Sopenharmony_ci spi0 = &ecspi1; 4162306a36Sopenharmony_ci spi1 = &ecspi2; 4262306a36Sopenharmony_ci spi2 = &ecspi3; 4362306a36Sopenharmony_ci }; 4462306a36Sopenharmony_ci 4562306a36Sopenharmony_ci ckil: clock-ckil { 4662306a36Sopenharmony_ci compatible = "fixed-clock"; 4762306a36Sopenharmony_ci #clock-cells = <0>; 4862306a36Sopenharmony_ci clock-frequency = <32768>; 4962306a36Sopenharmony_ci clock-output-names = "ckil"; 5062306a36Sopenharmony_ci }; 5162306a36Sopenharmony_ci 5262306a36Sopenharmony_ci osc_25m: clock-osc-25m { 5362306a36Sopenharmony_ci compatible = "fixed-clock"; 5462306a36Sopenharmony_ci #clock-cells = <0>; 5562306a36Sopenharmony_ci clock-frequency = <25000000>; 5662306a36Sopenharmony_ci clock-output-names = "osc_25m"; 5762306a36Sopenharmony_ci }; 5862306a36Sopenharmony_ci 5962306a36Sopenharmony_ci osc_27m: clock-osc-27m { 6062306a36Sopenharmony_ci compatible = "fixed-clock"; 6162306a36Sopenharmony_ci #clock-cells = <0>; 6262306a36Sopenharmony_ci clock-frequency = <27000000>; 6362306a36Sopenharmony_ci clock-output-names = "osc_27m"; 6462306a36Sopenharmony_ci }; 6562306a36Sopenharmony_ci 6662306a36Sopenharmony_ci hdmi_phy_27m: clock-hdmi-phy-27m { 6762306a36Sopenharmony_ci compatible = "fixed-clock"; 6862306a36Sopenharmony_ci #clock-cells = <0>; 6962306a36Sopenharmony_ci clock-frequency = <27000000>; 7062306a36Sopenharmony_ci clock-output-names = "hdmi_phy_27m"; 7162306a36Sopenharmony_ci }; 7262306a36Sopenharmony_ci 7362306a36Sopenharmony_ci clk_ext1: clock-ext1 { 7462306a36Sopenharmony_ci compatible = "fixed-clock"; 7562306a36Sopenharmony_ci #clock-cells = <0>; 7662306a36Sopenharmony_ci clock-frequency = <133000000>; 7762306a36Sopenharmony_ci clock-output-names = "clk_ext1"; 7862306a36Sopenharmony_ci }; 7962306a36Sopenharmony_ci 8062306a36Sopenharmony_ci clk_ext2: clock-ext2 { 8162306a36Sopenharmony_ci compatible = "fixed-clock"; 8262306a36Sopenharmony_ci #clock-cells = <0>; 8362306a36Sopenharmony_ci clock-frequency = <133000000>; 8462306a36Sopenharmony_ci clock-output-names = "clk_ext2"; 8562306a36Sopenharmony_ci }; 8662306a36Sopenharmony_ci 8762306a36Sopenharmony_ci clk_ext3: clock-ext3 { 8862306a36Sopenharmony_ci compatible = "fixed-clock"; 8962306a36Sopenharmony_ci #clock-cells = <0>; 9062306a36Sopenharmony_ci clock-frequency = <133000000>; 9162306a36Sopenharmony_ci clock-output-names = "clk_ext3"; 9262306a36Sopenharmony_ci }; 9362306a36Sopenharmony_ci 9462306a36Sopenharmony_ci clk_ext4: clock-ext4 { 9562306a36Sopenharmony_ci compatible = "fixed-clock"; 9662306a36Sopenharmony_ci #clock-cells = <0>; 9762306a36Sopenharmony_ci clock-frequency = <133000000>; 9862306a36Sopenharmony_ci clock-output-names = "clk_ext4"; 9962306a36Sopenharmony_ci }; 10062306a36Sopenharmony_ci 10162306a36Sopenharmony_ci cpus { 10262306a36Sopenharmony_ci #address-cells = <1>; 10362306a36Sopenharmony_ci #size-cells = <0>; 10462306a36Sopenharmony_ci 10562306a36Sopenharmony_ci A53_0: cpu@0 { 10662306a36Sopenharmony_ci device_type = "cpu"; 10762306a36Sopenharmony_ci compatible = "arm,cortex-a53"; 10862306a36Sopenharmony_ci reg = <0x0>; 10962306a36Sopenharmony_ci clock-latency = <61036>; /* two CLK32 periods */ 11062306a36Sopenharmony_ci clocks = <&clk IMX8MQ_CLK_ARM>; 11162306a36Sopenharmony_ci enable-method = "psci"; 11262306a36Sopenharmony_ci i-cache-size = <0x8000>; 11362306a36Sopenharmony_ci i-cache-line-size = <64>; 11462306a36Sopenharmony_ci i-cache-sets = <256>; 11562306a36Sopenharmony_ci d-cache-size = <0x8000>; 11662306a36Sopenharmony_ci d-cache-line-size = <64>; 11762306a36Sopenharmony_ci d-cache-sets = <128>; 11862306a36Sopenharmony_ci next-level-cache = <&A53_L2>; 11962306a36Sopenharmony_ci operating-points-v2 = <&a53_opp_table>; 12062306a36Sopenharmony_ci #cooling-cells = <2>; 12162306a36Sopenharmony_ci nvmem-cells = <&cpu_speed_grade>; 12262306a36Sopenharmony_ci nvmem-cell-names = "speed_grade"; 12362306a36Sopenharmony_ci }; 12462306a36Sopenharmony_ci 12562306a36Sopenharmony_ci A53_1: cpu@1 { 12662306a36Sopenharmony_ci device_type = "cpu"; 12762306a36Sopenharmony_ci compatible = "arm,cortex-a53"; 12862306a36Sopenharmony_ci reg = <0x1>; 12962306a36Sopenharmony_ci clock-latency = <61036>; /* two CLK32 periods */ 13062306a36Sopenharmony_ci clocks = <&clk IMX8MQ_CLK_ARM>; 13162306a36Sopenharmony_ci enable-method = "psci"; 13262306a36Sopenharmony_ci i-cache-size = <0x8000>; 13362306a36Sopenharmony_ci i-cache-line-size = <64>; 13462306a36Sopenharmony_ci i-cache-sets = <256>; 13562306a36Sopenharmony_ci d-cache-size = <0x8000>; 13662306a36Sopenharmony_ci d-cache-line-size = <64>; 13762306a36Sopenharmony_ci d-cache-sets = <128>; 13862306a36Sopenharmony_ci next-level-cache = <&A53_L2>; 13962306a36Sopenharmony_ci operating-points-v2 = <&a53_opp_table>; 14062306a36Sopenharmony_ci #cooling-cells = <2>; 14162306a36Sopenharmony_ci }; 14262306a36Sopenharmony_ci 14362306a36Sopenharmony_ci A53_2: cpu@2 { 14462306a36Sopenharmony_ci device_type = "cpu"; 14562306a36Sopenharmony_ci compatible = "arm,cortex-a53"; 14662306a36Sopenharmony_ci reg = <0x2>; 14762306a36Sopenharmony_ci clock-latency = <61036>; /* two CLK32 periods */ 14862306a36Sopenharmony_ci clocks = <&clk IMX8MQ_CLK_ARM>; 14962306a36Sopenharmony_ci enable-method = "psci"; 15062306a36Sopenharmony_ci i-cache-size = <0x8000>; 15162306a36Sopenharmony_ci i-cache-line-size = <64>; 15262306a36Sopenharmony_ci i-cache-sets = <256>; 15362306a36Sopenharmony_ci d-cache-size = <0x8000>; 15462306a36Sopenharmony_ci d-cache-line-size = <64>; 15562306a36Sopenharmony_ci d-cache-sets = <128>; 15662306a36Sopenharmony_ci next-level-cache = <&A53_L2>; 15762306a36Sopenharmony_ci operating-points-v2 = <&a53_opp_table>; 15862306a36Sopenharmony_ci #cooling-cells = <2>; 15962306a36Sopenharmony_ci }; 16062306a36Sopenharmony_ci 16162306a36Sopenharmony_ci A53_3: cpu@3 { 16262306a36Sopenharmony_ci device_type = "cpu"; 16362306a36Sopenharmony_ci compatible = "arm,cortex-a53"; 16462306a36Sopenharmony_ci reg = <0x3>; 16562306a36Sopenharmony_ci clock-latency = <61036>; /* two CLK32 periods */ 16662306a36Sopenharmony_ci clocks = <&clk IMX8MQ_CLK_ARM>; 16762306a36Sopenharmony_ci enable-method = "psci"; 16862306a36Sopenharmony_ci i-cache-size = <0x8000>; 16962306a36Sopenharmony_ci i-cache-line-size = <64>; 17062306a36Sopenharmony_ci i-cache-sets = <256>; 17162306a36Sopenharmony_ci d-cache-size = <0x8000>; 17262306a36Sopenharmony_ci d-cache-line-size = <64>; 17362306a36Sopenharmony_ci d-cache-sets = <128>; 17462306a36Sopenharmony_ci next-level-cache = <&A53_L2>; 17562306a36Sopenharmony_ci operating-points-v2 = <&a53_opp_table>; 17662306a36Sopenharmony_ci #cooling-cells = <2>; 17762306a36Sopenharmony_ci }; 17862306a36Sopenharmony_ci 17962306a36Sopenharmony_ci A53_L2: l2-cache0 { 18062306a36Sopenharmony_ci compatible = "cache"; 18162306a36Sopenharmony_ci cache-level = <2>; 18262306a36Sopenharmony_ci cache-unified; 18362306a36Sopenharmony_ci cache-size = <0x100000>; 18462306a36Sopenharmony_ci cache-line-size = <64>; 18562306a36Sopenharmony_ci cache-sets = <1024>; 18662306a36Sopenharmony_ci }; 18762306a36Sopenharmony_ci }; 18862306a36Sopenharmony_ci 18962306a36Sopenharmony_ci a53_opp_table: opp-table { 19062306a36Sopenharmony_ci compatible = "operating-points-v2"; 19162306a36Sopenharmony_ci opp-shared; 19262306a36Sopenharmony_ci 19362306a36Sopenharmony_ci opp-800000000 { 19462306a36Sopenharmony_ci opp-hz = /bits/ 64 <800000000>; 19562306a36Sopenharmony_ci opp-microvolt = <900000>; 19662306a36Sopenharmony_ci /* Industrial only */ 19762306a36Sopenharmony_ci opp-supported-hw = <0xf>, <0x4>; 19862306a36Sopenharmony_ci clock-latency-ns = <150000>; 19962306a36Sopenharmony_ci opp-suspend; 20062306a36Sopenharmony_ci }; 20162306a36Sopenharmony_ci 20262306a36Sopenharmony_ci opp-1000000000 { 20362306a36Sopenharmony_ci opp-hz = /bits/ 64 <1000000000>; 20462306a36Sopenharmony_ci opp-microvolt = <900000>; 20562306a36Sopenharmony_ci /* Consumer only */ 20662306a36Sopenharmony_ci opp-supported-hw = <0xe>, <0x3>; 20762306a36Sopenharmony_ci clock-latency-ns = <150000>; 20862306a36Sopenharmony_ci opp-suspend; 20962306a36Sopenharmony_ci }; 21062306a36Sopenharmony_ci 21162306a36Sopenharmony_ci opp-1300000000 { 21262306a36Sopenharmony_ci opp-hz = /bits/ 64 <1300000000>; 21362306a36Sopenharmony_ci opp-microvolt = <1000000>; 21462306a36Sopenharmony_ci opp-supported-hw = <0xc>, <0x4>; 21562306a36Sopenharmony_ci clock-latency-ns = <150000>; 21662306a36Sopenharmony_ci opp-suspend; 21762306a36Sopenharmony_ci }; 21862306a36Sopenharmony_ci 21962306a36Sopenharmony_ci opp-1500000000 { 22062306a36Sopenharmony_ci opp-hz = /bits/ 64 <1500000000>; 22162306a36Sopenharmony_ci opp-microvolt = <1000000>; 22262306a36Sopenharmony_ci opp-supported-hw = <0x8>, <0x3>; 22362306a36Sopenharmony_ci clock-latency-ns = <150000>; 22462306a36Sopenharmony_ci opp-suspend; 22562306a36Sopenharmony_ci }; 22662306a36Sopenharmony_ci }; 22762306a36Sopenharmony_ci 22862306a36Sopenharmony_ci pmu { 22962306a36Sopenharmony_ci compatible = "arm,cortex-a53-pmu"; 23062306a36Sopenharmony_ci interrupts = <GIC_PPI 7 IRQ_TYPE_LEVEL_HIGH>; 23162306a36Sopenharmony_ci interrupt-parent = <&gic>; 23262306a36Sopenharmony_ci }; 23362306a36Sopenharmony_ci 23462306a36Sopenharmony_ci psci { 23562306a36Sopenharmony_ci compatible = "arm,psci-1.0"; 23662306a36Sopenharmony_ci method = "smc"; 23762306a36Sopenharmony_ci }; 23862306a36Sopenharmony_ci 23962306a36Sopenharmony_ci thermal-zones { 24062306a36Sopenharmony_ci cpu_thermal: cpu-thermal { 24162306a36Sopenharmony_ci polling-delay-passive = <250>; 24262306a36Sopenharmony_ci polling-delay = <2000>; 24362306a36Sopenharmony_ci thermal-sensors = <&tmu 0>; 24462306a36Sopenharmony_ci 24562306a36Sopenharmony_ci trips { 24662306a36Sopenharmony_ci cpu_alert: cpu-alert { 24762306a36Sopenharmony_ci temperature = <80000>; 24862306a36Sopenharmony_ci hysteresis = <2000>; 24962306a36Sopenharmony_ci type = "passive"; 25062306a36Sopenharmony_ci }; 25162306a36Sopenharmony_ci 25262306a36Sopenharmony_ci cpu-crit { 25362306a36Sopenharmony_ci temperature = <90000>; 25462306a36Sopenharmony_ci hysteresis = <2000>; 25562306a36Sopenharmony_ci type = "critical"; 25662306a36Sopenharmony_ci }; 25762306a36Sopenharmony_ci }; 25862306a36Sopenharmony_ci 25962306a36Sopenharmony_ci cooling-maps { 26062306a36Sopenharmony_ci map0 { 26162306a36Sopenharmony_ci trip = <&cpu_alert>; 26262306a36Sopenharmony_ci cooling-device = 26362306a36Sopenharmony_ci <&A53_0 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>, 26462306a36Sopenharmony_ci <&A53_1 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>, 26562306a36Sopenharmony_ci <&A53_2 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>, 26662306a36Sopenharmony_ci <&A53_3 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>; 26762306a36Sopenharmony_ci }; 26862306a36Sopenharmony_ci }; 26962306a36Sopenharmony_ci }; 27062306a36Sopenharmony_ci 27162306a36Sopenharmony_ci gpu-thermal { 27262306a36Sopenharmony_ci polling-delay-passive = <250>; 27362306a36Sopenharmony_ci polling-delay = <2000>; 27462306a36Sopenharmony_ci thermal-sensors = <&tmu 1>; 27562306a36Sopenharmony_ci 27662306a36Sopenharmony_ci trips { 27762306a36Sopenharmony_ci gpu_alert: gpu-alert { 27862306a36Sopenharmony_ci temperature = <80000>; 27962306a36Sopenharmony_ci hysteresis = <2000>; 28062306a36Sopenharmony_ci type = "passive"; 28162306a36Sopenharmony_ci }; 28262306a36Sopenharmony_ci 28362306a36Sopenharmony_ci gpu-crit { 28462306a36Sopenharmony_ci temperature = <90000>; 28562306a36Sopenharmony_ci hysteresis = <2000>; 28662306a36Sopenharmony_ci type = "critical"; 28762306a36Sopenharmony_ci }; 28862306a36Sopenharmony_ci }; 28962306a36Sopenharmony_ci 29062306a36Sopenharmony_ci cooling-maps { 29162306a36Sopenharmony_ci map0 { 29262306a36Sopenharmony_ci trip = <&gpu_alert>; 29362306a36Sopenharmony_ci cooling-device = 29462306a36Sopenharmony_ci <&gpu THERMAL_NO_LIMIT THERMAL_NO_LIMIT>; 29562306a36Sopenharmony_ci }; 29662306a36Sopenharmony_ci }; 29762306a36Sopenharmony_ci }; 29862306a36Sopenharmony_ci 29962306a36Sopenharmony_ci vpu-thermal { 30062306a36Sopenharmony_ci polling-delay-passive = <250>; 30162306a36Sopenharmony_ci polling-delay = <2000>; 30262306a36Sopenharmony_ci thermal-sensors = <&tmu 2>; 30362306a36Sopenharmony_ci 30462306a36Sopenharmony_ci trips { 30562306a36Sopenharmony_ci vpu-crit { 30662306a36Sopenharmony_ci temperature = <90000>; 30762306a36Sopenharmony_ci hysteresis = <2000>; 30862306a36Sopenharmony_ci type = "critical"; 30962306a36Sopenharmony_ci }; 31062306a36Sopenharmony_ci }; 31162306a36Sopenharmony_ci }; 31262306a36Sopenharmony_ci }; 31362306a36Sopenharmony_ci 31462306a36Sopenharmony_ci timer { 31562306a36Sopenharmony_ci compatible = "arm,armv8-timer"; 31662306a36Sopenharmony_ci interrupts = <GIC_PPI 13 IRQ_TYPE_LEVEL_LOW>, /* Physical Secure */ 31762306a36Sopenharmony_ci <GIC_PPI 14 IRQ_TYPE_LEVEL_LOW>, /* Physical Non-Secure */ 31862306a36Sopenharmony_ci <GIC_PPI 11 IRQ_TYPE_LEVEL_LOW>, /* Virtual */ 31962306a36Sopenharmony_ci <GIC_PPI 10 IRQ_TYPE_LEVEL_LOW>; /* Hypervisor */ 32062306a36Sopenharmony_ci interrupt-parent = <&gic>; 32162306a36Sopenharmony_ci arm,no-tick-in-suspend; 32262306a36Sopenharmony_ci }; 32362306a36Sopenharmony_ci 32462306a36Sopenharmony_ci soc: soc@0 { 32562306a36Sopenharmony_ci compatible = "fsl,imx8mq-soc", "simple-bus"; 32662306a36Sopenharmony_ci #address-cells = <1>; 32762306a36Sopenharmony_ci #size-cells = <1>; 32862306a36Sopenharmony_ci ranges = <0x0 0x0 0x0 0x3e000000>; 32962306a36Sopenharmony_ci dma-ranges = <0x40000000 0x0 0x40000000 0xc0000000>; 33062306a36Sopenharmony_ci nvmem-cells = <&imx8mq_uid>; 33162306a36Sopenharmony_ci nvmem-cell-names = "soc_unique_id"; 33262306a36Sopenharmony_ci 33362306a36Sopenharmony_ci etm0: etm@28440000 { 33462306a36Sopenharmony_ci compatible = "arm,coresight-etm4x", "arm,primecell"; 33562306a36Sopenharmony_ci reg = <0x28440000 0x1000>; 33662306a36Sopenharmony_ci cpu = <&A53_0>; 33762306a36Sopenharmony_ci clocks = <&clk IMX8MQ_CLK_MAIN_AXI>; 33862306a36Sopenharmony_ci clock-names = "apb_pclk"; 33962306a36Sopenharmony_ci 34062306a36Sopenharmony_ci out-ports { 34162306a36Sopenharmony_ci port { 34262306a36Sopenharmony_ci etm0_out_port: endpoint { 34362306a36Sopenharmony_ci remote-endpoint = <&ca_funnel_in_port0>; 34462306a36Sopenharmony_ci }; 34562306a36Sopenharmony_ci }; 34662306a36Sopenharmony_ci }; 34762306a36Sopenharmony_ci }; 34862306a36Sopenharmony_ci 34962306a36Sopenharmony_ci etm1: etm@28540000 { 35062306a36Sopenharmony_ci compatible = "arm,coresight-etm4x", "arm,primecell"; 35162306a36Sopenharmony_ci reg = <0x28540000 0x1000>; 35262306a36Sopenharmony_ci cpu = <&A53_1>; 35362306a36Sopenharmony_ci clocks = <&clk IMX8MQ_CLK_MAIN_AXI>; 35462306a36Sopenharmony_ci clock-names = "apb_pclk"; 35562306a36Sopenharmony_ci 35662306a36Sopenharmony_ci out-ports { 35762306a36Sopenharmony_ci port { 35862306a36Sopenharmony_ci etm1_out_port: endpoint { 35962306a36Sopenharmony_ci remote-endpoint = <&ca_funnel_in_port1>; 36062306a36Sopenharmony_ci }; 36162306a36Sopenharmony_ci }; 36262306a36Sopenharmony_ci }; 36362306a36Sopenharmony_ci }; 36462306a36Sopenharmony_ci 36562306a36Sopenharmony_ci etm2: etm@28640000 { 36662306a36Sopenharmony_ci compatible = "arm,coresight-etm4x", "arm,primecell"; 36762306a36Sopenharmony_ci reg = <0x28640000 0x1000>; 36862306a36Sopenharmony_ci cpu = <&A53_2>; 36962306a36Sopenharmony_ci clocks = <&clk IMX8MQ_CLK_MAIN_AXI>; 37062306a36Sopenharmony_ci clock-names = "apb_pclk"; 37162306a36Sopenharmony_ci 37262306a36Sopenharmony_ci out-ports { 37362306a36Sopenharmony_ci port { 37462306a36Sopenharmony_ci etm2_out_port: endpoint { 37562306a36Sopenharmony_ci remote-endpoint = <&ca_funnel_in_port2>; 37662306a36Sopenharmony_ci }; 37762306a36Sopenharmony_ci }; 37862306a36Sopenharmony_ci }; 37962306a36Sopenharmony_ci }; 38062306a36Sopenharmony_ci 38162306a36Sopenharmony_ci etm3: etm@28740000 { 38262306a36Sopenharmony_ci compatible = "arm,coresight-etm4x", "arm,primecell"; 38362306a36Sopenharmony_ci reg = <0x28740000 0x1000>; 38462306a36Sopenharmony_ci cpu = <&A53_3>; 38562306a36Sopenharmony_ci clocks = <&clk IMX8MQ_CLK_MAIN_AXI>; 38662306a36Sopenharmony_ci clock-names = "apb_pclk"; 38762306a36Sopenharmony_ci 38862306a36Sopenharmony_ci out-ports { 38962306a36Sopenharmony_ci port { 39062306a36Sopenharmony_ci etm3_out_port: endpoint { 39162306a36Sopenharmony_ci remote-endpoint = <&ca_funnel_in_port3>; 39262306a36Sopenharmony_ci }; 39362306a36Sopenharmony_ci }; 39462306a36Sopenharmony_ci }; 39562306a36Sopenharmony_ci }; 39662306a36Sopenharmony_ci 39762306a36Sopenharmony_ci funnel { 39862306a36Sopenharmony_ci /* 39962306a36Sopenharmony_ci * non-configurable funnel don't show up on the AMBA 40062306a36Sopenharmony_ci * bus. As such no need to add "arm,primecell". 40162306a36Sopenharmony_ci */ 40262306a36Sopenharmony_ci compatible = "arm,coresight-static-funnel"; 40362306a36Sopenharmony_ci 40462306a36Sopenharmony_ci in-ports { 40562306a36Sopenharmony_ci #address-cells = <1>; 40662306a36Sopenharmony_ci #size-cells = <0>; 40762306a36Sopenharmony_ci 40862306a36Sopenharmony_ci port@0 { 40962306a36Sopenharmony_ci reg = <0>; 41062306a36Sopenharmony_ci 41162306a36Sopenharmony_ci ca_funnel_in_port0: endpoint { 41262306a36Sopenharmony_ci remote-endpoint = <&etm0_out_port>; 41362306a36Sopenharmony_ci }; 41462306a36Sopenharmony_ci }; 41562306a36Sopenharmony_ci 41662306a36Sopenharmony_ci port@1 { 41762306a36Sopenharmony_ci reg = <1>; 41862306a36Sopenharmony_ci 41962306a36Sopenharmony_ci ca_funnel_in_port1: endpoint { 42062306a36Sopenharmony_ci remote-endpoint = <&etm1_out_port>; 42162306a36Sopenharmony_ci }; 42262306a36Sopenharmony_ci }; 42362306a36Sopenharmony_ci 42462306a36Sopenharmony_ci port@2 { 42562306a36Sopenharmony_ci reg = <2>; 42662306a36Sopenharmony_ci 42762306a36Sopenharmony_ci ca_funnel_in_port2: endpoint { 42862306a36Sopenharmony_ci remote-endpoint = <&etm2_out_port>; 42962306a36Sopenharmony_ci }; 43062306a36Sopenharmony_ci }; 43162306a36Sopenharmony_ci 43262306a36Sopenharmony_ci port@3 { 43362306a36Sopenharmony_ci reg = <3>; 43462306a36Sopenharmony_ci 43562306a36Sopenharmony_ci ca_funnel_in_port3: endpoint { 43662306a36Sopenharmony_ci remote-endpoint = <&etm3_out_port>; 43762306a36Sopenharmony_ci }; 43862306a36Sopenharmony_ci }; 43962306a36Sopenharmony_ci }; 44062306a36Sopenharmony_ci 44162306a36Sopenharmony_ci out-ports { 44262306a36Sopenharmony_ci port { 44362306a36Sopenharmony_ci ca_funnel_out_port0: endpoint { 44462306a36Sopenharmony_ci remote-endpoint = <&hugo_funnel_in_port0>; 44562306a36Sopenharmony_ci }; 44662306a36Sopenharmony_ci }; 44762306a36Sopenharmony_ci }; 44862306a36Sopenharmony_ci }; 44962306a36Sopenharmony_ci 45062306a36Sopenharmony_ci funnel@28c03000 { 45162306a36Sopenharmony_ci compatible = "arm,coresight-dynamic-funnel", "arm,primecell"; 45262306a36Sopenharmony_ci reg = <0x28c03000 0x1000>; 45362306a36Sopenharmony_ci clocks = <&clk IMX8MQ_CLK_MAIN_AXI>; 45462306a36Sopenharmony_ci clock-names = "apb_pclk"; 45562306a36Sopenharmony_ci 45662306a36Sopenharmony_ci in-ports { 45762306a36Sopenharmony_ci #address-cells = <1>; 45862306a36Sopenharmony_ci #size-cells = <0>; 45962306a36Sopenharmony_ci 46062306a36Sopenharmony_ci port@0 { 46162306a36Sopenharmony_ci reg = <0>; 46262306a36Sopenharmony_ci 46362306a36Sopenharmony_ci hugo_funnel_in_port0: endpoint { 46462306a36Sopenharmony_ci remote-endpoint = <&ca_funnel_out_port0>; 46562306a36Sopenharmony_ci }; 46662306a36Sopenharmony_ci }; 46762306a36Sopenharmony_ci 46862306a36Sopenharmony_ci port@1 { 46962306a36Sopenharmony_ci reg = <1>; 47062306a36Sopenharmony_ci 47162306a36Sopenharmony_ci hugo_funnel_in_port1: endpoint { 47262306a36Sopenharmony_ci /* M4 input */ 47362306a36Sopenharmony_ci }; 47462306a36Sopenharmony_ci }; 47562306a36Sopenharmony_ci /* the other input ports are not connect to anything */ 47662306a36Sopenharmony_ci }; 47762306a36Sopenharmony_ci 47862306a36Sopenharmony_ci out-ports { 47962306a36Sopenharmony_ci port { 48062306a36Sopenharmony_ci hugo_funnel_out_port0: endpoint { 48162306a36Sopenharmony_ci remote-endpoint = <&etf_in_port>; 48262306a36Sopenharmony_ci }; 48362306a36Sopenharmony_ci }; 48462306a36Sopenharmony_ci }; 48562306a36Sopenharmony_ci }; 48662306a36Sopenharmony_ci 48762306a36Sopenharmony_ci etf@28c04000 { 48862306a36Sopenharmony_ci compatible = "arm,coresight-tmc", "arm,primecell"; 48962306a36Sopenharmony_ci reg = <0x28c04000 0x1000>; 49062306a36Sopenharmony_ci clocks = <&clk IMX8MQ_CLK_MAIN_AXI>; 49162306a36Sopenharmony_ci clock-names = "apb_pclk"; 49262306a36Sopenharmony_ci 49362306a36Sopenharmony_ci in-ports { 49462306a36Sopenharmony_ci port { 49562306a36Sopenharmony_ci etf_in_port: endpoint { 49662306a36Sopenharmony_ci remote-endpoint = <&hugo_funnel_out_port0>; 49762306a36Sopenharmony_ci }; 49862306a36Sopenharmony_ci }; 49962306a36Sopenharmony_ci }; 50062306a36Sopenharmony_ci 50162306a36Sopenharmony_ci out-ports { 50262306a36Sopenharmony_ci port { 50362306a36Sopenharmony_ci etf_out_port: endpoint { 50462306a36Sopenharmony_ci remote-endpoint = <&etr_in_port>; 50562306a36Sopenharmony_ci }; 50662306a36Sopenharmony_ci }; 50762306a36Sopenharmony_ci }; 50862306a36Sopenharmony_ci }; 50962306a36Sopenharmony_ci 51062306a36Sopenharmony_ci etr@28c06000 { 51162306a36Sopenharmony_ci compatible = "arm,coresight-tmc", "arm,primecell"; 51262306a36Sopenharmony_ci reg = <0x28c06000 0x1000>; 51362306a36Sopenharmony_ci clocks = <&clk IMX8MQ_CLK_MAIN_AXI>; 51462306a36Sopenharmony_ci clock-names = "apb_pclk"; 51562306a36Sopenharmony_ci 51662306a36Sopenharmony_ci in-ports { 51762306a36Sopenharmony_ci port { 51862306a36Sopenharmony_ci etr_in_port: endpoint { 51962306a36Sopenharmony_ci remote-endpoint = <&etf_out_port>; 52062306a36Sopenharmony_ci }; 52162306a36Sopenharmony_ci }; 52262306a36Sopenharmony_ci }; 52362306a36Sopenharmony_ci }; 52462306a36Sopenharmony_ci 52562306a36Sopenharmony_ci aips1: bus@30000000 { /* AIPS1 */ 52662306a36Sopenharmony_ci compatible = "fsl,aips-bus", "simple-bus"; 52762306a36Sopenharmony_ci reg = <0x30000000 0x400000>; 52862306a36Sopenharmony_ci #address-cells = <1>; 52962306a36Sopenharmony_ci #size-cells = <1>; 53062306a36Sopenharmony_ci ranges = <0x30000000 0x30000000 0x400000>; 53162306a36Sopenharmony_ci 53262306a36Sopenharmony_ci sai1: sai@30010000 { 53362306a36Sopenharmony_ci #sound-dai-cells = <0>; 53462306a36Sopenharmony_ci compatible = "fsl,imx8mq-sai"; 53562306a36Sopenharmony_ci reg = <0x30010000 0x10000>; 53662306a36Sopenharmony_ci interrupts = <GIC_SPI 95 IRQ_TYPE_LEVEL_HIGH>; 53762306a36Sopenharmony_ci clocks = <&clk IMX8MQ_CLK_SAI1_IPG>, 53862306a36Sopenharmony_ci <&clk IMX8MQ_CLK_SAI1_ROOT>, 53962306a36Sopenharmony_ci <&clk IMX8MQ_CLK_DUMMY>, <&clk IMX8MQ_CLK_DUMMY>; 54062306a36Sopenharmony_ci clock-names = "bus", "mclk1", "mclk2", "mclk3"; 54162306a36Sopenharmony_ci dmas = <&sdma2 8 24 0>, <&sdma1 9 24 0>; 54262306a36Sopenharmony_ci dma-names = "rx", "tx"; 54362306a36Sopenharmony_ci status = "disabled"; 54462306a36Sopenharmony_ci }; 54562306a36Sopenharmony_ci 54662306a36Sopenharmony_ci sai6: sai@30030000 { 54762306a36Sopenharmony_ci #sound-dai-cells = <0>; 54862306a36Sopenharmony_ci compatible = "fsl,imx8mq-sai"; 54962306a36Sopenharmony_ci reg = <0x30030000 0x10000>; 55062306a36Sopenharmony_ci interrupts = <GIC_SPI 90 IRQ_TYPE_LEVEL_HIGH>; 55162306a36Sopenharmony_ci clocks = <&clk IMX8MQ_CLK_SAI6_IPG>, 55262306a36Sopenharmony_ci <&clk IMX8MQ_CLK_SAI6_ROOT>, 55362306a36Sopenharmony_ci <&clk IMX8MQ_CLK_DUMMY>, <&clk IMX8MQ_CLK_DUMMY>; 55462306a36Sopenharmony_ci clock-names = "bus", "mclk1", "mclk2", "mclk3"; 55562306a36Sopenharmony_ci dmas = <&sdma2 4 24 0>, <&sdma2 5 24 0>; 55662306a36Sopenharmony_ci dma-names = "rx", "tx"; 55762306a36Sopenharmony_ci status = "disabled"; 55862306a36Sopenharmony_ci }; 55962306a36Sopenharmony_ci 56062306a36Sopenharmony_ci sai5: sai@30040000 { 56162306a36Sopenharmony_ci #sound-dai-cells = <0>; 56262306a36Sopenharmony_ci compatible = "fsl,imx8mq-sai"; 56362306a36Sopenharmony_ci reg = <0x30040000 0x10000>; 56462306a36Sopenharmony_ci interrupts = <GIC_SPI 90 IRQ_TYPE_LEVEL_HIGH>; 56562306a36Sopenharmony_ci clocks = <&clk IMX8MQ_CLK_SAI5_IPG>, 56662306a36Sopenharmony_ci <&clk IMX8MQ_CLK_SAI5_ROOT>, 56762306a36Sopenharmony_ci <&clk IMX8MQ_CLK_DUMMY>, <&clk IMX8MQ_CLK_DUMMY>; 56862306a36Sopenharmony_ci clock-names = "bus", "mclk1", "mclk2", "mclk3"; 56962306a36Sopenharmony_ci dmas = <&sdma2 2 24 0>, <&sdma2 3 24 0>; 57062306a36Sopenharmony_ci dma-names = "rx", "tx"; 57162306a36Sopenharmony_ci status = "disabled"; 57262306a36Sopenharmony_ci }; 57362306a36Sopenharmony_ci 57462306a36Sopenharmony_ci sai4: sai@30050000 { 57562306a36Sopenharmony_ci #sound-dai-cells = <0>; 57662306a36Sopenharmony_ci compatible = "fsl,imx8mq-sai"; 57762306a36Sopenharmony_ci reg = <0x30050000 0x10000>; 57862306a36Sopenharmony_ci interrupts = <GIC_SPI 100 IRQ_TYPE_LEVEL_HIGH>; 57962306a36Sopenharmony_ci clocks = <&clk IMX8MQ_CLK_SAI4_IPG>, 58062306a36Sopenharmony_ci <&clk IMX8MQ_CLK_SAI4_ROOT>, 58162306a36Sopenharmony_ci <&clk IMX8MQ_CLK_DUMMY>, <&clk IMX8MQ_CLK_DUMMY>; 58262306a36Sopenharmony_ci clock-names = "bus", "mclk1", "mclk2", "mclk3"; 58362306a36Sopenharmony_ci dmas = <&sdma2 0 24 0>, <&sdma2 1 24 0>; 58462306a36Sopenharmony_ci dma-names = "rx", "tx"; 58562306a36Sopenharmony_ci status = "disabled"; 58662306a36Sopenharmony_ci }; 58762306a36Sopenharmony_ci 58862306a36Sopenharmony_ci gpio1: gpio@30200000 { 58962306a36Sopenharmony_ci compatible = "fsl,imx8mq-gpio", "fsl,imx35-gpio"; 59062306a36Sopenharmony_ci reg = <0x30200000 0x10000>; 59162306a36Sopenharmony_ci interrupts = <GIC_SPI 64 IRQ_TYPE_LEVEL_HIGH>, 59262306a36Sopenharmony_ci <GIC_SPI 65 IRQ_TYPE_LEVEL_HIGH>; 59362306a36Sopenharmony_ci clocks = <&clk IMX8MQ_CLK_GPIO1_ROOT>; 59462306a36Sopenharmony_ci gpio-controller; 59562306a36Sopenharmony_ci #gpio-cells = <2>; 59662306a36Sopenharmony_ci interrupt-controller; 59762306a36Sopenharmony_ci #interrupt-cells = <2>; 59862306a36Sopenharmony_ci gpio-ranges = <&iomuxc 0 10 30>; 59962306a36Sopenharmony_ci }; 60062306a36Sopenharmony_ci 60162306a36Sopenharmony_ci gpio2: gpio@30210000 { 60262306a36Sopenharmony_ci compatible = "fsl,imx8mq-gpio", "fsl,imx35-gpio"; 60362306a36Sopenharmony_ci reg = <0x30210000 0x10000>; 60462306a36Sopenharmony_ci interrupts = <GIC_SPI 66 IRQ_TYPE_LEVEL_HIGH>, 60562306a36Sopenharmony_ci <GIC_SPI 67 IRQ_TYPE_LEVEL_HIGH>; 60662306a36Sopenharmony_ci clocks = <&clk IMX8MQ_CLK_GPIO2_ROOT>; 60762306a36Sopenharmony_ci gpio-controller; 60862306a36Sopenharmony_ci #gpio-cells = <2>; 60962306a36Sopenharmony_ci interrupt-controller; 61062306a36Sopenharmony_ci #interrupt-cells = <2>; 61162306a36Sopenharmony_ci gpio-ranges = <&iomuxc 0 40 21>; 61262306a36Sopenharmony_ci }; 61362306a36Sopenharmony_ci 61462306a36Sopenharmony_ci gpio3: gpio@30220000 { 61562306a36Sopenharmony_ci compatible = "fsl,imx8mq-gpio", "fsl,imx35-gpio"; 61662306a36Sopenharmony_ci reg = <0x30220000 0x10000>; 61762306a36Sopenharmony_ci interrupts = <GIC_SPI 68 IRQ_TYPE_LEVEL_HIGH>, 61862306a36Sopenharmony_ci <GIC_SPI 69 IRQ_TYPE_LEVEL_HIGH>; 61962306a36Sopenharmony_ci clocks = <&clk IMX8MQ_CLK_GPIO3_ROOT>; 62062306a36Sopenharmony_ci gpio-controller; 62162306a36Sopenharmony_ci #gpio-cells = <2>; 62262306a36Sopenharmony_ci interrupt-controller; 62362306a36Sopenharmony_ci #interrupt-cells = <2>; 62462306a36Sopenharmony_ci gpio-ranges = <&iomuxc 0 61 26>; 62562306a36Sopenharmony_ci }; 62662306a36Sopenharmony_ci 62762306a36Sopenharmony_ci gpio4: gpio@30230000 { 62862306a36Sopenharmony_ci compatible = "fsl,imx8mq-gpio", "fsl,imx35-gpio"; 62962306a36Sopenharmony_ci reg = <0x30230000 0x10000>; 63062306a36Sopenharmony_ci interrupts = <GIC_SPI 70 IRQ_TYPE_LEVEL_HIGH>, 63162306a36Sopenharmony_ci <GIC_SPI 71 IRQ_TYPE_LEVEL_HIGH>; 63262306a36Sopenharmony_ci clocks = <&clk IMX8MQ_CLK_GPIO4_ROOT>; 63362306a36Sopenharmony_ci gpio-controller; 63462306a36Sopenharmony_ci #gpio-cells = <2>; 63562306a36Sopenharmony_ci interrupt-controller; 63662306a36Sopenharmony_ci #interrupt-cells = <2>; 63762306a36Sopenharmony_ci gpio-ranges = <&iomuxc 0 87 32>; 63862306a36Sopenharmony_ci }; 63962306a36Sopenharmony_ci 64062306a36Sopenharmony_ci gpio5: gpio@30240000 { 64162306a36Sopenharmony_ci compatible = "fsl,imx8mq-gpio", "fsl,imx35-gpio"; 64262306a36Sopenharmony_ci reg = <0x30240000 0x10000>; 64362306a36Sopenharmony_ci interrupts = <GIC_SPI 72 IRQ_TYPE_LEVEL_HIGH>, 64462306a36Sopenharmony_ci <GIC_SPI 73 IRQ_TYPE_LEVEL_HIGH>; 64562306a36Sopenharmony_ci clocks = <&clk IMX8MQ_CLK_GPIO5_ROOT>; 64662306a36Sopenharmony_ci gpio-controller; 64762306a36Sopenharmony_ci #gpio-cells = <2>; 64862306a36Sopenharmony_ci interrupt-controller; 64962306a36Sopenharmony_ci #interrupt-cells = <2>; 65062306a36Sopenharmony_ci gpio-ranges = <&iomuxc 0 119 30>; 65162306a36Sopenharmony_ci }; 65262306a36Sopenharmony_ci 65362306a36Sopenharmony_ci tmu: tmu@30260000 { 65462306a36Sopenharmony_ci compatible = "fsl,imx8mq-tmu"; 65562306a36Sopenharmony_ci reg = <0x30260000 0x10000>; 65662306a36Sopenharmony_ci interrupts = <GIC_SPI 49 IRQ_TYPE_LEVEL_HIGH>; 65762306a36Sopenharmony_ci clocks = <&clk IMX8MQ_CLK_TMU_ROOT>; 65862306a36Sopenharmony_ci little-endian; 65962306a36Sopenharmony_ci fsl,tmu-range = <0xb0000 0xa0026 0x80048 0x70061>; 66062306a36Sopenharmony_ci fsl,tmu-calibration = <0x00000000 0x00000023>, 66162306a36Sopenharmony_ci <0x00000001 0x00000029>, 66262306a36Sopenharmony_ci <0x00000002 0x0000002f>, 66362306a36Sopenharmony_ci <0x00000003 0x00000035>, 66462306a36Sopenharmony_ci <0x00000004 0x0000003d>, 66562306a36Sopenharmony_ci <0x00000005 0x00000043>, 66662306a36Sopenharmony_ci <0x00000006 0x0000004b>, 66762306a36Sopenharmony_ci <0x00000007 0x00000051>, 66862306a36Sopenharmony_ci <0x00000008 0x00000057>, 66962306a36Sopenharmony_ci <0x00000009 0x0000005f>, 67062306a36Sopenharmony_ci <0x0000000a 0x00000067>, 67162306a36Sopenharmony_ci <0x0000000b 0x0000006f>, 67262306a36Sopenharmony_ci 67362306a36Sopenharmony_ci <0x00010000 0x0000001b>, 67462306a36Sopenharmony_ci <0x00010001 0x00000023>, 67562306a36Sopenharmony_ci <0x00010002 0x0000002b>, 67662306a36Sopenharmony_ci <0x00010003 0x00000033>, 67762306a36Sopenharmony_ci <0x00010004 0x0000003b>, 67862306a36Sopenharmony_ci <0x00010005 0x00000043>, 67962306a36Sopenharmony_ci <0x00010006 0x0000004b>, 68062306a36Sopenharmony_ci <0x00010007 0x00000055>, 68162306a36Sopenharmony_ci <0x00010008 0x0000005d>, 68262306a36Sopenharmony_ci <0x00010009 0x00000067>, 68362306a36Sopenharmony_ci <0x0001000a 0x00000070>, 68462306a36Sopenharmony_ci 68562306a36Sopenharmony_ci <0x00020000 0x00000017>, 68662306a36Sopenharmony_ci <0x00020001 0x00000023>, 68762306a36Sopenharmony_ci <0x00020002 0x0000002d>, 68862306a36Sopenharmony_ci <0x00020003 0x00000037>, 68962306a36Sopenharmony_ci <0x00020004 0x00000041>, 69062306a36Sopenharmony_ci <0x00020005 0x0000004b>, 69162306a36Sopenharmony_ci <0x00020006 0x00000057>, 69262306a36Sopenharmony_ci <0x00020007 0x00000063>, 69362306a36Sopenharmony_ci <0x00020008 0x0000006f>, 69462306a36Sopenharmony_ci 69562306a36Sopenharmony_ci <0x00030000 0x00000015>, 69662306a36Sopenharmony_ci <0x00030001 0x00000021>, 69762306a36Sopenharmony_ci <0x00030002 0x0000002d>, 69862306a36Sopenharmony_ci <0x00030003 0x00000039>, 69962306a36Sopenharmony_ci <0x00030004 0x00000045>, 70062306a36Sopenharmony_ci <0x00030005 0x00000053>, 70162306a36Sopenharmony_ci <0x00030006 0x0000005f>, 70262306a36Sopenharmony_ci <0x00030007 0x00000071>; 70362306a36Sopenharmony_ci #thermal-sensor-cells = <1>; 70462306a36Sopenharmony_ci }; 70562306a36Sopenharmony_ci 70662306a36Sopenharmony_ci wdog1: watchdog@30280000 { 70762306a36Sopenharmony_ci compatible = "fsl,imx8mq-wdt", "fsl,imx21-wdt"; 70862306a36Sopenharmony_ci reg = <0x30280000 0x10000>; 70962306a36Sopenharmony_ci interrupts = <GIC_SPI 78 IRQ_TYPE_LEVEL_HIGH>; 71062306a36Sopenharmony_ci clocks = <&clk IMX8MQ_CLK_WDOG1_ROOT>; 71162306a36Sopenharmony_ci status = "disabled"; 71262306a36Sopenharmony_ci }; 71362306a36Sopenharmony_ci 71462306a36Sopenharmony_ci wdog2: watchdog@30290000 { 71562306a36Sopenharmony_ci compatible = "fsl,imx8mq-wdt", "fsl,imx21-wdt"; 71662306a36Sopenharmony_ci reg = <0x30290000 0x10000>; 71762306a36Sopenharmony_ci interrupts = <GIC_SPI 79 IRQ_TYPE_LEVEL_HIGH>; 71862306a36Sopenharmony_ci clocks = <&clk IMX8MQ_CLK_WDOG2_ROOT>; 71962306a36Sopenharmony_ci status = "disabled"; 72062306a36Sopenharmony_ci }; 72162306a36Sopenharmony_ci 72262306a36Sopenharmony_ci wdog3: watchdog@302a0000 { 72362306a36Sopenharmony_ci compatible = "fsl,imx8mq-wdt", "fsl,imx21-wdt"; 72462306a36Sopenharmony_ci reg = <0x302a0000 0x10000>; 72562306a36Sopenharmony_ci interrupts = <GIC_SPI 10 IRQ_TYPE_LEVEL_HIGH>; 72662306a36Sopenharmony_ci clocks = <&clk IMX8MQ_CLK_WDOG3_ROOT>; 72762306a36Sopenharmony_ci status = "disabled"; 72862306a36Sopenharmony_ci }; 72962306a36Sopenharmony_ci 73062306a36Sopenharmony_ci sdma2: dma-controller@302c0000 { 73162306a36Sopenharmony_ci compatible = "fsl,imx8mq-sdma","fsl,imx7d-sdma"; 73262306a36Sopenharmony_ci reg = <0x302c0000 0x10000>; 73362306a36Sopenharmony_ci interrupts = <GIC_SPI 103 IRQ_TYPE_LEVEL_HIGH>; 73462306a36Sopenharmony_ci clocks = <&clk IMX8MQ_CLK_SDMA2_ROOT>, 73562306a36Sopenharmony_ci <&clk IMX8MQ_CLK_SDMA2_ROOT>; 73662306a36Sopenharmony_ci clock-names = "ipg", "ahb"; 73762306a36Sopenharmony_ci #dma-cells = <3>; 73862306a36Sopenharmony_ci fsl,sdma-ram-script-name = "imx/sdma/sdma-imx7d.bin"; 73962306a36Sopenharmony_ci }; 74062306a36Sopenharmony_ci 74162306a36Sopenharmony_ci lcdif: lcd-controller@30320000 { 74262306a36Sopenharmony_ci compatible = "fsl,imx8mq-lcdif", "fsl,imx6sx-lcdif"; 74362306a36Sopenharmony_ci reg = <0x30320000 0x10000>; 74462306a36Sopenharmony_ci interrupts = <GIC_SPI 5 IRQ_TYPE_LEVEL_HIGH>; 74562306a36Sopenharmony_ci clocks = <&clk IMX8MQ_CLK_LCDIF_PIXEL>, 74662306a36Sopenharmony_ci <&clk IMX8MQ_CLK_DISP_APB_ROOT>, 74762306a36Sopenharmony_ci <&clk IMX8MQ_CLK_DISP_AXI_ROOT>; 74862306a36Sopenharmony_ci clock-names = "pix", "axi", "disp_axi"; 74962306a36Sopenharmony_ci assigned-clocks = <&clk IMX8MQ_VIDEO_PLL1_REF_SEL>, 75062306a36Sopenharmony_ci <&clk IMX8MQ_VIDEO_PLL1_BYPASS>, 75162306a36Sopenharmony_ci <&clk IMX8MQ_CLK_LCDIF_PIXEL>, 75262306a36Sopenharmony_ci <&clk IMX8MQ_VIDEO_PLL1>; 75362306a36Sopenharmony_ci assigned-clock-parents = <&clk IMX8MQ_CLK_25M>, 75462306a36Sopenharmony_ci <&clk IMX8MQ_VIDEO_PLL1>, 75562306a36Sopenharmony_ci <&clk IMX8MQ_VIDEO_PLL1_OUT>; 75662306a36Sopenharmony_ci assigned-clock-rates = <0>, <0>, <0>, <594000000>; 75762306a36Sopenharmony_ci status = "disabled"; 75862306a36Sopenharmony_ci 75962306a36Sopenharmony_ci port { 76062306a36Sopenharmony_ci lcdif_mipi_dsi: endpoint { 76162306a36Sopenharmony_ci remote-endpoint = <&mipi_dsi_lcdif_in>; 76262306a36Sopenharmony_ci }; 76362306a36Sopenharmony_ci }; 76462306a36Sopenharmony_ci }; 76562306a36Sopenharmony_ci 76662306a36Sopenharmony_ci iomuxc: pinctrl@30330000 { 76762306a36Sopenharmony_ci compatible = "fsl,imx8mq-iomuxc"; 76862306a36Sopenharmony_ci reg = <0x30330000 0x10000>; 76962306a36Sopenharmony_ci }; 77062306a36Sopenharmony_ci 77162306a36Sopenharmony_ci iomuxc_gpr: syscon@30340000 { 77262306a36Sopenharmony_ci compatible = "fsl,imx8mq-iomuxc-gpr", "syscon", "simple-mfd"; 77362306a36Sopenharmony_ci reg = <0x30340000 0x10000>; 77462306a36Sopenharmony_ci 77562306a36Sopenharmony_ci mux: mux-controller { 77662306a36Sopenharmony_ci compatible = "mmio-mux"; 77762306a36Sopenharmony_ci #mux-control-cells = <1>; 77862306a36Sopenharmony_ci mux-reg-masks = <0x34 0x00000004>; /* MIPI_MUX_SEL */ 77962306a36Sopenharmony_ci }; 78062306a36Sopenharmony_ci }; 78162306a36Sopenharmony_ci 78262306a36Sopenharmony_ci ocotp: efuse@30350000 { 78362306a36Sopenharmony_ci compatible = "fsl,imx8mq-ocotp", "syscon"; 78462306a36Sopenharmony_ci reg = <0x30350000 0x10000>; 78562306a36Sopenharmony_ci clocks = <&clk IMX8MQ_CLK_OCOTP_ROOT>; 78662306a36Sopenharmony_ci #address-cells = <1>; 78762306a36Sopenharmony_ci #size-cells = <1>; 78862306a36Sopenharmony_ci 78962306a36Sopenharmony_ci /* 79062306a36Sopenharmony_ci * The register address below maps to the MX8M 79162306a36Sopenharmony_ci * Fusemap Description Table entries this way. 79262306a36Sopenharmony_ci * Assuming 79362306a36Sopenharmony_ci * reg = <ADDR SIZE>; 79462306a36Sopenharmony_ci * then 79562306a36Sopenharmony_ci * Fuse Address = (ADDR * 4) + 0x400 79662306a36Sopenharmony_ci * Note that if SIZE is greater than 4, then 79762306a36Sopenharmony_ci * each subsequent fuse is located at offset 79862306a36Sopenharmony_ci * +0x10 in Fusemap Description Table (e.g. 79962306a36Sopenharmony_ci * reg = <0x4 0x8> describes fuses 0x410 and 80062306a36Sopenharmony_ci * 0x420). 80162306a36Sopenharmony_ci */ 80262306a36Sopenharmony_ci imx8mq_uid: soc-uid@4 { /* 0x410-0x420 */ 80362306a36Sopenharmony_ci reg = <0x4 0x8>; 80462306a36Sopenharmony_ci }; 80562306a36Sopenharmony_ci 80662306a36Sopenharmony_ci cpu_speed_grade: speed-grade@10 { /* 0x440 */ 80762306a36Sopenharmony_ci reg = <0x10 4>; 80862306a36Sopenharmony_ci }; 80962306a36Sopenharmony_ci 81062306a36Sopenharmony_ci fec_mac_address: mac-address@90 { /* 0x640 */ 81162306a36Sopenharmony_ci reg = <0x90 6>; 81262306a36Sopenharmony_ci }; 81362306a36Sopenharmony_ci }; 81462306a36Sopenharmony_ci 81562306a36Sopenharmony_ci anatop: clock-controller@30360000 { 81662306a36Sopenharmony_ci compatible = "fsl,imx8mq-anatop"; 81762306a36Sopenharmony_ci reg = <0x30360000 0x10000>; 81862306a36Sopenharmony_ci interrupts = <GIC_SPI 49 IRQ_TYPE_LEVEL_HIGH>; 81962306a36Sopenharmony_ci #clock-cells = <1>; 82062306a36Sopenharmony_ci }; 82162306a36Sopenharmony_ci 82262306a36Sopenharmony_ci snvs: snvs@30370000 { 82362306a36Sopenharmony_ci compatible = "fsl,sec-v4.0-mon", "syscon", "simple-mfd"; 82462306a36Sopenharmony_ci reg = <0x30370000 0x10000>; 82562306a36Sopenharmony_ci 82662306a36Sopenharmony_ci snvs_rtc: snvs-rtc-lp { 82762306a36Sopenharmony_ci compatible = "fsl,sec-v4.0-mon-rtc-lp"; 82862306a36Sopenharmony_ci regmap = <&snvs>; 82962306a36Sopenharmony_ci offset = <0x34>; 83062306a36Sopenharmony_ci interrupts = <GIC_SPI 19 IRQ_TYPE_LEVEL_HIGH>, 83162306a36Sopenharmony_ci <GIC_SPI 20 IRQ_TYPE_LEVEL_HIGH>; 83262306a36Sopenharmony_ci clocks = <&clk IMX8MQ_CLK_SNVS_ROOT>; 83362306a36Sopenharmony_ci clock-names = "snvs-rtc"; 83462306a36Sopenharmony_ci }; 83562306a36Sopenharmony_ci 83662306a36Sopenharmony_ci snvs_pwrkey: snvs-powerkey { 83762306a36Sopenharmony_ci compatible = "fsl,sec-v4.0-pwrkey"; 83862306a36Sopenharmony_ci regmap = <&snvs>; 83962306a36Sopenharmony_ci interrupts = <GIC_SPI 4 IRQ_TYPE_LEVEL_HIGH>; 84062306a36Sopenharmony_ci clocks = <&clk IMX8MQ_CLK_SNVS_ROOT>; 84162306a36Sopenharmony_ci clock-names = "snvs-pwrkey"; 84262306a36Sopenharmony_ci linux,keycode = <KEY_POWER>; 84362306a36Sopenharmony_ci wakeup-source; 84462306a36Sopenharmony_ci status = "disabled"; 84562306a36Sopenharmony_ci }; 84662306a36Sopenharmony_ci }; 84762306a36Sopenharmony_ci 84862306a36Sopenharmony_ci clk: clock-controller@30380000 { 84962306a36Sopenharmony_ci compatible = "fsl,imx8mq-ccm"; 85062306a36Sopenharmony_ci reg = <0x30380000 0x10000>; 85162306a36Sopenharmony_ci interrupts = <GIC_SPI 85 IRQ_TYPE_LEVEL_HIGH>, 85262306a36Sopenharmony_ci <GIC_SPI 86 IRQ_TYPE_LEVEL_HIGH>; 85362306a36Sopenharmony_ci #clock-cells = <1>; 85462306a36Sopenharmony_ci clocks = <&ckil>, <&osc_25m>, <&osc_27m>, 85562306a36Sopenharmony_ci <&clk_ext1>, <&clk_ext2>, 85662306a36Sopenharmony_ci <&clk_ext3>, <&clk_ext4>; 85762306a36Sopenharmony_ci clock-names = "ckil", "osc_25m", "osc_27m", 85862306a36Sopenharmony_ci "clk_ext1", "clk_ext2", 85962306a36Sopenharmony_ci "clk_ext3", "clk_ext4"; 86062306a36Sopenharmony_ci assigned-clocks = <&clk IMX8MQ_CLK_A53_SRC>, 86162306a36Sopenharmony_ci <&clk IMX8MQ_CLK_A53_CORE>, 86262306a36Sopenharmony_ci <&clk IMX8MQ_CLK_NOC>, 86362306a36Sopenharmony_ci <&clk IMX8MQ_CLK_AUDIO_AHB>, 86462306a36Sopenharmony_ci <&clk IMX8MQ_AUDIO_PLL1_BYPASS>, 86562306a36Sopenharmony_ci <&clk IMX8MQ_AUDIO_PLL2_BYPASS>, 86662306a36Sopenharmony_ci <&clk IMX8MQ_AUDIO_PLL1>, 86762306a36Sopenharmony_ci <&clk IMX8MQ_AUDIO_PLL2>; 86862306a36Sopenharmony_ci assigned-clock-rates = <0>, <0>, 86962306a36Sopenharmony_ci <800000000>, 87062306a36Sopenharmony_ci <0>, 87162306a36Sopenharmony_ci <0>, 87262306a36Sopenharmony_ci <0>, 87362306a36Sopenharmony_ci <786432000>, 87462306a36Sopenharmony_ci <722534400>; 87562306a36Sopenharmony_ci assigned-clock-parents = <&clk IMX8MQ_SYS1_PLL_800M>, 87662306a36Sopenharmony_ci <&clk IMX8MQ_ARM_PLL_OUT>, 87762306a36Sopenharmony_ci <0>, 87862306a36Sopenharmony_ci <&clk IMX8MQ_SYS2_PLL_500M>, 87962306a36Sopenharmony_ci <&clk IMX8MQ_AUDIO_PLL1>, 88062306a36Sopenharmony_ci <&clk IMX8MQ_AUDIO_PLL2>; 88162306a36Sopenharmony_ci }; 88262306a36Sopenharmony_ci 88362306a36Sopenharmony_ci src: reset-controller@30390000 { 88462306a36Sopenharmony_ci compatible = "fsl,imx8mq-src", "syscon"; 88562306a36Sopenharmony_ci reg = <0x30390000 0x10000>; 88662306a36Sopenharmony_ci interrupts = <GIC_SPI 89 IRQ_TYPE_LEVEL_HIGH>; 88762306a36Sopenharmony_ci #reset-cells = <1>; 88862306a36Sopenharmony_ci }; 88962306a36Sopenharmony_ci 89062306a36Sopenharmony_ci gpc: gpc@303a0000 { 89162306a36Sopenharmony_ci compatible = "fsl,imx8mq-gpc"; 89262306a36Sopenharmony_ci reg = <0x303a0000 0x10000>; 89362306a36Sopenharmony_ci interrupts = <GIC_SPI 87 IRQ_TYPE_LEVEL_HIGH>; 89462306a36Sopenharmony_ci interrupt-parent = <&gic>; 89562306a36Sopenharmony_ci interrupt-controller; 89662306a36Sopenharmony_ci #interrupt-cells = <3>; 89762306a36Sopenharmony_ci 89862306a36Sopenharmony_ci pgc { 89962306a36Sopenharmony_ci #address-cells = <1>; 90062306a36Sopenharmony_ci #size-cells = <0>; 90162306a36Sopenharmony_ci 90262306a36Sopenharmony_ci pgc_mipi: power-domain@0 { 90362306a36Sopenharmony_ci #power-domain-cells = <0>; 90462306a36Sopenharmony_ci reg = <IMX8M_POWER_DOMAIN_MIPI>; 90562306a36Sopenharmony_ci }; 90662306a36Sopenharmony_ci 90762306a36Sopenharmony_ci /* 90862306a36Sopenharmony_ci * As per comment in ATF source code: 90962306a36Sopenharmony_ci * 91062306a36Sopenharmony_ci * PCIE1 and PCIE2 share the 91162306a36Sopenharmony_ci * same reset signal, if we 91262306a36Sopenharmony_ci * power down PCIE2, PCIE1 91362306a36Sopenharmony_ci * will be held in reset too. 91462306a36Sopenharmony_ci * 91562306a36Sopenharmony_ci * So instead of creating two 91662306a36Sopenharmony_ci * separate power domains for 91762306a36Sopenharmony_ci * PCIE1 and PCIE2 we create a 91862306a36Sopenharmony_ci * link between both and use 91962306a36Sopenharmony_ci * it as a shared PCIE power 92062306a36Sopenharmony_ci * domain. 92162306a36Sopenharmony_ci */ 92262306a36Sopenharmony_ci pgc_pcie: power-domain@1 { 92362306a36Sopenharmony_ci #power-domain-cells = <0>; 92462306a36Sopenharmony_ci reg = <IMX8M_POWER_DOMAIN_PCIE1>; 92562306a36Sopenharmony_ci power-domains = <&pgc_pcie2>; 92662306a36Sopenharmony_ci }; 92762306a36Sopenharmony_ci 92862306a36Sopenharmony_ci pgc_otg1: power-domain@2 { 92962306a36Sopenharmony_ci #power-domain-cells = <0>; 93062306a36Sopenharmony_ci reg = <IMX8M_POWER_DOMAIN_USB_OTG1>; 93162306a36Sopenharmony_ci }; 93262306a36Sopenharmony_ci 93362306a36Sopenharmony_ci pgc_otg2: power-domain@3 { 93462306a36Sopenharmony_ci #power-domain-cells = <0>; 93562306a36Sopenharmony_ci reg = <IMX8M_POWER_DOMAIN_USB_OTG2>; 93662306a36Sopenharmony_ci }; 93762306a36Sopenharmony_ci 93862306a36Sopenharmony_ci pgc_ddr1: power-domain@4 { 93962306a36Sopenharmony_ci #power-domain-cells = <0>; 94062306a36Sopenharmony_ci reg = <IMX8M_POWER_DOMAIN_DDR1>; 94162306a36Sopenharmony_ci }; 94262306a36Sopenharmony_ci 94362306a36Sopenharmony_ci pgc_gpu: power-domain@5 { 94462306a36Sopenharmony_ci #power-domain-cells = <0>; 94562306a36Sopenharmony_ci reg = <IMX8M_POWER_DOMAIN_GPU>; 94662306a36Sopenharmony_ci clocks = <&clk IMX8MQ_CLK_GPU_ROOT>, 94762306a36Sopenharmony_ci <&clk IMX8MQ_CLK_GPU_SHADER_DIV>, 94862306a36Sopenharmony_ci <&clk IMX8MQ_CLK_GPU_AXI>, 94962306a36Sopenharmony_ci <&clk IMX8MQ_CLK_GPU_AHB>; 95062306a36Sopenharmony_ci }; 95162306a36Sopenharmony_ci 95262306a36Sopenharmony_ci pgc_vpu: power-domain@6 { 95362306a36Sopenharmony_ci #power-domain-cells = <0>; 95462306a36Sopenharmony_ci reg = <IMX8M_POWER_DOMAIN_VPU>; 95562306a36Sopenharmony_ci clocks = <&clk IMX8MQ_CLK_VPU_DEC_ROOT>, 95662306a36Sopenharmony_ci <&clk IMX8MQ_CLK_VPU_G1_ROOT>, 95762306a36Sopenharmony_ci <&clk IMX8MQ_CLK_VPU_G2_ROOT>; 95862306a36Sopenharmony_ci assigned-clocks = <&clk IMX8MQ_CLK_VPU_G1>, 95962306a36Sopenharmony_ci <&clk IMX8MQ_CLK_VPU_G2>, 96062306a36Sopenharmony_ci <&clk IMX8MQ_CLK_VPU_BUS>, 96162306a36Sopenharmony_ci <&clk IMX8MQ_VPU_PLL_BYPASS>; 96262306a36Sopenharmony_ci assigned-clock-parents = <&clk IMX8MQ_VPU_PLL_OUT>, 96362306a36Sopenharmony_ci <&clk IMX8MQ_VPU_PLL_OUT>, 96462306a36Sopenharmony_ci <&clk IMX8MQ_SYS1_PLL_800M>, 96562306a36Sopenharmony_ci <&clk IMX8MQ_VPU_PLL>; 96662306a36Sopenharmony_ci assigned-clock-rates = <600000000>, 96762306a36Sopenharmony_ci <300000000>, 96862306a36Sopenharmony_ci <800000000>, 96962306a36Sopenharmony_ci <0>; 97062306a36Sopenharmony_ci }; 97162306a36Sopenharmony_ci 97262306a36Sopenharmony_ci pgc_disp: power-domain@7 { 97362306a36Sopenharmony_ci #power-domain-cells = <0>; 97462306a36Sopenharmony_ci reg = <IMX8M_POWER_DOMAIN_DISP>; 97562306a36Sopenharmony_ci }; 97662306a36Sopenharmony_ci 97762306a36Sopenharmony_ci pgc_mipi_csi1: power-domain@8 { 97862306a36Sopenharmony_ci #power-domain-cells = <0>; 97962306a36Sopenharmony_ci reg = <IMX8M_POWER_DOMAIN_MIPI_CSI1>; 98062306a36Sopenharmony_ci }; 98162306a36Sopenharmony_ci 98262306a36Sopenharmony_ci pgc_mipi_csi2: power-domain@9 { 98362306a36Sopenharmony_ci #power-domain-cells = <0>; 98462306a36Sopenharmony_ci reg = <IMX8M_POWER_DOMAIN_MIPI_CSI2>; 98562306a36Sopenharmony_ci }; 98662306a36Sopenharmony_ci 98762306a36Sopenharmony_ci pgc_pcie2: power-domain@a { 98862306a36Sopenharmony_ci #power-domain-cells = <0>; 98962306a36Sopenharmony_ci reg = <IMX8M_POWER_DOMAIN_PCIE2>; 99062306a36Sopenharmony_ci }; 99162306a36Sopenharmony_ci }; 99262306a36Sopenharmony_ci }; 99362306a36Sopenharmony_ci }; 99462306a36Sopenharmony_ci 99562306a36Sopenharmony_ci aips2: bus@30400000 { /* AIPS2 */ 99662306a36Sopenharmony_ci compatible = "fsl,aips-bus", "simple-bus"; 99762306a36Sopenharmony_ci reg = <0x30400000 0x400000>; 99862306a36Sopenharmony_ci #address-cells = <1>; 99962306a36Sopenharmony_ci #size-cells = <1>; 100062306a36Sopenharmony_ci ranges = <0x30400000 0x30400000 0x400000>; 100162306a36Sopenharmony_ci 100262306a36Sopenharmony_ci pwm1: pwm@30660000 { 100362306a36Sopenharmony_ci compatible = "fsl,imx8mq-pwm", "fsl,imx27-pwm"; 100462306a36Sopenharmony_ci reg = <0x30660000 0x10000>; 100562306a36Sopenharmony_ci interrupts = <GIC_SPI 81 IRQ_TYPE_LEVEL_HIGH>; 100662306a36Sopenharmony_ci clocks = <&clk IMX8MQ_CLK_PWM1_ROOT>, 100762306a36Sopenharmony_ci <&clk IMX8MQ_CLK_PWM1_ROOT>; 100862306a36Sopenharmony_ci clock-names = "ipg", "per"; 100962306a36Sopenharmony_ci #pwm-cells = <3>; 101062306a36Sopenharmony_ci status = "disabled"; 101162306a36Sopenharmony_ci }; 101262306a36Sopenharmony_ci 101362306a36Sopenharmony_ci pwm2: pwm@30670000 { 101462306a36Sopenharmony_ci compatible = "fsl,imx8mq-pwm", "fsl,imx27-pwm"; 101562306a36Sopenharmony_ci reg = <0x30670000 0x10000>; 101662306a36Sopenharmony_ci interrupts = <GIC_SPI 82 IRQ_TYPE_LEVEL_HIGH>; 101762306a36Sopenharmony_ci clocks = <&clk IMX8MQ_CLK_PWM2_ROOT>, 101862306a36Sopenharmony_ci <&clk IMX8MQ_CLK_PWM2_ROOT>; 101962306a36Sopenharmony_ci clock-names = "ipg", "per"; 102062306a36Sopenharmony_ci #pwm-cells = <3>; 102162306a36Sopenharmony_ci status = "disabled"; 102262306a36Sopenharmony_ci }; 102362306a36Sopenharmony_ci 102462306a36Sopenharmony_ci pwm3: pwm@30680000 { 102562306a36Sopenharmony_ci compatible = "fsl,imx8mq-pwm", "fsl,imx27-pwm"; 102662306a36Sopenharmony_ci reg = <0x30680000 0x10000>; 102762306a36Sopenharmony_ci interrupts = <GIC_SPI 83 IRQ_TYPE_LEVEL_HIGH>; 102862306a36Sopenharmony_ci clocks = <&clk IMX8MQ_CLK_PWM3_ROOT>, 102962306a36Sopenharmony_ci <&clk IMX8MQ_CLK_PWM3_ROOT>; 103062306a36Sopenharmony_ci clock-names = "ipg", "per"; 103162306a36Sopenharmony_ci #pwm-cells = <3>; 103262306a36Sopenharmony_ci status = "disabled"; 103362306a36Sopenharmony_ci }; 103462306a36Sopenharmony_ci 103562306a36Sopenharmony_ci pwm4: pwm@30690000 { 103662306a36Sopenharmony_ci compatible = "fsl,imx8mq-pwm", "fsl,imx27-pwm"; 103762306a36Sopenharmony_ci reg = <0x30690000 0x10000>; 103862306a36Sopenharmony_ci interrupts = <GIC_SPI 84 IRQ_TYPE_LEVEL_HIGH>; 103962306a36Sopenharmony_ci clocks = <&clk IMX8MQ_CLK_PWM4_ROOT>, 104062306a36Sopenharmony_ci <&clk IMX8MQ_CLK_PWM4_ROOT>; 104162306a36Sopenharmony_ci clock-names = "ipg", "per"; 104262306a36Sopenharmony_ci #pwm-cells = <3>; 104362306a36Sopenharmony_ci status = "disabled"; 104462306a36Sopenharmony_ci }; 104562306a36Sopenharmony_ci 104662306a36Sopenharmony_ci system_counter: timer@306a0000 { 104762306a36Sopenharmony_ci compatible = "nxp,sysctr-timer"; 104862306a36Sopenharmony_ci reg = <0x306a0000 0x20000>; 104962306a36Sopenharmony_ci interrupts = <GIC_SPI 47 IRQ_TYPE_LEVEL_HIGH>; 105062306a36Sopenharmony_ci clocks = <&osc_25m>; 105162306a36Sopenharmony_ci clock-names = "per"; 105262306a36Sopenharmony_ci }; 105362306a36Sopenharmony_ci }; 105462306a36Sopenharmony_ci 105562306a36Sopenharmony_ci aips3: bus@30800000 { /* AIPS3 */ 105662306a36Sopenharmony_ci compatible = "fsl,aips-bus", "simple-bus"; 105762306a36Sopenharmony_ci reg = <0x30800000 0x400000>; 105862306a36Sopenharmony_ci #address-cells = <1>; 105962306a36Sopenharmony_ci #size-cells = <1>; 106062306a36Sopenharmony_ci ranges = <0x30800000 0x30800000 0x400000>, 106162306a36Sopenharmony_ci <0x08000000 0x08000000 0x10000000>; 106262306a36Sopenharmony_ci 106362306a36Sopenharmony_ci spdif1: spdif@30810000 { 106462306a36Sopenharmony_ci compatible = "fsl,imx35-spdif"; 106562306a36Sopenharmony_ci reg = <0x30810000 0x10000>; 106662306a36Sopenharmony_ci interrupts = <GIC_SPI 6 IRQ_TYPE_LEVEL_HIGH>; 106762306a36Sopenharmony_ci clocks = <&clk IMX8MQ_CLK_IPG_ROOT>, /* core */ 106862306a36Sopenharmony_ci <&clk IMX8MQ_CLK_25M>, /* rxtx0 */ 106962306a36Sopenharmony_ci <&clk IMX8MQ_CLK_SPDIF1>, /* rxtx1 */ 107062306a36Sopenharmony_ci <&clk IMX8MQ_CLK_DUMMY>, /* rxtx2 */ 107162306a36Sopenharmony_ci <&clk IMX8MQ_CLK_DUMMY>, /* rxtx3 */ 107262306a36Sopenharmony_ci <&clk IMX8MQ_CLK_DUMMY>, /* rxtx4 */ 107362306a36Sopenharmony_ci <&clk IMX8MQ_CLK_IPG_ROOT>, /* rxtx5 */ 107462306a36Sopenharmony_ci <&clk IMX8MQ_CLK_DUMMY>, /* rxtx6 */ 107562306a36Sopenharmony_ci <&clk IMX8MQ_CLK_DUMMY>, /* rxtx7 */ 107662306a36Sopenharmony_ci <&clk IMX8MQ_CLK_DUMMY>; /* spba */ 107762306a36Sopenharmony_ci clock-names = "core", "rxtx0", 107862306a36Sopenharmony_ci "rxtx1", "rxtx2", 107962306a36Sopenharmony_ci "rxtx3", "rxtx4", 108062306a36Sopenharmony_ci "rxtx5", "rxtx6", 108162306a36Sopenharmony_ci "rxtx7", "spba"; 108262306a36Sopenharmony_ci dmas = <&sdma1 8 18 0>, <&sdma1 9 18 0>; 108362306a36Sopenharmony_ci dma-names = "rx", "tx"; 108462306a36Sopenharmony_ci status = "disabled"; 108562306a36Sopenharmony_ci }; 108662306a36Sopenharmony_ci 108762306a36Sopenharmony_ci ecspi1: spi@30820000 { 108862306a36Sopenharmony_ci #address-cells = <1>; 108962306a36Sopenharmony_ci #size-cells = <0>; 109062306a36Sopenharmony_ci compatible = "fsl,imx8mq-ecspi", "fsl,imx51-ecspi"; 109162306a36Sopenharmony_ci reg = <0x30820000 0x10000>; 109262306a36Sopenharmony_ci interrupts = <GIC_SPI 31 IRQ_TYPE_LEVEL_HIGH>; 109362306a36Sopenharmony_ci clocks = <&clk IMX8MQ_CLK_ECSPI1_ROOT>, 109462306a36Sopenharmony_ci <&clk IMX8MQ_CLK_ECSPI1_ROOT>; 109562306a36Sopenharmony_ci clock-names = "ipg", "per"; 109662306a36Sopenharmony_ci dmas = <&sdma1 0 7 1>, <&sdma1 1 7 2>; 109762306a36Sopenharmony_ci dma-names = "rx", "tx"; 109862306a36Sopenharmony_ci status = "disabled"; 109962306a36Sopenharmony_ci }; 110062306a36Sopenharmony_ci 110162306a36Sopenharmony_ci ecspi2: spi@30830000 { 110262306a36Sopenharmony_ci #address-cells = <1>; 110362306a36Sopenharmony_ci #size-cells = <0>; 110462306a36Sopenharmony_ci compatible = "fsl,imx8mq-ecspi", "fsl,imx51-ecspi"; 110562306a36Sopenharmony_ci reg = <0x30830000 0x10000>; 110662306a36Sopenharmony_ci interrupts = <GIC_SPI 32 IRQ_TYPE_LEVEL_HIGH>; 110762306a36Sopenharmony_ci clocks = <&clk IMX8MQ_CLK_ECSPI2_ROOT>, 110862306a36Sopenharmony_ci <&clk IMX8MQ_CLK_ECSPI2_ROOT>; 110962306a36Sopenharmony_ci clock-names = "ipg", "per"; 111062306a36Sopenharmony_ci dmas = <&sdma1 2 7 1>, <&sdma1 3 7 2>; 111162306a36Sopenharmony_ci dma-names = "rx", "tx"; 111262306a36Sopenharmony_ci status = "disabled"; 111362306a36Sopenharmony_ci }; 111462306a36Sopenharmony_ci 111562306a36Sopenharmony_ci ecspi3: spi@30840000 { 111662306a36Sopenharmony_ci #address-cells = <1>; 111762306a36Sopenharmony_ci #size-cells = <0>; 111862306a36Sopenharmony_ci compatible = "fsl,imx8mq-ecspi", "fsl,imx51-ecspi"; 111962306a36Sopenharmony_ci reg = <0x30840000 0x10000>; 112062306a36Sopenharmony_ci interrupts = <GIC_SPI 33 IRQ_TYPE_LEVEL_HIGH>; 112162306a36Sopenharmony_ci clocks = <&clk IMX8MQ_CLK_ECSPI3_ROOT>, 112262306a36Sopenharmony_ci <&clk IMX8MQ_CLK_ECSPI3_ROOT>; 112362306a36Sopenharmony_ci clock-names = "ipg", "per"; 112462306a36Sopenharmony_ci dmas = <&sdma1 4 7 1>, <&sdma1 5 7 2>; 112562306a36Sopenharmony_ci dma-names = "rx", "tx"; 112662306a36Sopenharmony_ci status = "disabled"; 112762306a36Sopenharmony_ci }; 112862306a36Sopenharmony_ci 112962306a36Sopenharmony_ci uart1: serial@30860000 { 113062306a36Sopenharmony_ci compatible = "fsl,imx8mq-uart", 113162306a36Sopenharmony_ci "fsl,imx6q-uart"; 113262306a36Sopenharmony_ci reg = <0x30860000 0x10000>; 113362306a36Sopenharmony_ci interrupts = <GIC_SPI 26 IRQ_TYPE_LEVEL_HIGH>; 113462306a36Sopenharmony_ci clocks = <&clk IMX8MQ_CLK_UART1_ROOT>, 113562306a36Sopenharmony_ci <&clk IMX8MQ_CLK_UART1_ROOT>; 113662306a36Sopenharmony_ci clock-names = "ipg", "per"; 113762306a36Sopenharmony_ci dmas = <&sdma1 22 4 0>, <&sdma1 23 4 0>; 113862306a36Sopenharmony_ci dma-names = "rx", "tx"; 113962306a36Sopenharmony_ci status = "disabled"; 114062306a36Sopenharmony_ci }; 114162306a36Sopenharmony_ci 114262306a36Sopenharmony_ci uart3: serial@30880000 { 114362306a36Sopenharmony_ci compatible = "fsl,imx8mq-uart", 114462306a36Sopenharmony_ci "fsl,imx6q-uart"; 114562306a36Sopenharmony_ci reg = <0x30880000 0x10000>; 114662306a36Sopenharmony_ci interrupts = <GIC_SPI 28 IRQ_TYPE_LEVEL_HIGH>; 114762306a36Sopenharmony_ci clocks = <&clk IMX8MQ_CLK_UART3_ROOT>, 114862306a36Sopenharmony_ci <&clk IMX8MQ_CLK_UART3_ROOT>; 114962306a36Sopenharmony_ci clock-names = "ipg", "per"; 115062306a36Sopenharmony_ci dmas = <&sdma1 26 4 0>, <&sdma1 27 4 0>; 115162306a36Sopenharmony_ci dma-names = "rx", "tx"; 115262306a36Sopenharmony_ci status = "disabled"; 115362306a36Sopenharmony_ci }; 115462306a36Sopenharmony_ci 115562306a36Sopenharmony_ci uart2: serial@30890000 { 115662306a36Sopenharmony_ci compatible = "fsl,imx8mq-uart", 115762306a36Sopenharmony_ci "fsl,imx6q-uart"; 115862306a36Sopenharmony_ci reg = <0x30890000 0x10000>; 115962306a36Sopenharmony_ci interrupts = <GIC_SPI 27 IRQ_TYPE_LEVEL_HIGH>; 116062306a36Sopenharmony_ci clocks = <&clk IMX8MQ_CLK_UART2_ROOT>, 116162306a36Sopenharmony_ci <&clk IMX8MQ_CLK_UART2_ROOT>; 116262306a36Sopenharmony_ci clock-names = "ipg", "per"; 116362306a36Sopenharmony_ci dmas = <&sdma1 24 4 0>, <&sdma1 25 4 0>; 116462306a36Sopenharmony_ci dma-names = "rx", "tx"; 116562306a36Sopenharmony_ci status = "disabled"; 116662306a36Sopenharmony_ci }; 116762306a36Sopenharmony_ci 116862306a36Sopenharmony_ci spdif2: spdif@308a0000 { 116962306a36Sopenharmony_ci compatible = "fsl,imx35-spdif"; 117062306a36Sopenharmony_ci reg = <0x308a0000 0x10000>; 117162306a36Sopenharmony_ci interrupts = <GIC_SPI 13 IRQ_TYPE_LEVEL_HIGH>; 117262306a36Sopenharmony_ci clocks = <&clk IMX8MQ_CLK_IPG_ROOT>, /* core */ 117362306a36Sopenharmony_ci <&clk IMX8MQ_CLK_25M>, /* rxtx0 */ 117462306a36Sopenharmony_ci <&clk IMX8MQ_CLK_SPDIF2>, /* rxtx1 */ 117562306a36Sopenharmony_ci <&clk IMX8MQ_CLK_DUMMY>, /* rxtx2 */ 117662306a36Sopenharmony_ci <&clk IMX8MQ_CLK_DUMMY>, /* rxtx3 */ 117762306a36Sopenharmony_ci <&clk IMX8MQ_CLK_DUMMY>, /* rxtx4 */ 117862306a36Sopenharmony_ci <&clk IMX8MQ_CLK_IPG_ROOT>, /* rxtx5 */ 117962306a36Sopenharmony_ci <&clk IMX8MQ_CLK_DUMMY>, /* rxtx6 */ 118062306a36Sopenharmony_ci <&clk IMX8MQ_CLK_DUMMY>, /* rxtx7 */ 118162306a36Sopenharmony_ci <&clk IMX8MQ_CLK_DUMMY>; /* spba */ 118262306a36Sopenharmony_ci clock-names = "core", "rxtx0", 118362306a36Sopenharmony_ci "rxtx1", "rxtx2", 118462306a36Sopenharmony_ci "rxtx3", "rxtx4", 118562306a36Sopenharmony_ci "rxtx5", "rxtx6", 118662306a36Sopenharmony_ci "rxtx7", "spba"; 118762306a36Sopenharmony_ci dmas = <&sdma1 16 18 0>, <&sdma1 17 18 0>; 118862306a36Sopenharmony_ci dma-names = "rx", "tx"; 118962306a36Sopenharmony_ci status = "disabled"; 119062306a36Sopenharmony_ci }; 119162306a36Sopenharmony_ci 119262306a36Sopenharmony_ci sai2: sai@308b0000 { 119362306a36Sopenharmony_ci #sound-dai-cells = <0>; 119462306a36Sopenharmony_ci compatible = "fsl,imx8mq-sai"; 119562306a36Sopenharmony_ci reg = <0x308b0000 0x10000>; 119662306a36Sopenharmony_ci interrupts = <GIC_SPI 96 IRQ_TYPE_LEVEL_HIGH>; 119762306a36Sopenharmony_ci clocks = <&clk IMX8MQ_CLK_SAI2_IPG>, 119862306a36Sopenharmony_ci <&clk IMX8MQ_CLK_SAI2_ROOT>, 119962306a36Sopenharmony_ci <&clk IMX8MQ_CLK_DUMMY>, <&clk IMX8MQ_CLK_DUMMY>; 120062306a36Sopenharmony_ci clock-names = "bus", "mclk1", "mclk2", "mclk3"; 120162306a36Sopenharmony_ci dmas = <&sdma1 10 24 0>, <&sdma1 11 24 0>; 120262306a36Sopenharmony_ci dma-names = "rx", "tx"; 120362306a36Sopenharmony_ci status = "disabled"; 120462306a36Sopenharmony_ci }; 120562306a36Sopenharmony_ci 120662306a36Sopenharmony_ci sai3: sai@308c0000 { 120762306a36Sopenharmony_ci #sound-dai-cells = <0>; 120862306a36Sopenharmony_ci compatible = "fsl,imx8mq-sai"; 120962306a36Sopenharmony_ci reg = <0x308c0000 0x10000>; 121062306a36Sopenharmony_ci interrupts = <GIC_SPI 50 IRQ_TYPE_LEVEL_HIGH>; 121162306a36Sopenharmony_ci clocks = <&clk IMX8MQ_CLK_SAI3_IPG>, 121262306a36Sopenharmony_ci <&clk IMX8MQ_CLK_SAI3_ROOT>, 121362306a36Sopenharmony_ci <&clk IMX8MQ_CLK_DUMMY>, <&clk IMX8MQ_CLK_DUMMY>; 121462306a36Sopenharmony_ci clock-names = "bus", "mclk1", "mclk2", "mclk3"; 121562306a36Sopenharmony_ci dmas = <&sdma1 12 24 0>, <&sdma1 13 24 0>; 121662306a36Sopenharmony_ci dma-names = "rx", "tx"; 121762306a36Sopenharmony_ci status = "disabled"; 121862306a36Sopenharmony_ci }; 121962306a36Sopenharmony_ci 122062306a36Sopenharmony_ci crypto: crypto@30900000 { 122162306a36Sopenharmony_ci compatible = "fsl,sec-v4.0"; 122262306a36Sopenharmony_ci #address-cells = <1>; 122362306a36Sopenharmony_ci #size-cells = <1>; 122462306a36Sopenharmony_ci reg = <0x30900000 0x40000>; 122562306a36Sopenharmony_ci ranges = <0 0x30900000 0x40000>; 122662306a36Sopenharmony_ci interrupts = <GIC_SPI 91 IRQ_TYPE_LEVEL_HIGH>; 122762306a36Sopenharmony_ci clocks = <&clk IMX8MQ_CLK_AHB>, 122862306a36Sopenharmony_ci <&clk IMX8MQ_CLK_IPG_ROOT>; 122962306a36Sopenharmony_ci clock-names = "aclk", "ipg"; 123062306a36Sopenharmony_ci 123162306a36Sopenharmony_ci sec_jr0: jr@1000 { 123262306a36Sopenharmony_ci compatible = "fsl,sec-v4.0-job-ring"; 123362306a36Sopenharmony_ci reg = <0x1000 0x1000>; 123462306a36Sopenharmony_ci interrupts = <GIC_SPI 105 IRQ_TYPE_LEVEL_HIGH>; 123562306a36Sopenharmony_ci status = "disabled"; 123662306a36Sopenharmony_ci }; 123762306a36Sopenharmony_ci 123862306a36Sopenharmony_ci sec_jr1: jr@2000 { 123962306a36Sopenharmony_ci compatible = "fsl,sec-v4.0-job-ring"; 124062306a36Sopenharmony_ci reg = <0x2000 0x1000>; 124162306a36Sopenharmony_ci interrupts = <GIC_SPI 106 IRQ_TYPE_LEVEL_HIGH>; 124262306a36Sopenharmony_ci }; 124362306a36Sopenharmony_ci 124462306a36Sopenharmony_ci sec_jr2: jr@3000 { 124562306a36Sopenharmony_ci compatible = "fsl,sec-v4.0-job-ring"; 124662306a36Sopenharmony_ci reg = <0x3000 0x1000>; 124762306a36Sopenharmony_ci interrupts = <GIC_SPI 114 IRQ_TYPE_LEVEL_HIGH>; 124862306a36Sopenharmony_ci }; 124962306a36Sopenharmony_ci }; 125062306a36Sopenharmony_ci 125162306a36Sopenharmony_ci mipi_dsi: dsi@30a00000 { 125262306a36Sopenharmony_ci compatible = "fsl,imx8mq-nwl-dsi"; 125362306a36Sopenharmony_ci reg = <0x30a00000 0x300>; 125462306a36Sopenharmony_ci #address-cells = <1>; 125562306a36Sopenharmony_ci #size-cells = <0>; 125662306a36Sopenharmony_ci clocks = <&clk IMX8MQ_CLK_DSI_CORE>, 125762306a36Sopenharmony_ci <&clk IMX8MQ_CLK_DSI_AHB>, 125862306a36Sopenharmony_ci <&clk IMX8MQ_CLK_DSI_IPG_DIV>, 125962306a36Sopenharmony_ci <&clk IMX8MQ_CLK_DSI_PHY_REF>, 126062306a36Sopenharmony_ci <&clk IMX8MQ_CLK_LCDIF_PIXEL>; 126162306a36Sopenharmony_ci clock-names = "core", "rx_esc", "tx_esc", "phy_ref", "lcdif"; 126262306a36Sopenharmony_ci assigned-clocks = <&clk IMX8MQ_CLK_DSI_AHB>, 126362306a36Sopenharmony_ci <&clk IMX8MQ_CLK_DSI_CORE>, 126462306a36Sopenharmony_ci <&clk IMX8MQ_CLK_DSI_IPG_DIV>; 126562306a36Sopenharmony_ci assigned-clock-parents = <&clk IMX8MQ_SYS1_PLL_80M>, 126662306a36Sopenharmony_ci <&clk IMX8MQ_SYS1_PLL_266M>; 126762306a36Sopenharmony_ci assigned-clock-rates = <80000000>, <266000000>, <20000000>; 126862306a36Sopenharmony_ci interrupts = <GIC_SPI 34 IRQ_TYPE_LEVEL_HIGH>; 126962306a36Sopenharmony_ci mux-controls = <&mux 0>; 127062306a36Sopenharmony_ci power-domains = <&pgc_mipi>; 127162306a36Sopenharmony_ci phys = <&dphy>; 127262306a36Sopenharmony_ci phy-names = "dphy"; 127362306a36Sopenharmony_ci resets = <&src IMX8MQ_RESET_MIPI_DSI_RESET_BYTE_N>, 127462306a36Sopenharmony_ci <&src IMX8MQ_RESET_MIPI_DSI_DPI_RESET_N>, 127562306a36Sopenharmony_ci <&src IMX8MQ_RESET_MIPI_DSI_ESC_RESET_N>, 127662306a36Sopenharmony_ci <&src IMX8MQ_RESET_MIPI_DSI_PCLK_RESET_N>; 127762306a36Sopenharmony_ci reset-names = "byte", "dpi", "esc", "pclk"; 127862306a36Sopenharmony_ci status = "disabled"; 127962306a36Sopenharmony_ci 128062306a36Sopenharmony_ci ports { 128162306a36Sopenharmony_ci #address-cells = <1>; 128262306a36Sopenharmony_ci #size-cells = <0>; 128362306a36Sopenharmony_ci 128462306a36Sopenharmony_ci port@0 { 128562306a36Sopenharmony_ci reg = <0>; 128662306a36Sopenharmony_ci #address-cells = <1>; 128762306a36Sopenharmony_ci #size-cells = <0>; 128862306a36Sopenharmony_ci mipi_dsi_lcdif_in: endpoint@0 { 128962306a36Sopenharmony_ci reg = <0>; 129062306a36Sopenharmony_ci remote-endpoint = <&lcdif_mipi_dsi>; 129162306a36Sopenharmony_ci }; 129262306a36Sopenharmony_ci }; 129362306a36Sopenharmony_ci }; 129462306a36Sopenharmony_ci }; 129562306a36Sopenharmony_ci 129662306a36Sopenharmony_ci dphy: dphy@30a00300 { 129762306a36Sopenharmony_ci compatible = "fsl,imx8mq-mipi-dphy"; 129862306a36Sopenharmony_ci reg = <0x30a00300 0x100>; 129962306a36Sopenharmony_ci clocks = <&clk IMX8MQ_CLK_DSI_PHY_REF>; 130062306a36Sopenharmony_ci clock-names = "phy_ref"; 130162306a36Sopenharmony_ci assigned-clocks = <&clk IMX8MQ_VIDEO_PLL1_REF_SEL>, 130262306a36Sopenharmony_ci <&clk IMX8MQ_VIDEO_PLL1_BYPASS>, 130362306a36Sopenharmony_ci <&clk IMX8MQ_CLK_DSI_PHY_REF>, 130462306a36Sopenharmony_ci <&clk IMX8MQ_VIDEO_PLL1>; 130562306a36Sopenharmony_ci assigned-clock-parents = <&clk IMX8MQ_CLK_25M>, 130662306a36Sopenharmony_ci <&clk IMX8MQ_VIDEO_PLL1>, 130762306a36Sopenharmony_ci <&clk IMX8MQ_VIDEO_PLL1_OUT>; 130862306a36Sopenharmony_ci assigned-clock-rates = <0>, <0>, <24000000>, <594000000>; 130962306a36Sopenharmony_ci #phy-cells = <0>; 131062306a36Sopenharmony_ci power-domains = <&pgc_mipi>; 131162306a36Sopenharmony_ci status = "disabled"; 131262306a36Sopenharmony_ci }; 131362306a36Sopenharmony_ci 131462306a36Sopenharmony_ci i2c1: i2c@30a20000 { 131562306a36Sopenharmony_ci compatible = "fsl,imx8mq-i2c", "fsl,imx21-i2c"; 131662306a36Sopenharmony_ci reg = <0x30a20000 0x10000>; 131762306a36Sopenharmony_ci interrupts = <GIC_SPI 35 IRQ_TYPE_LEVEL_HIGH>; 131862306a36Sopenharmony_ci clocks = <&clk IMX8MQ_CLK_I2C1_ROOT>; 131962306a36Sopenharmony_ci #address-cells = <1>; 132062306a36Sopenharmony_ci #size-cells = <0>; 132162306a36Sopenharmony_ci status = "disabled"; 132262306a36Sopenharmony_ci }; 132362306a36Sopenharmony_ci 132462306a36Sopenharmony_ci i2c2: i2c@30a30000 { 132562306a36Sopenharmony_ci compatible = "fsl,imx8mq-i2c", "fsl,imx21-i2c"; 132662306a36Sopenharmony_ci reg = <0x30a30000 0x10000>; 132762306a36Sopenharmony_ci interrupts = <GIC_SPI 36 IRQ_TYPE_LEVEL_HIGH>; 132862306a36Sopenharmony_ci clocks = <&clk IMX8MQ_CLK_I2C2_ROOT>; 132962306a36Sopenharmony_ci #address-cells = <1>; 133062306a36Sopenharmony_ci #size-cells = <0>; 133162306a36Sopenharmony_ci status = "disabled"; 133262306a36Sopenharmony_ci }; 133362306a36Sopenharmony_ci 133462306a36Sopenharmony_ci i2c3: i2c@30a40000 { 133562306a36Sopenharmony_ci compatible = "fsl,imx8mq-i2c", "fsl,imx21-i2c"; 133662306a36Sopenharmony_ci reg = <0x30a40000 0x10000>; 133762306a36Sopenharmony_ci interrupts = <GIC_SPI 37 IRQ_TYPE_LEVEL_HIGH>; 133862306a36Sopenharmony_ci clocks = <&clk IMX8MQ_CLK_I2C3_ROOT>; 133962306a36Sopenharmony_ci #address-cells = <1>; 134062306a36Sopenharmony_ci #size-cells = <0>; 134162306a36Sopenharmony_ci status = "disabled"; 134262306a36Sopenharmony_ci }; 134362306a36Sopenharmony_ci 134462306a36Sopenharmony_ci i2c4: i2c@30a50000 { 134562306a36Sopenharmony_ci compatible = "fsl,imx8mq-i2c", "fsl,imx21-i2c"; 134662306a36Sopenharmony_ci reg = <0x30a50000 0x10000>; 134762306a36Sopenharmony_ci interrupts = <GIC_SPI 38 IRQ_TYPE_LEVEL_HIGH>; 134862306a36Sopenharmony_ci clocks = <&clk IMX8MQ_CLK_I2C4_ROOT>; 134962306a36Sopenharmony_ci #address-cells = <1>; 135062306a36Sopenharmony_ci #size-cells = <0>; 135162306a36Sopenharmony_ci status = "disabled"; 135262306a36Sopenharmony_ci }; 135362306a36Sopenharmony_ci 135462306a36Sopenharmony_ci uart4: serial@30a60000 { 135562306a36Sopenharmony_ci compatible = "fsl,imx8mq-uart", 135662306a36Sopenharmony_ci "fsl,imx6q-uart"; 135762306a36Sopenharmony_ci reg = <0x30a60000 0x10000>; 135862306a36Sopenharmony_ci interrupts = <GIC_SPI 29 IRQ_TYPE_LEVEL_HIGH>; 135962306a36Sopenharmony_ci clocks = <&clk IMX8MQ_CLK_UART4_ROOT>, 136062306a36Sopenharmony_ci <&clk IMX8MQ_CLK_UART4_ROOT>; 136162306a36Sopenharmony_ci clock-names = "ipg", "per"; 136262306a36Sopenharmony_ci dmas = <&sdma1 28 4 0>, <&sdma1 29 4 0>; 136362306a36Sopenharmony_ci dma-names = "rx", "tx"; 136462306a36Sopenharmony_ci status = "disabled"; 136562306a36Sopenharmony_ci }; 136662306a36Sopenharmony_ci 136762306a36Sopenharmony_ci mipi_csi1: csi@30a70000 { 136862306a36Sopenharmony_ci compatible = "fsl,imx8mq-mipi-csi2"; 136962306a36Sopenharmony_ci reg = <0x30a70000 0x1000>; 137062306a36Sopenharmony_ci clocks = <&clk IMX8MQ_CLK_CSI1_CORE>, 137162306a36Sopenharmony_ci <&clk IMX8MQ_CLK_CSI1_ESC>, 137262306a36Sopenharmony_ci <&clk IMX8MQ_CLK_CSI1_PHY_REF>; 137362306a36Sopenharmony_ci clock-names = "core", "esc", "ui"; 137462306a36Sopenharmony_ci assigned-clocks = <&clk IMX8MQ_CLK_CSI1_CORE>, 137562306a36Sopenharmony_ci <&clk IMX8MQ_CLK_CSI1_PHY_REF>, 137662306a36Sopenharmony_ci <&clk IMX8MQ_CLK_CSI1_ESC>; 137762306a36Sopenharmony_ci assigned-clock-rates = <266000000>, <333000000>, <66000000>; 137862306a36Sopenharmony_ci assigned-clock-parents = <&clk IMX8MQ_SYS1_PLL_266M>, 137962306a36Sopenharmony_ci <&clk IMX8MQ_SYS2_PLL_1000M>, 138062306a36Sopenharmony_ci <&clk IMX8MQ_SYS1_PLL_800M>; 138162306a36Sopenharmony_ci power-domains = <&pgc_mipi_csi1>; 138262306a36Sopenharmony_ci resets = <&src IMX8MQ_RESET_MIPI_CSI1_CORE_RESET>, 138362306a36Sopenharmony_ci <&src IMX8MQ_RESET_MIPI_CSI1_PHY_REF_RESET>, 138462306a36Sopenharmony_ci <&src IMX8MQ_RESET_MIPI_CSI1_ESC_RESET>; 138562306a36Sopenharmony_ci fsl,mipi-phy-gpr = <&iomuxc_gpr 0x88>; 138662306a36Sopenharmony_ci interconnects = <&noc IMX8MQ_ICM_CSI1 &noc IMX8MQ_ICS_DRAM>; 138762306a36Sopenharmony_ci interconnect-names = "dram"; 138862306a36Sopenharmony_ci status = "disabled"; 138962306a36Sopenharmony_ci 139062306a36Sopenharmony_ci ports { 139162306a36Sopenharmony_ci #address-cells = <1>; 139262306a36Sopenharmony_ci #size-cells = <0>; 139362306a36Sopenharmony_ci 139462306a36Sopenharmony_ci port@1 { 139562306a36Sopenharmony_ci reg = <1>; 139662306a36Sopenharmony_ci 139762306a36Sopenharmony_ci csi1_mipi_ep: endpoint { 139862306a36Sopenharmony_ci remote-endpoint = <&csi1_ep>; 139962306a36Sopenharmony_ci }; 140062306a36Sopenharmony_ci }; 140162306a36Sopenharmony_ci }; 140262306a36Sopenharmony_ci }; 140362306a36Sopenharmony_ci 140462306a36Sopenharmony_ci csi1: csi@30a90000 { 140562306a36Sopenharmony_ci compatible = "fsl,imx8mq-csi"; 140662306a36Sopenharmony_ci reg = <0x30a90000 0x10000>; 140762306a36Sopenharmony_ci interrupts = <GIC_SPI 42 IRQ_TYPE_LEVEL_HIGH>; 140862306a36Sopenharmony_ci clocks = <&clk IMX8MQ_CLK_CSI1_ROOT>; 140962306a36Sopenharmony_ci clock-names = "mclk"; 141062306a36Sopenharmony_ci status = "disabled"; 141162306a36Sopenharmony_ci 141262306a36Sopenharmony_ci port { 141362306a36Sopenharmony_ci csi1_ep: endpoint { 141462306a36Sopenharmony_ci remote-endpoint = <&csi1_mipi_ep>; 141562306a36Sopenharmony_ci }; 141662306a36Sopenharmony_ci }; 141762306a36Sopenharmony_ci }; 141862306a36Sopenharmony_ci 141962306a36Sopenharmony_ci mipi_csi2: csi@30b60000 { 142062306a36Sopenharmony_ci compatible = "fsl,imx8mq-mipi-csi2"; 142162306a36Sopenharmony_ci reg = <0x30b60000 0x1000>; 142262306a36Sopenharmony_ci clocks = <&clk IMX8MQ_CLK_CSI2_CORE>, 142362306a36Sopenharmony_ci <&clk IMX8MQ_CLK_CSI2_ESC>, 142462306a36Sopenharmony_ci <&clk IMX8MQ_CLK_CSI2_PHY_REF>; 142562306a36Sopenharmony_ci clock-names = "core", "esc", "ui"; 142662306a36Sopenharmony_ci assigned-clocks = <&clk IMX8MQ_CLK_CSI2_CORE>, 142762306a36Sopenharmony_ci <&clk IMX8MQ_CLK_CSI2_PHY_REF>, 142862306a36Sopenharmony_ci <&clk IMX8MQ_CLK_CSI2_ESC>; 142962306a36Sopenharmony_ci assigned-clock-rates = <266000000>, <333000000>, <66000000>; 143062306a36Sopenharmony_ci assigned-clock-parents = <&clk IMX8MQ_SYS1_PLL_266M>, 143162306a36Sopenharmony_ci <&clk IMX8MQ_SYS2_PLL_1000M>, 143262306a36Sopenharmony_ci <&clk IMX8MQ_SYS1_PLL_800M>; 143362306a36Sopenharmony_ci power-domains = <&pgc_mipi_csi2>; 143462306a36Sopenharmony_ci resets = <&src IMX8MQ_RESET_MIPI_CSI2_CORE_RESET>, 143562306a36Sopenharmony_ci <&src IMX8MQ_RESET_MIPI_CSI2_PHY_REF_RESET>, 143662306a36Sopenharmony_ci <&src IMX8MQ_RESET_MIPI_CSI2_ESC_RESET>; 143762306a36Sopenharmony_ci fsl,mipi-phy-gpr = <&iomuxc_gpr 0xa4>; 143862306a36Sopenharmony_ci interconnects = <&noc IMX8MQ_ICM_CSI2 &noc IMX8MQ_ICS_DRAM>; 143962306a36Sopenharmony_ci interconnect-names = "dram"; 144062306a36Sopenharmony_ci status = "disabled"; 144162306a36Sopenharmony_ci 144262306a36Sopenharmony_ci ports { 144362306a36Sopenharmony_ci #address-cells = <1>; 144462306a36Sopenharmony_ci #size-cells = <0>; 144562306a36Sopenharmony_ci 144662306a36Sopenharmony_ci port@1 { 144762306a36Sopenharmony_ci reg = <1>; 144862306a36Sopenharmony_ci 144962306a36Sopenharmony_ci csi2_mipi_ep: endpoint { 145062306a36Sopenharmony_ci remote-endpoint = <&csi2_ep>; 145162306a36Sopenharmony_ci }; 145262306a36Sopenharmony_ci }; 145362306a36Sopenharmony_ci }; 145462306a36Sopenharmony_ci }; 145562306a36Sopenharmony_ci 145662306a36Sopenharmony_ci csi2: csi@30b80000 { 145762306a36Sopenharmony_ci compatible = "fsl,imx8mq-csi"; 145862306a36Sopenharmony_ci reg = <0x30b80000 0x10000>; 145962306a36Sopenharmony_ci interrupts = <GIC_SPI 43 IRQ_TYPE_LEVEL_HIGH>; 146062306a36Sopenharmony_ci clocks = <&clk IMX8MQ_CLK_CSI2_ROOT>; 146162306a36Sopenharmony_ci clock-names = "mclk"; 146262306a36Sopenharmony_ci status = "disabled"; 146362306a36Sopenharmony_ci 146462306a36Sopenharmony_ci port { 146562306a36Sopenharmony_ci csi2_ep: endpoint { 146662306a36Sopenharmony_ci remote-endpoint = <&csi2_mipi_ep>; 146762306a36Sopenharmony_ci }; 146862306a36Sopenharmony_ci }; 146962306a36Sopenharmony_ci }; 147062306a36Sopenharmony_ci 147162306a36Sopenharmony_ci mu: mailbox@30aa0000 { 147262306a36Sopenharmony_ci compatible = "fsl,imx8mq-mu", "fsl,imx6sx-mu"; 147362306a36Sopenharmony_ci reg = <0x30aa0000 0x10000>; 147462306a36Sopenharmony_ci interrupts = <GIC_SPI 88 IRQ_TYPE_LEVEL_HIGH>; 147562306a36Sopenharmony_ci clocks = <&clk IMX8MQ_CLK_MU_ROOT>; 147662306a36Sopenharmony_ci #mbox-cells = <2>; 147762306a36Sopenharmony_ci }; 147862306a36Sopenharmony_ci 147962306a36Sopenharmony_ci usdhc1: mmc@30b40000 { 148062306a36Sopenharmony_ci compatible = "fsl,imx8mq-usdhc", 148162306a36Sopenharmony_ci "fsl,imx7d-usdhc"; 148262306a36Sopenharmony_ci reg = <0x30b40000 0x10000>; 148362306a36Sopenharmony_ci interrupts = <GIC_SPI 22 IRQ_TYPE_LEVEL_HIGH>; 148462306a36Sopenharmony_ci clocks = <&clk IMX8MQ_CLK_IPG_ROOT>, 148562306a36Sopenharmony_ci <&clk IMX8MQ_CLK_NAND_USDHC_BUS>, 148662306a36Sopenharmony_ci <&clk IMX8MQ_CLK_USDHC1_ROOT>; 148762306a36Sopenharmony_ci clock-names = "ipg", "ahb", "per"; 148862306a36Sopenharmony_ci fsl,tuning-start-tap = <20>; 148962306a36Sopenharmony_ci fsl,tuning-step = <2>; 149062306a36Sopenharmony_ci bus-width = <4>; 149162306a36Sopenharmony_ci status = "disabled"; 149262306a36Sopenharmony_ci }; 149362306a36Sopenharmony_ci 149462306a36Sopenharmony_ci usdhc2: mmc@30b50000 { 149562306a36Sopenharmony_ci compatible = "fsl,imx8mq-usdhc", 149662306a36Sopenharmony_ci "fsl,imx7d-usdhc"; 149762306a36Sopenharmony_ci reg = <0x30b50000 0x10000>; 149862306a36Sopenharmony_ci interrupts = <GIC_SPI 23 IRQ_TYPE_LEVEL_HIGH>; 149962306a36Sopenharmony_ci clocks = <&clk IMX8MQ_CLK_IPG_ROOT>, 150062306a36Sopenharmony_ci <&clk IMX8MQ_CLK_NAND_USDHC_BUS>, 150162306a36Sopenharmony_ci <&clk IMX8MQ_CLK_USDHC2_ROOT>; 150262306a36Sopenharmony_ci clock-names = "ipg", "ahb", "per"; 150362306a36Sopenharmony_ci fsl,tuning-start-tap = <20>; 150462306a36Sopenharmony_ci fsl,tuning-step = <2>; 150562306a36Sopenharmony_ci bus-width = <4>; 150662306a36Sopenharmony_ci status = "disabled"; 150762306a36Sopenharmony_ci }; 150862306a36Sopenharmony_ci 150962306a36Sopenharmony_ci qspi0: spi@30bb0000 { 151062306a36Sopenharmony_ci #address-cells = <1>; 151162306a36Sopenharmony_ci #size-cells = <0>; 151262306a36Sopenharmony_ci compatible = "fsl,imx8mq-qspi", "fsl,imx7d-qspi"; 151362306a36Sopenharmony_ci reg = <0x30bb0000 0x10000>, 151462306a36Sopenharmony_ci <0x08000000 0x10000000>; 151562306a36Sopenharmony_ci reg-names = "QuadSPI", "QuadSPI-memory"; 151662306a36Sopenharmony_ci interrupts = <GIC_SPI 107 IRQ_TYPE_LEVEL_HIGH>; 151762306a36Sopenharmony_ci clocks = <&clk IMX8MQ_CLK_QSPI_ROOT>, 151862306a36Sopenharmony_ci <&clk IMX8MQ_CLK_QSPI_ROOT>; 151962306a36Sopenharmony_ci clock-names = "qspi_en", "qspi"; 152062306a36Sopenharmony_ci status = "disabled"; 152162306a36Sopenharmony_ci }; 152262306a36Sopenharmony_ci 152362306a36Sopenharmony_ci sdma1: dma-controller@30bd0000 { 152462306a36Sopenharmony_ci compatible = "fsl,imx8mq-sdma","fsl,imx7d-sdma"; 152562306a36Sopenharmony_ci reg = <0x30bd0000 0x10000>; 152662306a36Sopenharmony_ci interrupts = <GIC_SPI 2 IRQ_TYPE_LEVEL_HIGH>; 152762306a36Sopenharmony_ci clocks = <&clk IMX8MQ_CLK_SDMA1_ROOT>, 152862306a36Sopenharmony_ci <&clk IMX8MQ_CLK_AHB>; 152962306a36Sopenharmony_ci clock-names = "ipg", "ahb"; 153062306a36Sopenharmony_ci #dma-cells = <3>; 153162306a36Sopenharmony_ci fsl,sdma-ram-script-name = "imx/sdma/sdma-imx7d.bin"; 153262306a36Sopenharmony_ci }; 153362306a36Sopenharmony_ci 153462306a36Sopenharmony_ci fec1: ethernet@30be0000 { 153562306a36Sopenharmony_ci compatible = "fsl,imx8mq-fec", "fsl,imx6sx-fec"; 153662306a36Sopenharmony_ci reg = <0x30be0000 0x10000>; 153762306a36Sopenharmony_ci interrupts = <GIC_SPI 118 IRQ_TYPE_LEVEL_HIGH>, 153862306a36Sopenharmony_ci <GIC_SPI 119 IRQ_TYPE_LEVEL_HIGH>, 153962306a36Sopenharmony_ci <GIC_SPI 120 IRQ_TYPE_LEVEL_HIGH>, 154062306a36Sopenharmony_ci <GIC_SPI 121 IRQ_TYPE_LEVEL_HIGH>; 154162306a36Sopenharmony_ci clocks = <&clk IMX8MQ_CLK_ENET1_ROOT>, 154262306a36Sopenharmony_ci <&clk IMX8MQ_CLK_ENET1_ROOT>, 154362306a36Sopenharmony_ci <&clk IMX8MQ_CLK_ENET_TIMER>, 154462306a36Sopenharmony_ci <&clk IMX8MQ_CLK_ENET_REF>, 154562306a36Sopenharmony_ci <&clk IMX8MQ_CLK_ENET_PHY_REF>; 154662306a36Sopenharmony_ci clock-names = "ipg", "ahb", "ptp", 154762306a36Sopenharmony_ci "enet_clk_ref", "enet_out"; 154862306a36Sopenharmony_ci assigned-clocks = <&clk IMX8MQ_CLK_ENET_AXI>, 154962306a36Sopenharmony_ci <&clk IMX8MQ_CLK_ENET_TIMER>, 155062306a36Sopenharmony_ci <&clk IMX8MQ_CLK_ENET_REF>, 155162306a36Sopenharmony_ci <&clk IMX8MQ_CLK_ENET_PHY_REF>; 155262306a36Sopenharmony_ci assigned-clock-parents = <&clk IMX8MQ_SYS1_PLL_266M>, 155362306a36Sopenharmony_ci <&clk IMX8MQ_SYS2_PLL_100M>, 155462306a36Sopenharmony_ci <&clk IMX8MQ_SYS2_PLL_125M>, 155562306a36Sopenharmony_ci <&clk IMX8MQ_SYS2_PLL_50M>; 155662306a36Sopenharmony_ci assigned-clock-rates = <0>, <100000000>, <125000000>, <0>; 155762306a36Sopenharmony_ci fsl,num-tx-queues = <3>; 155862306a36Sopenharmony_ci fsl,num-rx-queues = <3>; 155962306a36Sopenharmony_ci nvmem-cells = <&fec_mac_address>; 156062306a36Sopenharmony_ci nvmem-cell-names = "mac-address"; 156162306a36Sopenharmony_ci fsl,stop-mode = <&iomuxc_gpr 0x10 3>; 156262306a36Sopenharmony_ci status = "disabled"; 156362306a36Sopenharmony_ci }; 156462306a36Sopenharmony_ci }; 156562306a36Sopenharmony_ci 156662306a36Sopenharmony_ci noc: interconnect@32700000 { 156762306a36Sopenharmony_ci compatible = "fsl,imx8mq-noc", "fsl,imx8m-noc"; 156862306a36Sopenharmony_ci reg = <0x32700000 0x100000>; 156962306a36Sopenharmony_ci clocks = <&clk IMX8MQ_CLK_NOC>; 157062306a36Sopenharmony_ci fsl,ddrc = <&ddrc>; 157162306a36Sopenharmony_ci #interconnect-cells = <1>; 157262306a36Sopenharmony_ci operating-points-v2 = <&noc_opp_table>; 157362306a36Sopenharmony_ci 157462306a36Sopenharmony_ci noc_opp_table: opp-table { 157562306a36Sopenharmony_ci compatible = "operating-points-v2"; 157662306a36Sopenharmony_ci 157762306a36Sopenharmony_ci opp-133000000 { 157862306a36Sopenharmony_ci opp-hz = /bits/ 64 <133333333>; 157962306a36Sopenharmony_ci }; 158062306a36Sopenharmony_ci 158162306a36Sopenharmony_ci opp-400000000 { 158262306a36Sopenharmony_ci opp-hz = /bits/ 64 <400000000>; 158362306a36Sopenharmony_ci }; 158462306a36Sopenharmony_ci 158562306a36Sopenharmony_ci opp-800000000 { 158662306a36Sopenharmony_ci opp-hz = /bits/ 64 <800000000>; 158762306a36Sopenharmony_ci }; 158862306a36Sopenharmony_ci }; 158962306a36Sopenharmony_ci }; 159062306a36Sopenharmony_ci 159162306a36Sopenharmony_ci aips4: bus@32c00000 { /* AIPS4 */ 159262306a36Sopenharmony_ci compatible = "fsl,aips-bus", "simple-bus"; 159362306a36Sopenharmony_ci reg = <0x32c00000 0x400000>; 159462306a36Sopenharmony_ci #address-cells = <1>; 159562306a36Sopenharmony_ci #size-cells = <1>; 159662306a36Sopenharmony_ci ranges = <0x32c00000 0x32c00000 0x400000>; 159762306a36Sopenharmony_ci 159862306a36Sopenharmony_ci irqsteer: interrupt-controller@32e2d000 { 159962306a36Sopenharmony_ci compatible = "fsl,imx8m-irqsteer", "fsl,imx-irqsteer"; 160062306a36Sopenharmony_ci reg = <0x32e2d000 0x1000>; 160162306a36Sopenharmony_ci interrupts = <GIC_SPI 18 IRQ_TYPE_LEVEL_HIGH>; 160262306a36Sopenharmony_ci clocks = <&clk IMX8MQ_CLK_DISP_APB_ROOT>; 160362306a36Sopenharmony_ci clock-names = "ipg"; 160462306a36Sopenharmony_ci fsl,channel = <0>; 160562306a36Sopenharmony_ci fsl,num-irqs = <64>; 160662306a36Sopenharmony_ci interrupt-controller; 160762306a36Sopenharmony_ci #interrupt-cells = <1>; 160862306a36Sopenharmony_ci }; 160962306a36Sopenharmony_ci }; 161062306a36Sopenharmony_ci 161162306a36Sopenharmony_ci gpu: gpu@38000000 { 161262306a36Sopenharmony_ci compatible = "vivante,gc"; 161362306a36Sopenharmony_ci reg = <0x38000000 0x40000>; 161462306a36Sopenharmony_ci interrupts = <GIC_SPI 3 IRQ_TYPE_LEVEL_HIGH>; 161562306a36Sopenharmony_ci clocks = <&clk IMX8MQ_CLK_GPU_ROOT>, 161662306a36Sopenharmony_ci <&clk IMX8MQ_CLK_GPU_SHADER_DIV>, 161762306a36Sopenharmony_ci <&clk IMX8MQ_CLK_GPU_AXI>, 161862306a36Sopenharmony_ci <&clk IMX8MQ_CLK_GPU_AHB>; 161962306a36Sopenharmony_ci clock-names = "core", "shader", "bus", "reg"; 162062306a36Sopenharmony_ci #cooling-cells = <2>; 162162306a36Sopenharmony_ci assigned-clocks = <&clk IMX8MQ_CLK_GPU_CORE_SRC>, 162262306a36Sopenharmony_ci <&clk IMX8MQ_CLK_GPU_SHADER_SRC>, 162362306a36Sopenharmony_ci <&clk IMX8MQ_CLK_GPU_AXI>, 162462306a36Sopenharmony_ci <&clk IMX8MQ_CLK_GPU_AHB>, 162562306a36Sopenharmony_ci <&clk IMX8MQ_GPU_PLL_BYPASS>; 162662306a36Sopenharmony_ci assigned-clock-parents = <&clk IMX8MQ_GPU_PLL_OUT>, 162762306a36Sopenharmony_ci <&clk IMX8MQ_GPU_PLL_OUT>, 162862306a36Sopenharmony_ci <&clk IMX8MQ_GPU_PLL_OUT>, 162962306a36Sopenharmony_ci <&clk IMX8MQ_GPU_PLL_OUT>, 163062306a36Sopenharmony_ci <&clk IMX8MQ_GPU_PLL>; 163162306a36Sopenharmony_ci assigned-clock-rates = <800000000>, <800000000>, 163262306a36Sopenharmony_ci <800000000>, <800000000>, <0>; 163362306a36Sopenharmony_ci power-domains = <&pgc_gpu>; 163462306a36Sopenharmony_ci }; 163562306a36Sopenharmony_ci 163662306a36Sopenharmony_ci usb_dwc3_0: usb@38100000 { 163762306a36Sopenharmony_ci compatible = "fsl,imx8mq-dwc3", "snps,dwc3"; 163862306a36Sopenharmony_ci reg = <0x38100000 0x10000>; 163962306a36Sopenharmony_ci clocks = <&clk IMX8MQ_CLK_USB1_CTRL_ROOT>, 164062306a36Sopenharmony_ci <&clk IMX8MQ_CLK_USB_CORE_REF>, 164162306a36Sopenharmony_ci <&clk IMX8MQ_CLK_32K>; 164262306a36Sopenharmony_ci clock-names = "bus_early", "ref", "suspend"; 164362306a36Sopenharmony_ci assigned-clocks = <&clk IMX8MQ_CLK_USB_BUS>, 164462306a36Sopenharmony_ci <&clk IMX8MQ_CLK_USB_CORE_REF>; 164562306a36Sopenharmony_ci assigned-clock-parents = <&clk IMX8MQ_SYS2_PLL_500M>, 164662306a36Sopenharmony_ci <&clk IMX8MQ_SYS1_PLL_100M>; 164762306a36Sopenharmony_ci assigned-clock-rates = <500000000>, <100000000>; 164862306a36Sopenharmony_ci interrupts = <GIC_SPI 40 IRQ_TYPE_LEVEL_HIGH>; 164962306a36Sopenharmony_ci phys = <&usb3_phy0>, <&usb3_phy0>; 165062306a36Sopenharmony_ci phy-names = "usb2-phy", "usb3-phy"; 165162306a36Sopenharmony_ci power-domains = <&pgc_otg1>; 165262306a36Sopenharmony_ci snps,parkmode-disable-ss-quirk; 165362306a36Sopenharmony_ci status = "disabled"; 165462306a36Sopenharmony_ci }; 165562306a36Sopenharmony_ci 165662306a36Sopenharmony_ci usb3_phy0: usb-phy@381f0040 { 165762306a36Sopenharmony_ci compatible = "fsl,imx8mq-usb-phy"; 165862306a36Sopenharmony_ci reg = <0x381f0040 0x40>; 165962306a36Sopenharmony_ci clocks = <&clk IMX8MQ_CLK_USB1_PHY_ROOT>; 166062306a36Sopenharmony_ci clock-names = "phy"; 166162306a36Sopenharmony_ci assigned-clocks = <&clk IMX8MQ_CLK_USB_PHY_REF>; 166262306a36Sopenharmony_ci assigned-clock-parents = <&clk IMX8MQ_SYS1_PLL_100M>; 166362306a36Sopenharmony_ci assigned-clock-rates = <100000000>; 166462306a36Sopenharmony_ci #phy-cells = <0>; 166562306a36Sopenharmony_ci status = "disabled"; 166662306a36Sopenharmony_ci }; 166762306a36Sopenharmony_ci 166862306a36Sopenharmony_ci usb_dwc3_1: usb@38200000 { 166962306a36Sopenharmony_ci compatible = "fsl,imx8mq-dwc3", "snps,dwc3"; 167062306a36Sopenharmony_ci reg = <0x38200000 0x10000>; 167162306a36Sopenharmony_ci clocks = <&clk IMX8MQ_CLK_USB2_CTRL_ROOT>, 167262306a36Sopenharmony_ci <&clk IMX8MQ_CLK_USB_CORE_REF>, 167362306a36Sopenharmony_ci <&clk IMX8MQ_CLK_32K>; 167462306a36Sopenharmony_ci clock-names = "bus_early", "ref", "suspend"; 167562306a36Sopenharmony_ci assigned-clocks = <&clk IMX8MQ_CLK_USB_BUS>, 167662306a36Sopenharmony_ci <&clk IMX8MQ_CLK_USB_CORE_REF>; 167762306a36Sopenharmony_ci assigned-clock-parents = <&clk IMX8MQ_SYS2_PLL_500M>, 167862306a36Sopenharmony_ci <&clk IMX8MQ_SYS1_PLL_100M>; 167962306a36Sopenharmony_ci assigned-clock-rates = <500000000>, <100000000>; 168062306a36Sopenharmony_ci interrupts = <GIC_SPI 41 IRQ_TYPE_LEVEL_HIGH>; 168162306a36Sopenharmony_ci phys = <&usb3_phy1>, <&usb3_phy1>; 168262306a36Sopenharmony_ci phy-names = "usb2-phy", "usb3-phy"; 168362306a36Sopenharmony_ci power-domains = <&pgc_otg2>; 168462306a36Sopenharmony_ci snps,parkmode-disable-ss-quirk; 168562306a36Sopenharmony_ci status = "disabled"; 168662306a36Sopenharmony_ci }; 168762306a36Sopenharmony_ci 168862306a36Sopenharmony_ci usb3_phy1: usb-phy@382f0040 { 168962306a36Sopenharmony_ci compatible = "fsl,imx8mq-usb-phy"; 169062306a36Sopenharmony_ci reg = <0x382f0040 0x40>; 169162306a36Sopenharmony_ci clocks = <&clk IMX8MQ_CLK_USB2_PHY_ROOT>; 169262306a36Sopenharmony_ci clock-names = "phy"; 169362306a36Sopenharmony_ci assigned-clocks = <&clk IMX8MQ_CLK_USB_PHY_REF>; 169462306a36Sopenharmony_ci assigned-clock-parents = <&clk IMX8MQ_SYS1_PLL_100M>; 169562306a36Sopenharmony_ci assigned-clock-rates = <100000000>; 169662306a36Sopenharmony_ci #phy-cells = <0>; 169762306a36Sopenharmony_ci status = "disabled"; 169862306a36Sopenharmony_ci }; 169962306a36Sopenharmony_ci 170062306a36Sopenharmony_ci vpu_g1: video-codec@38300000 { 170162306a36Sopenharmony_ci compatible = "nxp,imx8mq-vpu-g1"; 170262306a36Sopenharmony_ci reg = <0x38300000 0x10000>; 170362306a36Sopenharmony_ci interrupts = <GIC_SPI 7 IRQ_TYPE_LEVEL_HIGH>; 170462306a36Sopenharmony_ci clocks = <&clk IMX8MQ_CLK_VPU_G1_ROOT>; 170562306a36Sopenharmony_ci power-domains = <&vpu_blk_ctrl IMX8MQ_VPUBLK_PD_G1>; 170662306a36Sopenharmony_ci }; 170762306a36Sopenharmony_ci 170862306a36Sopenharmony_ci vpu_g2: video-codec@38310000 { 170962306a36Sopenharmony_ci compatible = "nxp,imx8mq-vpu-g2"; 171062306a36Sopenharmony_ci reg = <0x38310000 0x10000>; 171162306a36Sopenharmony_ci interrupts = <GIC_SPI 8 IRQ_TYPE_LEVEL_HIGH>; 171262306a36Sopenharmony_ci clocks = <&clk IMX8MQ_CLK_VPU_G2_ROOT>; 171362306a36Sopenharmony_ci power-domains = <&vpu_blk_ctrl IMX8MQ_VPUBLK_PD_G2>; 171462306a36Sopenharmony_ci }; 171562306a36Sopenharmony_ci 171662306a36Sopenharmony_ci vpu_blk_ctrl: blk-ctrl@38320000 { 171762306a36Sopenharmony_ci compatible = "fsl,imx8mq-vpu-blk-ctrl"; 171862306a36Sopenharmony_ci reg = <0x38320000 0x100>; 171962306a36Sopenharmony_ci power-domains = <&pgc_vpu>, <&pgc_vpu>, <&pgc_vpu>; 172062306a36Sopenharmony_ci power-domain-names = "bus", "g1", "g2"; 172162306a36Sopenharmony_ci clocks = <&clk IMX8MQ_CLK_VPU_G1_ROOT>, 172262306a36Sopenharmony_ci <&clk IMX8MQ_CLK_VPU_G2_ROOT>; 172362306a36Sopenharmony_ci clock-names = "g1", "g2"; 172462306a36Sopenharmony_ci #power-domain-cells = <1>; 172562306a36Sopenharmony_ci }; 172662306a36Sopenharmony_ci 172762306a36Sopenharmony_ci pcie0: pcie@33800000 { 172862306a36Sopenharmony_ci compatible = "fsl,imx8mq-pcie"; 172962306a36Sopenharmony_ci reg = <0x33800000 0x400000>, 173062306a36Sopenharmony_ci <0x1ff00000 0x80000>; 173162306a36Sopenharmony_ci reg-names = "dbi", "config"; 173262306a36Sopenharmony_ci #address-cells = <3>; 173362306a36Sopenharmony_ci #size-cells = <2>; 173462306a36Sopenharmony_ci device_type = "pci"; 173562306a36Sopenharmony_ci bus-range = <0x00 0xff>; 173662306a36Sopenharmony_ci ranges = <0x81000000 0 0x00000000 0x1ff80000 0 0x00010000>, /* downstream I/O 64KB */ 173762306a36Sopenharmony_ci <0x82000000 0 0x18000000 0x18000000 0 0x07f00000>; /* non-prefetchable memory */ 173862306a36Sopenharmony_ci num-lanes = <1>; 173962306a36Sopenharmony_ci interrupts = <GIC_SPI 122 IRQ_TYPE_LEVEL_HIGH>; 174062306a36Sopenharmony_ci interrupt-names = "msi"; 174162306a36Sopenharmony_ci #interrupt-cells = <1>; 174262306a36Sopenharmony_ci interrupt-map-mask = <0 0 0 0x7>; 174362306a36Sopenharmony_ci interrupt-map = <0 0 0 1 &gic GIC_SPI 125 IRQ_TYPE_LEVEL_HIGH>, 174462306a36Sopenharmony_ci <0 0 0 2 &gic GIC_SPI 124 IRQ_TYPE_LEVEL_HIGH>, 174562306a36Sopenharmony_ci <0 0 0 3 &gic GIC_SPI 123 IRQ_TYPE_LEVEL_HIGH>, 174662306a36Sopenharmony_ci <0 0 0 4 &gic GIC_SPI 122 IRQ_TYPE_LEVEL_HIGH>; 174762306a36Sopenharmony_ci fsl,max-link-speed = <2>; 174862306a36Sopenharmony_ci linux,pci-domain = <0>; 174962306a36Sopenharmony_ci clocks = <&clk IMX8MQ_CLK_PCIE1_ROOT>, 175062306a36Sopenharmony_ci <&clk IMX8MQ_CLK_PCIE1_PHY>, 175162306a36Sopenharmony_ci <&clk IMX8MQ_CLK_PCIE1_PHY>, 175262306a36Sopenharmony_ci <&clk IMX8MQ_CLK_PCIE1_AUX>; 175362306a36Sopenharmony_ci clock-names = "pcie", "pcie_bus", "pcie_phy", "pcie_aux"; 175462306a36Sopenharmony_ci power-domains = <&pgc_pcie>; 175562306a36Sopenharmony_ci resets = <&src IMX8MQ_RESET_PCIEPHY>, 175662306a36Sopenharmony_ci <&src IMX8MQ_RESET_PCIE_CTRL_APPS_EN>, 175762306a36Sopenharmony_ci <&src IMX8MQ_RESET_PCIE_CTRL_APPS_TURNOFF>; 175862306a36Sopenharmony_ci reset-names = "pciephy", "apps", "turnoff"; 175962306a36Sopenharmony_ci assigned-clocks = <&clk IMX8MQ_CLK_PCIE1_CTRL>, 176062306a36Sopenharmony_ci <&clk IMX8MQ_CLK_PCIE1_PHY>, 176162306a36Sopenharmony_ci <&clk IMX8MQ_CLK_PCIE1_AUX>; 176262306a36Sopenharmony_ci assigned-clock-parents = <&clk IMX8MQ_SYS2_PLL_250M>, 176362306a36Sopenharmony_ci <&clk IMX8MQ_SYS2_PLL_100M>, 176462306a36Sopenharmony_ci <&clk IMX8MQ_SYS1_PLL_80M>; 176562306a36Sopenharmony_ci assigned-clock-rates = <250000000>, <100000000>, 176662306a36Sopenharmony_ci <10000000>; 176762306a36Sopenharmony_ci status = "disabled"; 176862306a36Sopenharmony_ci }; 176962306a36Sopenharmony_ci 177062306a36Sopenharmony_ci pcie1: pcie@33c00000 { 177162306a36Sopenharmony_ci compatible = "fsl,imx8mq-pcie"; 177262306a36Sopenharmony_ci reg = <0x33c00000 0x400000>, 177362306a36Sopenharmony_ci <0x27f00000 0x80000>; 177462306a36Sopenharmony_ci reg-names = "dbi", "config"; 177562306a36Sopenharmony_ci #address-cells = <3>; 177662306a36Sopenharmony_ci #size-cells = <2>; 177762306a36Sopenharmony_ci device_type = "pci"; 177862306a36Sopenharmony_ci bus-range = <0x00 0xff>; 177962306a36Sopenharmony_ci ranges = <0x81000000 0 0x00000000 0x27f80000 0 0x00010000>, /* downstream I/O 64KB */ 178062306a36Sopenharmony_ci <0x82000000 0 0x20000000 0x20000000 0 0x07f00000>; /* non-prefetchable memory */ 178162306a36Sopenharmony_ci num-lanes = <1>; 178262306a36Sopenharmony_ci interrupts = <GIC_SPI 74 IRQ_TYPE_LEVEL_HIGH>; 178362306a36Sopenharmony_ci interrupt-names = "msi"; 178462306a36Sopenharmony_ci #interrupt-cells = <1>; 178562306a36Sopenharmony_ci interrupt-map-mask = <0 0 0 0x7>; 178662306a36Sopenharmony_ci interrupt-map = <0 0 0 1 &gic GIC_SPI 77 IRQ_TYPE_LEVEL_HIGH>, 178762306a36Sopenharmony_ci <0 0 0 2 &gic GIC_SPI 76 IRQ_TYPE_LEVEL_HIGH>, 178862306a36Sopenharmony_ci <0 0 0 3 &gic GIC_SPI 75 IRQ_TYPE_LEVEL_HIGH>, 178962306a36Sopenharmony_ci <0 0 0 4 &gic GIC_SPI 74 IRQ_TYPE_LEVEL_HIGH>; 179062306a36Sopenharmony_ci fsl,max-link-speed = <2>; 179162306a36Sopenharmony_ci linux,pci-domain = <1>; 179262306a36Sopenharmony_ci clocks = <&clk IMX8MQ_CLK_PCIE2_ROOT>, 179362306a36Sopenharmony_ci <&clk IMX8MQ_CLK_PCIE2_PHY>, 179462306a36Sopenharmony_ci <&clk IMX8MQ_CLK_PCIE2_PHY>, 179562306a36Sopenharmony_ci <&clk IMX8MQ_CLK_PCIE2_AUX>; 179662306a36Sopenharmony_ci clock-names = "pcie", "pcie_bus", "pcie_phy", "pcie_aux"; 179762306a36Sopenharmony_ci power-domains = <&pgc_pcie>; 179862306a36Sopenharmony_ci resets = <&src IMX8MQ_RESET_PCIEPHY2>, 179962306a36Sopenharmony_ci <&src IMX8MQ_RESET_PCIE2_CTRL_APPS_EN>, 180062306a36Sopenharmony_ci <&src IMX8MQ_RESET_PCIE2_CTRL_APPS_TURNOFF>; 180162306a36Sopenharmony_ci reset-names = "pciephy", "apps", "turnoff"; 180262306a36Sopenharmony_ci assigned-clocks = <&clk IMX8MQ_CLK_PCIE2_CTRL>, 180362306a36Sopenharmony_ci <&clk IMX8MQ_CLK_PCIE2_PHY>, 180462306a36Sopenharmony_ci <&clk IMX8MQ_CLK_PCIE2_AUX>; 180562306a36Sopenharmony_ci assigned-clock-parents = <&clk IMX8MQ_SYS2_PLL_250M>, 180662306a36Sopenharmony_ci <&clk IMX8MQ_SYS2_PLL_100M>, 180762306a36Sopenharmony_ci <&clk IMX8MQ_SYS1_PLL_80M>; 180862306a36Sopenharmony_ci assigned-clock-rates = <250000000>, <100000000>, 180962306a36Sopenharmony_ci <10000000>; 181062306a36Sopenharmony_ci status = "disabled"; 181162306a36Sopenharmony_ci }; 181262306a36Sopenharmony_ci 181362306a36Sopenharmony_ci pcie1_ep: pcie-ep@33c00000 { 181462306a36Sopenharmony_ci compatible = "fsl,imx8mq-pcie-ep"; 181562306a36Sopenharmony_ci reg = <0x33c00000 0x000400000>, 181662306a36Sopenharmony_ci <0x20000000 0x08000000>; 181762306a36Sopenharmony_ci reg-names = "dbi", "addr_space"; 181862306a36Sopenharmony_ci num-lanes = <1>; 181962306a36Sopenharmony_ci interrupts = <GIC_SPI 80 IRQ_TYPE_LEVEL_HIGH>; 182062306a36Sopenharmony_ci interrupt-names = "dma"; 182162306a36Sopenharmony_ci fsl,max-link-speed = <2>; 182262306a36Sopenharmony_ci clocks = <&clk IMX8MQ_CLK_PCIE2_ROOT>, 182362306a36Sopenharmony_ci <&clk IMX8MQ_CLK_PCIE2_PHY>, 182462306a36Sopenharmony_ci <&clk IMX8MQ_CLK_PCIE2_PHY>, 182562306a36Sopenharmony_ci <&clk IMX8MQ_CLK_PCIE2_AUX>; 182662306a36Sopenharmony_ci clock-names = "pcie", "pcie_bus", "pcie_phy", "pcie_aux"; 182762306a36Sopenharmony_ci power-domains = <&pgc_pcie>; 182862306a36Sopenharmony_ci resets = <&src IMX8MQ_RESET_PCIEPHY2>, 182962306a36Sopenharmony_ci <&src IMX8MQ_RESET_PCIE2_CTRL_APPS_EN>, 183062306a36Sopenharmony_ci <&src IMX8MQ_RESET_PCIE2_CTRL_APPS_TURNOFF>; 183162306a36Sopenharmony_ci reset-names = "pciephy", "apps", "turnoff"; 183262306a36Sopenharmony_ci assigned-clocks = <&clk IMX8MQ_CLK_PCIE2_CTRL>, 183362306a36Sopenharmony_ci <&clk IMX8MQ_CLK_PCIE2_PHY>, 183462306a36Sopenharmony_ci <&clk IMX8MQ_CLK_PCIE2_AUX>; 183562306a36Sopenharmony_ci assigned-clock-parents = <&clk IMX8MQ_SYS2_PLL_250M>, 183662306a36Sopenharmony_ci <&clk IMX8MQ_SYS2_PLL_100M>, 183762306a36Sopenharmony_ci <&clk IMX8MQ_SYS1_PLL_80M>; 183862306a36Sopenharmony_ci assigned-clock-rates = <250000000>, <100000000>, 183962306a36Sopenharmony_ci <10000000>; 184062306a36Sopenharmony_ci num-ib-windows = <4>; 184162306a36Sopenharmony_ci num-ob-windows = <4>; 184262306a36Sopenharmony_ci status = "disabled"; 184362306a36Sopenharmony_ci }; 184462306a36Sopenharmony_ci 184562306a36Sopenharmony_ci gic: interrupt-controller@38800000 { 184662306a36Sopenharmony_ci compatible = "arm,gic-v3"; 184762306a36Sopenharmony_ci reg = <0x38800000 0x10000>, /* GIC Dist */ 184862306a36Sopenharmony_ci <0x38880000 0xc0000>, /* GICR */ 184962306a36Sopenharmony_ci <0x31000000 0x2000>, /* GICC */ 185062306a36Sopenharmony_ci <0x31010000 0x2000>, /* GICV */ 185162306a36Sopenharmony_ci <0x31020000 0x2000>; /* GICH */ 185262306a36Sopenharmony_ci #interrupt-cells = <3>; 185362306a36Sopenharmony_ci interrupt-controller; 185462306a36Sopenharmony_ci interrupts = <GIC_PPI 9 IRQ_TYPE_LEVEL_HIGH>; 185562306a36Sopenharmony_ci interrupt-parent = <&gic>; 185662306a36Sopenharmony_ci }; 185762306a36Sopenharmony_ci 185862306a36Sopenharmony_ci ddrc: memory-controller@3d400000 { 185962306a36Sopenharmony_ci compatible = "fsl,imx8mq-ddrc", "fsl,imx8m-ddrc"; 186062306a36Sopenharmony_ci reg = <0x3d400000 0x400000>; 186162306a36Sopenharmony_ci clock-names = "core", "pll", "alt", "apb"; 186262306a36Sopenharmony_ci clocks = <&clk IMX8MQ_CLK_DRAM_CORE>, 186362306a36Sopenharmony_ci <&clk IMX8MQ_DRAM_PLL_OUT>, 186462306a36Sopenharmony_ci <&clk IMX8MQ_CLK_DRAM_ALT>, 186562306a36Sopenharmony_ci <&clk IMX8MQ_CLK_DRAM_APB>; 186662306a36Sopenharmony_ci status = "disabled"; 186762306a36Sopenharmony_ci }; 186862306a36Sopenharmony_ci 186962306a36Sopenharmony_ci ddr-pmu@3d800000 { 187062306a36Sopenharmony_ci compatible = "fsl,imx8mq-ddr-pmu", "fsl,imx8m-ddr-pmu"; 187162306a36Sopenharmony_ci reg = <0x3d800000 0x400000>; 187262306a36Sopenharmony_ci interrupt-parent = <&gic>; 187362306a36Sopenharmony_ci interrupts = <GIC_SPI 98 IRQ_TYPE_LEVEL_HIGH>; 187462306a36Sopenharmony_ci }; 187562306a36Sopenharmony_ci }; 187662306a36Sopenharmony_ci}; 1877