1c66ec88fSEmmanuel Vadot// SPDX-License-Identifier: (GPL-2.0+ OR MIT) 2c66ec88fSEmmanuel Vadot/* 3c66ec88fSEmmanuel Vadot * Copyright 2019 NXP 4c66ec88fSEmmanuel Vadot */ 5c66ec88fSEmmanuel Vadot 6c66ec88fSEmmanuel Vadot#include <dt-bindings/clock/imx8mm-clock.h> 7c66ec88fSEmmanuel Vadot#include <dt-bindings/gpio/gpio.h> 8c66ec88fSEmmanuel Vadot#include <dt-bindings/input/input.h> 9c66ec88fSEmmanuel Vadot#include <dt-bindings/interrupt-controller/arm-gic.h> 108cc087a1SEmmanuel Vadot#include <dt-bindings/power/imx8mm-power.h> 118cc087a1SEmmanuel Vadot#include <dt-bindings/reset/imx8mq-reset.h> 12c66ec88fSEmmanuel Vadot#include <dt-bindings/thermal/thermal.h> 13c66ec88fSEmmanuel Vadot 14c66ec88fSEmmanuel Vadot#include "imx8mm-pinfunc.h" 15c66ec88fSEmmanuel Vadot 16c66ec88fSEmmanuel Vadot/ { 17c66ec88fSEmmanuel Vadot interrupt-parent = <&gic>; 18c66ec88fSEmmanuel Vadot #address-cells = <2>; 19c66ec88fSEmmanuel Vadot #size-cells = <2>; 20c66ec88fSEmmanuel Vadot 21c66ec88fSEmmanuel Vadot aliases { 22c66ec88fSEmmanuel Vadot ethernet0 = &fec1; 23c66ec88fSEmmanuel Vadot gpio0 = &gpio1; 24c66ec88fSEmmanuel Vadot gpio1 = &gpio2; 25c66ec88fSEmmanuel Vadot gpio2 = &gpio3; 26c66ec88fSEmmanuel Vadot gpio3 = &gpio4; 27c66ec88fSEmmanuel Vadot gpio4 = &gpio5; 28c66ec88fSEmmanuel Vadot i2c0 = &i2c1; 29c66ec88fSEmmanuel Vadot i2c1 = &i2c2; 30c66ec88fSEmmanuel Vadot i2c2 = &i2c3; 31c66ec88fSEmmanuel Vadot i2c3 = &i2c4; 32c66ec88fSEmmanuel Vadot mmc0 = &usdhc1; 33c66ec88fSEmmanuel Vadot mmc1 = &usdhc2; 34c66ec88fSEmmanuel Vadot mmc2 = &usdhc3; 35c66ec88fSEmmanuel Vadot serial0 = &uart1; 36c66ec88fSEmmanuel Vadot serial1 = &uart2; 37c66ec88fSEmmanuel Vadot serial2 = &uart3; 38c66ec88fSEmmanuel Vadot serial3 = &uart4; 39c66ec88fSEmmanuel Vadot spi0 = &ecspi1; 40c66ec88fSEmmanuel Vadot spi1 = &ecspi2; 41c66ec88fSEmmanuel Vadot spi2 = &ecspi3; 42c66ec88fSEmmanuel Vadot }; 43c66ec88fSEmmanuel Vadot 44c66ec88fSEmmanuel Vadot cpus { 45c66ec88fSEmmanuel Vadot #address-cells = <1>; 46c66ec88fSEmmanuel Vadot #size-cells = <0>; 47c66ec88fSEmmanuel Vadot 48c66ec88fSEmmanuel Vadot idle-states { 49c66ec88fSEmmanuel Vadot entry-method = "psci"; 50c66ec88fSEmmanuel Vadot 51c66ec88fSEmmanuel Vadot cpu_pd_wait: cpu-pd-wait { 52c66ec88fSEmmanuel Vadot compatible = "arm,idle-state"; 53c66ec88fSEmmanuel Vadot arm,psci-suspend-param = <0x0010033>; 54c66ec88fSEmmanuel Vadot local-timer-stop; 55c66ec88fSEmmanuel Vadot entry-latency-us = <1000>; 56c66ec88fSEmmanuel Vadot exit-latency-us = <700>; 57c66ec88fSEmmanuel Vadot min-residency-us = <2700>; 58c66ec88fSEmmanuel Vadot }; 59c66ec88fSEmmanuel Vadot }; 60c66ec88fSEmmanuel Vadot 61c66ec88fSEmmanuel Vadot A53_0: cpu@0 { 62c66ec88fSEmmanuel Vadot device_type = "cpu"; 63c66ec88fSEmmanuel Vadot compatible = "arm,cortex-a53"; 64c66ec88fSEmmanuel Vadot reg = <0x0>; 65c66ec88fSEmmanuel Vadot clock-latency = <61036>; /* two CLK32 periods */ 66c66ec88fSEmmanuel Vadot clocks = <&clk IMX8MM_CLK_ARM>; 67c66ec88fSEmmanuel Vadot enable-method = "psci"; 68e67e8565SEmmanuel Vadot i-cache-size = <0x8000>; 69e67e8565SEmmanuel Vadot i-cache-line-size = <64>; 70e67e8565SEmmanuel Vadot i-cache-sets = <256>; 71e67e8565SEmmanuel Vadot d-cache-size = <0x8000>; 72e67e8565SEmmanuel Vadot d-cache-line-size = <64>; 73e67e8565SEmmanuel Vadot d-cache-sets = <128>; 74c66ec88fSEmmanuel Vadot next-level-cache = <&A53_L2>; 75c66ec88fSEmmanuel Vadot operating-points-v2 = <&a53_opp_table>; 76c66ec88fSEmmanuel Vadot nvmem-cells = <&cpu_speed_grade>; 77c66ec88fSEmmanuel Vadot nvmem-cell-names = "speed_grade"; 78c66ec88fSEmmanuel Vadot cpu-idle-states = <&cpu_pd_wait>; 79c66ec88fSEmmanuel Vadot #cooling-cells = <2>; 80c66ec88fSEmmanuel Vadot }; 81c66ec88fSEmmanuel Vadot 82c66ec88fSEmmanuel Vadot A53_1: cpu@1 { 83c66ec88fSEmmanuel Vadot device_type = "cpu"; 84c66ec88fSEmmanuel Vadot compatible = "arm,cortex-a53"; 85c66ec88fSEmmanuel Vadot reg = <0x1>; 86c66ec88fSEmmanuel Vadot clock-latency = <61036>; /* two CLK32 periods */ 87c66ec88fSEmmanuel Vadot clocks = <&clk IMX8MM_CLK_ARM>; 88c66ec88fSEmmanuel Vadot enable-method = "psci"; 89e67e8565SEmmanuel Vadot i-cache-size = <0x8000>; 90e67e8565SEmmanuel Vadot i-cache-line-size = <64>; 91e67e8565SEmmanuel Vadot i-cache-sets = <256>; 92e67e8565SEmmanuel Vadot d-cache-size = <0x8000>; 93e67e8565SEmmanuel Vadot d-cache-line-size = <64>; 94e67e8565SEmmanuel Vadot d-cache-sets = <128>; 95c66ec88fSEmmanuel Vadot next-level-cache = <&A53_L2>; 96c66ec88fSEmmanuel Vadot operating-points-v2 = <&a53_opp_table>; 97c66ec88fSEmmanuel Vadot cpu-idle-states = <&cpu_pd_wait>; 98c66ec88fSEmmanuel Vadot #cooling-cells = <2>; 99c66ec88fSEmmanuel Vadot }; 100c66ec88fSEmmanuel Vadot 101c66ec88fSEmmanuel Vadot A53_2: cpu@2 { 102c66ec88fSEmmanuel Vadot device_type = "cpu"; 103c66ec88fSEmmanuel Vadot compatible = "arm,cortex-a53"; 104c66ec88fSEmmanuel Vadot reg = <0x2>; 105c66ec88fSEmmanuel Vadot clock-latency = <61036>; /* two CLK32 periods */ 106c66ec88fSEmmanuel Vadot clocks = <&clk IMX8MM_CLK_ARM>; 107c66ec88fSEmmanuel Vadot enable-method = "psci"; 108e67e8565SEmmanuel Vadot i-cache-size = <0x8000>; 109e67e8565SEmmanuel Vadot i-cache-line-size = <64>; 110e67e8565SEmmanuel Vadot i-cache-sets = <256>; 111e67e8565SEmmanuel Vadot d-cache-size = <0x8000>; 112e67e8565SEmmanuel Vadot d-cache-line-size = <64>; 113e67e8565SEmmanuel Vadot d-cache-sets = <128>; 114c66ec88fSEmmanuel Vadot next-level-cache = <&A53_L2>; 115c66ec88fSEmmanuel Vadot operating-points-v2 = <&a53_opp_table>; 116c66ec88fSEmmanuel Vadot cpu-idle-states = <&cpu_pd_wait>; 117c66ec88fSEmmanuel Vadot #cooling-cells = <2>; 118c66ec88fSEmmanuel Vadot }; 119c66ec88fSEmmanuel Vadot 120c66ec88fSEmmanuel Vadot A53_3: cpu@3 { 121c66ec88fSEmmanuel Vadot device_type = "cpu"; 122c66ec88fSEmmanuel Vadot compatible = "arm,cortex-a53"; 123c66ec88fSEmmanuel Vadot reg = <0x3>; 124c66ec88fSEmmanuel Vadot clock-latency = <61036>; /* two CLK32 periods */ 125c66ec88fSEmmanuel Vadot clocks = <&clk IMX8MM_CLK_ARM>; 126c66ec88fSEmmanuel Vadot enable-method = "psci"; 127e67e8565SEmmanuel Vadot i-cache-size = <0x8000>; 128e67e8565SEmmanuel Vadot i-cache-line-size = <64>; 129e67e8565SEmmanuel Vadot i-cache-sets = <256>; 130e67e8565SEmmanuel Vadot d-cache-size = <0x8000>; 131e67e8565SEmmanuel Vadot d-cache-line-size = <64>; 132e67e8565SEmmanuel Vadot d-cache-sets = <128>; 133c66ec88fSEmmanuel Vadot next-level-cache = <&A53_L2>; 134c66ec88fSEmmanuel Vadot operating-points-v2 = <&a53_opp_table>; 135c66ec88fSEmmanuel Vadot cpu-idle-states = <&cpu_pd_wait>; 136c66ec88fSEmmanuel Vadot #cooling-cells = <2>; 137c66ec88fSEmmanuel Vadot }; 138c66ec88fSEmmanuel Vadot 139c66ec88fSEmmanuel Vadot A53_L2: l2-cache0 { 140c66ec88fSEmmanuel Vadot compatible = "cache"; 141e67e8565SEmmanuel Vadot cache-level = <2>; 1428bab661aSEmmanuel Vadot cache-unified; 143e67e8565SEmmanuel Vadot cache-size = <0x80000>; 144e67e8565SEmmanuel Vadot cache-line-size = <64>; 145e67e8565SEmmanuel Vadot cache-sets = <512>; 146c66ec88fSEmmanuel Vadot }; 147c66ec88fSEmmanuel Vadot }; 148c66ec88fSEmmanuel Vadot 149c66ec88fSEmmanuel Vadot a53_opp_table: opp-table { 150c66ec88fSEmmanuel Vadot compatible = "operating-points-v2"; 151c66ec88fSEmmanuel Vadot opp-shared; 152c66ec88fSEmmanuel Vadot 153c66ec88fSEmmanuel Vadot opp-1200000000 { 154c66ec88fSEmmanuel Vadot opp-hz = /bits/ 64 <1200000000>; 155c66ec88fSEmmanuel Vadot opp-microvolt = <850000>; 156c66ec88fSEmmanuel Vadot opp-supported-hw = <0xe>, <0x7>; 157c66ec88fSEmmanuel Vadot clock-latency-ns = <150000>; 158c66ec88fSEmmanuel Vadot opp-suspend; 159c66ec88fSEmmanuel Vadot }; 160c66ec88fSEmmanuel Vadot 161c66ec88fSEmmanuel Vadot opp-1600000000 { 162c66ec88fSEmmanuel Vadot opp-hz = /bits/ 64 <1600000000>; 1636be33864SEmmanuel Vadot opp-microvolt = <950000>; 164c66ec88fSEmmanuel Vadot opp-supported-hw = <0xc>, <0x7>; 165c66ec88fSEmmanuel Vadot clock-latency-ns = <150000>; 166c66ec88fSEmmanuel Vadot opp-suspend; 167c66ec88fSEmmanuel Vadot }; 168c66ec88fSEmmanuel Vadot 169c66ec88fSEmmanuel Vadot opp-1800000000 { 170c66ec88fSEmmanuel Vadot opp-hz = /bits/ 64 <1800000000>; 171c66ec88fSEmmanuel Vadot opp-microvolt = <1000000>; 172c66ec88fSEmmanuel Vadot opp-supported-hw = <0x8>, <0x3>; 173c66ec88fSEmmanuel Vadot clock-latency-ns = <150000>; 174c66ec88fSEmmanuel Vadot opp-suspend; 175c66ec88fSEmmanuel Vadot }; 176c66ec88fSEmmanuel Vadot }; 177c66ec88fSEmmanuel Vadot 178c66ec88fSEmmanuel Vadot osc_32k: clock-osc-32k { 179c66ec88fSEmmanuel Vadot compatible = "fixed-clock"; 180c66ec88fSEmmanuel Vadot #clock-cells = <0>; 181c66ec88fSEmmanuel Vadot clock-frequency = <32768>; 182c66ec88fSEmmanuel Vadot clock-output-names = "osc_32k"; 183c66ec88fSEmmanuel Vadot }; 184c66ec88fSEmmanuel Vadot 185c66ec88fSEmmanuel Vadot osc_24m: clock-osc-24m { 186c66ec88fSEmmanuel Vadot compatible = "fixed-clock"; 187c66ec88fSEmmanuel Vadot #clock-cells = <0>; 188c66ec88fSEmmanuel Vadot clock-frequency = <24000000>; 189c66ec88fSEmmanuel Vadot clock-output-names = "osc_24m"; 190c66ec88fSEmmanuel Vadot }; 191c66ec88fSEmmanuel Vadot 192c66ec88fSEmmanuel Vadot clk_ext1: clock-ext1 { 193c66ec88fSEmmanuel Vadot compatible = "fixed-clock"; 194c66ec88fSEmmanuel Vadot #clock-cells = <0>; 195c66ec88fSEmmanuel Vadot clock-frequency = <133000000>; 196c66ec88fSEmmanuel Vadot clock-output-names = "clk_ext1"; 197c66ec88fSEmmanuel Vadot }; 198c66ec88fSEmmanuel Vadot 199c66ec88fSEmmanuel Vadot clk_ext2: clock-ext2 { 200c66ec88fSEmmanuel Vadot compatible = "fixed-clock"; 201c66ec88fSEmmanuel Vadot #clock-cells = <0>; 202c66ec88fSEmmanuel Vadot clock-frequency = <133000000>; 203c66ec88fSEmmanuel Vadot clock-output-names = "clk_ext2"; 204c66ec88fSEmmanuel Vadot }; 205c66ec88fSEmmanuel Vadot 206c66ec88fSEmmanuel Vadot clk_ext3: clock-ext3 { 207c66ec88fSEmmanuel Vadot compatible = "fixed-clock"; 208c66ec88fSEmmanuel Vadot #clock-cells = <0>; 209c66ec88fSEmmanuel Vadot clock-frequency = <133000000>; 210c66ec88fSEmmanuel Vadot clock-output-names = "clk_ext3"; 211c66ec88fSEmmanuel Vadot }; 212c66ec88fSEmmanuel Vadot 213c66ec88fSEmmanuel Vadot clk_ext4: clock-ext4 { 214c66ec88fSEmmanuel Vadot compatible = "fixed-clock"; 215c66ec88fSEmmanuel Vadot #clock-cells = <0>; 216c66ec88fSEmmanuel Vadot clock-frequency = <133000000>; 217c66ec88fSEmmanuel Vadot clock-output-names = "clk_ext4"; 218c66ec88fSEmmanuel Vadot }; 219c66ec88fSEmmanuel Vadot 220c66ec88fSEmmanuel Vadot psci { 221c66ec88fSEmmanuel Vadot compatible = "arm,psci-1.0"; 222c66ec88fSEmmanuel Vadot method = "smc"; 223c66ec88fSEmmanuel Vadot }; 224c66ec88fSEmmanuel Vadot 225c66ec88fSEmmanuel Vadot pmu { 226354d7675SEmmanuel Vadot compatible = "arm,cortex-a53-pmu"; 227c66ec88fSEmmanuel Vadot interrupts = <GIC_PPI 7 2285def4c47SEmmanuel Vadot (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_HIGH)>; 229c66ec88fSEmmanuel Vadot }; 230c66ec88fSEmmanuel Vadot 231c66ec88fSEmmanuel Vadot timer { 232c66ec88fSEmmanuel Vadot compatible = "arm,armv8-timer"; 2335def4c47SEmmanuel Vadot interrupts = <GIC_PPI 13 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>, /* Physical Secure */ 2345def4c47SEmmanuel Vadot <GIC_PPI 14 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>, /* Physical Non-Secure */ 2355def4c47SEmmanuel Vadot <GIC_PPI 11 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>, /* Virtual */ 2365def4c47SEmmanuel Vadot <GIC_PPI 10 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>; /* Hypervisor */ 237c66ec88fSEmmanuel Vadot clock-frequency = <8000000>; 238c66ec88fSEmmanuel Vadot arm,no-tick-in-suspend; 239c66ec88fSEmmanuel Vadot }; 240c66ec88fSEmmanuel Vadot 241c66ec88fSEmmanuel Vadot thermal-zones { 242c66ec88fSEmmanuel Vadot cpu-thermal { 243c66ec88fSEmmanuel Vadot polling-delay-passive = <250>; 244c66ec88fSEmmanuel Vadot polling-delay = <2000>; 245c66ec88fSEmmanuel Vadot thermal-sensors = <&tmu>; 246c66ec88fSEmmanuel Vadot trips { 247c66ec88fSEmmanuel Vadot cpu_alert0: trip0 { 248c66ec88fSEmmanuel Vadot temperature = <85000>; 249c66ec88fSEmmanuel Vadot hysteresis = <2000>; 250c66ec88fSEmmanuel Vadot type = "passive"; 251c66ec88fSEmmanuel Vadot }; 252c66ec88fSEmmanuel Vadot 253c66ec88fSEmmanuel Vadot cpu_crit0: trip1 { 254c66ec88fSEmmanuel Vadot temperature = <95000>; 255c66ec88fSEmmanuel Vadot hysteresis = <2000>; 256c66ec88fSEmmanuel Vadot type = "critical"; 257c66ec88fSEmmanuel Vadot }; 258c66ec88fSEmmanuel Vadot }; 259c66ec88fSEmmanuel Vadot 260c66ec88fSEmmanuel Vadot cooling-maps { 261c66ec88fSEmmanuel Vadot map0 { 262c66ec88fSEmmanuel Vadot trip = <&cpu_alert0>; 263c66ec88fSEmmanuel Vadot cooling-device = 264c66ec88fSEmmanuel Vadot <&A53_0 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>, 265c66ec88fSEmmanuel Vadot <&A53_1 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>, 266c66ec88fSEmmanuel Vadot <&A53_2 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>, 267c66ec88fSEmmanuel Vadot <&A53_3 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>; 268c66ec88fSEmmanuel Vadot }; 269c66ec88fSEmmanuel Vadot }; 270c66ec88fSEmmanuel Vadot }; 271c66ec88fSEmmanuel Vadot }; 272c66ec88fSEmmanuel Vadot 273c66ec88fSEmmanuel Vadot usbphynop1: usbphynop1 { 274354d7675SEmmanuel Vadot #phy-cells = <0>; 275c66ec88fSEmmanuel Vadot compatible = "usb-nop-xceiv"; 276c66ec88fSEmmanuel Vadot clocks = <&clk IMX8MM_CLK_USB_PHY_REF>; 277c66ec88fSEmmanuel Vadot assigned-clocks = <&clk IMX8MM_CLK_USB_PHY_REF>; 278c66ec88fSEmmanuel Vadot assigned-clock-parents = <&clk IMX8MM_SYS_PLL1_100M>; 279c66ec88fSEmmanuel Vadot clock-names = "main_clk"; 2807ef62cebSEmmanuel Vadot power-domains = <&pgc_otg1>; 281c66ec88fSEmmanuel Vadot }; 282c66ec88fSEmmanuel Vadot 283c66ec88fSEmmanuel Vadot usbphynop2: usbphynop2 { 284354d7675SEmmanuel Vadot #phy-cells = <0>; 285c66ec88fSEmmanuel Vadot compatible = "usb-nop-xceiv"; 286c66ec88fSEmmanuel Vadot clocks = <&clk IMX8MM_CLK_USB_PHY_REF>; 287c66ec88fSEmmanuel Vadot assigned-clocks = <&clk IMX8MM_CLK_USB_PHY_REF>; 288c66ec88fSEmmanuel Vadot assigned-clock-parents = <&clk IMX8MM_SYS_PLL1_100M>; 289c66ec88fSEmmanuel Vadot clock-names = "main_clk"; 2907ef62cebSEmmanuel Vadot power-domains = <&pgc_otg2>; 291c66ec88fSEmmanuel Vadot }; 292c66ec88fSEmmanuel Vadot 293b97ee269SEmmanuel Vadot soc: soc@0 { 2945def4c47SEmmanuel Vadot compatible = "fsl,imx8mm-soc", "simple-bus"; 295c66ec88fSEmmanuel Vadot #address-cells = <1>; 296c66ec88fSEmmanuel Vadot #size-cells = <1>; 297c66ec88fSEmmanuel Vadot ranges = <0x0 0x0 0x0 0x3e000000>; 2985956d97fSEmmanuel Vadot dma-ranges = <0x40000000 0x0 0x40000000 0xc0000000>; 2995def4c47SEmmanuel Vadot nvmem-cells = <&imx8mm_uid>; 3005def4c47SEmmanuel Vadot nvmem-cell-names = "soc_unique_id"; 301c66ec88fSEmmanuel Vadot 302c66ec88fSEmmanuel Vadot aips1: bus@30000000 { 303c66ec88fSEmmanuel Vadot compatible = "fsl,aips-bus", "simple-bus"; 304c66ec88fSEmmanuel Vadot reg = <0x30000000 0x400000>; 305c66ec88fSEmmanuel Vadot #address-cells = <1>; 306c66ec88fSEmmanuel Vadot #size-cells = <1>; 307c66ec88fSEmmanuel Vadot ranges = <0x30000000 0x30000000 0x400000>; 308c66ec88fSEmmanuel Vadot 3095956d97fSEmmanuel Vadot spba2: spba-bus@30000000 { 3105956d97fSEmmanuel Vadot compatible = "fsl,spba-bus", "simple-bus"; 3115956d97fSEmmanuel Vadot #address-cells = <1>; 3125956d97fSEmmanuel Vadot #size-cells = <1>; 3135956d97fSEmmanuel Vadot reg = <0x30000000 0x100000>; 3145956d97fSEmmanuel Vadot ranges; 3155956d97fSEmmanuel Vadot 316c66ec88fSEmmanuel Vadot sai1: sai@30010000 { 317c66ec88fSEmmanuel Vadot #sound-dai-cells = <0>; 318c66ec88fSEmmanuel Vadot compatible = "fsl,imx8mm-sai", "fsl,imx8mq-sai"; 319c66ec88fSEmmanuel Vadot reg = <0x30010000 0x10000>; 320c66ec88fSEmmanuel Vadot interrupts = <GIC_SPI 95 IRQ_TYPE_LEVEL_HIGH>; 321c66ec88fSEmmanuel Vadot clocks = <&clk IMX8MM_CLK_SAI1_IPG>, 322c66ec88fSEmmanuel Vadot <&clk IMX8MM_CLK_SAI1_ROOT>, 323c66ec88fSEmmanuel Vadot <&clk IMX8MM_CLK_DUMMY>, <&clk IMX8MM_CLK_DUMMY>; 324c66ec88fSEmmanuel Vadot clock-names = "bus", "mclk1", "mclk2", "mclk3"; 325c66ec88fSEmmanuel Vadot dmas = <&sdma2 0 2 0>, <&sdma2 1 2 0>; 326c66ec88fSEmmanuel Vadot dma-names = "rx", "tx"; 327c66ec88fSEmmanuel Vadot status = "disabled"; 328c66ec88fSEmmanuel Vadot }; 329c66ec88fSEmmanuel Vadot 330c66ec88fSEmmanuel Vadot sai2: sai@30020000 { 331c66ec88fSEmmanuel Vadot #sound-dai-cells = <0>; 332c66ec88fSEmmanuel Vadot compatible = "fsl,imx8mm-sai", "fsl,imx8mq-sai"; 333c66ec88fSEmmanuel Vadot reg = <0x30020000 0x10000>; 334c66ec88fSEmmanuel Vadot interrupts = <GIC_SPI 96 IRQ_TYPE_LEVEL_HIGH>; 335c66ec88fSEmmanuel Vadot clocks = <&clk IMX8MM_CLK_SAI2_IPG>, 336c66ec88fSEmmanuel Vadot <&clk IMX8MM_CLK_SAI2_ROOT>, 337c66ec88fSEmmanuel Vadot <&clk IMX8MM_CLK_DUMMY>, <&clk IMX8MM_CLK_DUMMY>; 338c66ec88fSEmmanuel Vadot clock-names = "bus", "mclk1", "mclk2", "mclk3"; 339c66ec88fSEmmanuel Vadot dmas = <&sdma2 2 2 0>, <&sdma2 3 2 0>; 340c66ec88fSEmmanuel Vadot dma-names = "rx", "tx"; 341c66ec88fSEmmanuel Vadot status = "disabled"; 342c66ec88fSEmmanuel Vadot }; 343c66ec88fSEmmanuel Vadot 344c66ec88fSEmmanuel Vadot sai3: sai@30030000 { 345c66ec88fSEmmanuel Vadot #sound-dai-cells = <0>; 346c66ec88fSEmmanuel Vadot compatible = "fsl,imx8mm-sai", "fsl,imx8mq-sai"; 347c66ec88fSEmmanuel Vadot reg = <0x30030000 0x10000>; 348c66ec88fSEmmanuel Vadot interrupts = <GIC_SPI 50 IRQ_TYPE_LEVEL_HIGH>; 349c66ec88fSEmmanuel Vadot clocks = <&clk IMX8MM_CLK_SAI3_IPG>, 350c66ec88fSEmmanuel Vadot <&clk IMX8MM_CLK_SAI3_ROOT>, 351c66ec88fSEmmanuel Vadot <&clk IMX8MM_CLK_DUMMY>, <&clk IMX8MM_CLK_DUMMY>; 352c66ec88fSEmmanuel Vadot clock-names = "bus", "mclk1", "mclk2", "mclk3"; 353c66ec88fSEmmanuel Vadot dmas = <&sdma2 4 2 0>, <&sdma2 5 2 0>; 354c66ec88fSEmmanuel Vadot dma-names = "rx", "tx"; 355c66ec88fSEmmanuel Vadot status = "disabled"; 356c66ec88fSEmmanuel Vadot }; 357c66ec88fSEmmanuel Vadot 358c66ec88fSEmmanuel Vadot sai5: sai@30050000 { 359c66ec88fSEmmanuel Vadot #sound-dai-cells = <0>; 360c66ec88fSEmmanuel Vadot compatible = "fsl,imx8mm-sai", "fsl,imx8mq-sai"; 361c66ec88fSEmmanuel Vadot reg = <0x30050000 0x10000>; 362c66ec88fSEmmanuel Vadot interrupts = <GIC_SPI 90 IRQ_TYPE_LEVEL_HIGH>; 363c66ec88fSEmmanuel Vadot clocks = <&clk IMX8MM_CLK_SAI5_IPG>, 364c66ec88fSEmmanuel Vadot <&clk IMX8MM_CLK_SAI5_ROOT>, 365c66ec88fSEmmanuel Vadot <&clk IMX8MM_CLK_DUMMY>, <&clk IMX8MM_CLK_DUMMY>; 366c66ec88fSEmmanuel Vadot clock-names = "bus", "mclk1", "mclk2", "mclk3"; 367c66ec88fSEmmanuel Vadot dmas = <&sdma2 8 2 0>, <&sdma2 9 2 0>; 368c66ec88fSEmmanuel Vadot dma-names = "rx", "tx"; 369c66ec88fSEmmanuel Vadot status = "disabled"; 370c66ec88fSEmmanuel Vadot }; 371c66ec88fSEmmanuel Vadot 372c66ec88fSEmmanuel Vadot sai6: sai@30060000 { 373c66ec88fSEmmanuel Vadot #sound-dai-cells = <0>; 374c66ec88fSEmmanuel Vadot compatible = "fsl,imx8mm-sai", "fsl,imx8mq-sai"; 375c66ec88fSEmmanuel Vadot reg = <0x30060000 0x10000>; 376c66ec88fSEmmanuel Vadot interrupts = <GIC_SPI 90 IRQ_TYPE_LEVEL_HIGH>; 377c66ec88fSEmmanuel Vadot clocks = <&clk IMX8MM_CLK_SAI6_IPG>, 378c66ec88fSEmmanuel Vadot <&clk IMX8MM_CLK_SAI6_ROOT>, 379c66ec88fSEmmanuel Vadot <&clk IMX8MM_CLK_DUMMY>, <&clk IMX8MM_CLK_DUMMY>; 380c66ec88fSEmmanuel Vadot clock-names = "bus", "mclk1", "mclk2", "mclk3"; 381c66ec88fSEmmanuel Vadot dmas = <&sdma2 10 2 0>, <&sdma2 11 2 0>; 382c66ec88fSEmmanuel Vadot dma-names = "rx", "tx"; 383c66ec88fSEmmanuel Vadot status = "disabled"; 384c66ec88fSEmmanuel Vadot }; 385c66ec88fSEmmanuel Vadot 3865def4c47SEmmanuel Vadot micfil: audio-controller@30080000 { 3875def4c47SEmmanuel Vadot compatible = "fsl,imx8mm-micfil"; 3885def4c47SEmmanuel Vadot reg = <0x30080000 0x10000>; 3895def4c47SEmmanuel Vadot interrupts = <GIC_SPI 109 IRQ_TYPE_LEVEL_HIGH>, 3905def4c47SEmmanuel Vadot <GIC_SPI 110 IRQ_TYPE_LEVEL_HIGH>, 3915def4c47SEmmanuel Vadot <GIC_SPI 44 IRQ_TYPE_LEVEL_HIGH>, 3925def4c47SEmmanuel Vadot <GIC_SPI 45 IRQ_TYPE_LEVEL_HIGH>; 3935def4c47SEmmanuel Vadot clocks = <&clk IMX8MM_CLK_PDM_IPG>, 3945def4c47SEmmanuel Vadot <&clk IMX8MM_CLK_PDM_ROOT>, 3955def4c47SEmmanuel Vadot <&clk IMX8MM_AUDIO_PLL1_OUT>, 3965def4c47SEmmanuel Vadot <&clk IMX8MM_AUDIO_PLL2_OUT>, 3975def4c47SEmmanuel Vadot <&clk IMX8MM_CLK_EXT3>; 3985def4c47SEmmanuel Vadot clock-names = "ipg_clk", "ipg_clk_app", 3995def4c47SEmmanuel Vadot "pll8k", "pll11k", "clkext3"; 4005def4c47SEmmanuel Vadot dmas = <&sdma2 24 25 0x80000000>; 4015def4c47SEmmanuel Vadot dma-names = "rx"; 40284943d6fSEmmanuel Vadot #sound-dai-cells = <0>; 4035def4c47SEmmanuel Vadot status = "disabled"; 4045def4c47SEmmanuel Vadot }; 4055def4c47SEmmanuel Vadot 4065def4c47SEmmanuel Vadot spdif1: spdif@30090000 { 4075def4c47SEmmanuel Vadot compatible = "fsl,imx35-spdif"; 4085def4c47SEmmanuel Vadot reg = <0x30090000 0x10000>; 4095def4c47SEmmanuel Vadot interrupts = <GIC_SPI 6 IRQ_TYPE_LEVEL_HIGH>; 4105def4c47SEmmanuel Vadot clocks = <&clk IMX8MM_CLK_AUDIO_AHB>, /* core */ 4115def4c47SEmmanuel Vadot <&clk IMX8MM_CLK_24M>, /* rxtx0 */ 4125def4c47SEmmanuel Vadot <&clk IMX8MM_CLK_SPDIF1>, /* rxtx1 */ 4135def4c47SEmmanuel Vadot <&clk IMX8MM_CLK_DUMMY>, /* rxtx2 */ 4145def4c47SEmmanuel Vadot <&clk IMX8MM_CLK_DUMMY>, /* rxtx3 */ 4155def4c47SEmmanuel Vadot <&clk IMX8MM_CLK_DUMMY>, /* rxtx4 */ 4165def4c47SEmmanuel Vadot <&clk IMX8MM_CLK_AUDIO_AHB>, /* rxtx5 */ 4175def4c47SEmmanuel Vadot <&clk IMX8MM_CLK_DUMMY>, /* rxtx6 */ 4185def4c47SEmmanuel Vadot <&clk IMX8MM_CLK_DUMMY>, /* rxtx7 */ 4195def4c47SEmmanuel Vadot <&clk IMX8MM_CLK_DUMMY>; /* spba */ 4205def4c47SEmmanuel Vadot clock-names = "core", "rxtx0", 4215def4c47SEmmanuel Vadot "rxtx1", "rxtx2", 4225def4c47SEmmanuel Vadot "rxtx3", "rxtx4", 4235def4c47SEmmanuel Vadot "rxtx5", "rxtx6", 4245def4c47SEmmanuel Vadot "rxtx7", "spba"; 4255def4c47SEmmanuel Vadot dmas = <&sdma2 28 18 0>, <&sdma2 29 18 0>; 4265def4c47SEmmanuel Vadot dma-names = "rx", "tx"; 4275def4c47SEmmanuel Vadot status = "disabled"; 4285def4c47SEmmanuel Vadot }; 4295956d97fSEmmanuel Vadot }; 4305def4c47SEmmanuel Vadot 431c66ec88fSEmmanuel Vadot gpio1: gpio@30200000 { 432c66ec88fSEmmanuel Vadot compatible = "fsl,imx8mm-gpio", "fsl,imx35-gpio"; 433c66ec88fSEmmanuel Vadot reg = <0x30200000 0x10000>; 434c66ec88fSEmmanuel Vadot interrupts = <GIC_SPI 64 IRQ_TYPE_LEVEL_HIGH>, 435c66ec88fSEmmanuel Vadot <GIC_SPI 65 IRQ_TYPE_LEVEL_HIGH>; 436c66ec88fSEmmanuel Vadot clocks = <&clk IMX8MM_CLK_GPIO1_ROOT>; 437c66ec88fSEmmanuel Vadot gpio-controller; 438c66ec88fSEmmanuel Vadot #gpio-cells = <2>; 439c66ec88fSEmmanuel Vadot interrupt-controller; 440c66ec88fSEmmanuel Vadot #interrupt-cells = <2>; 441c66ec88fSEmmanuel Vadot gpio-ranges = <&iomuxc 0 10 30>; 442c66ec88fSEmmanuel Vadot }; 443c66ec88fSEmmanuel Vadot 444c66ec88fSEmmanuel Vadot gpio2: gpio@30210000 { 445c66ec88fSEmmanuel Vadot compatible = "fsl,imx8mm-gpio", "fsl,imx35-gpio"; 446c66ec88fSEmmanuel Vadot reg = <0x30210000 0x10000>; 447c66ec88fSEmmanuel Vadot interrupts = <GIC_SPI 66 IRQ_TYPE_LEVEL_HIGH>, 448c66ec88fSEmmanuel Vadot <GIC_SPI 67 IRQ_TYPE_LEVEL_HIGH>; 449c66ec88fSEmmanuel Vadot clocks = <&clk IMX8MM_CLK_GPIO2_ROOT>; 450c66ec88fSEmmanuel Vadot gpio-controller; 451c66ec88fSEmmanuel Vadot #gpio-cells = <2>; 452c66ec88fSEmmanuel Vadot interrupt-controller; 453c66ec88fSEmmanuel Vadot #interrupt-cells = <2>; 454c66ec88fSEmmanuel Vadot gpio-ranges = <&iomuxc 0 40 21>; 455c66ec88fSEmmanuel Vadot }; 456c66ec88fSEmmanuel Vadot 457c66ec88fSEmmanuel Vadot gpio3: gpio@30220000 { 458c66ec88fSEmmanuel Vadot compatible = "fsl,imx8mm-gpio", "fsl,imx35-gpio"; 459c66ec88fSEmmanuel Vadot reg = <0x30220000 0x10000>; 460c66ec88fSEmmanuel Vadot interrupts = <GIC_SPI 68 IRQ_TYPE_LEVEL_HIGH>, 461c66ec88fSEmmanuel Vadot <GIC_SPI 69 IRQ_TYPE_LEVEL_HIGH>; 462c66ec88fSEmmanuel Vadot clocks = <&clk IMX8MM_CLK_GPIO3_ROOT>; 463c66ec88fSEmmanuel Vadot gpio-controller; 464c66ec88fSEmmanuel Vadot #gpio-cells = <2>; 465c66ec88fSEmmanuel Vadot interrupt-controller; 466c66ec88fSEmmanuel Vadot #interrupt-cells = <2>; 467c66ec88fSEmmanuel Vadot gpio-ranges = <&iomuxc 0 61 26>; 468c66ec88fSEmmanuel Vadot }; 469c66ec88fSEmmanuel Vadot 470c66ec88fSEmmanuel Vadot gpio4: gpio@30230000 { 471c66ec88fSEmmanuel Vadot compatible = "fsl,imx8mm-gpio", "fsl,imx35-gpio"; 472c66ec88fSEmmanuel Vadot reg = <0x30230000 0x10000>; 473c66ec88fSEmmanuel Vadot interrupts = <GIC_SPI 70 IRQ_TYPE_LEVEL_HIGH>, 474c66ec88fSEmmanuel Vadot <GIC_SPI 71 IRQ_TYPE_LEVEL_HIGH>; 475c66ec88fSEmmanuel Vadot clocks = <&clk IMX8MM_CLK_GPIO4_ROOT>; 476c66ec88fSEmmanuel Vadot gpio-controller; 477c66ec88fSEmmanuel Vadot #gpio-cells = <2>; 478c66ec88fSEmmanuel Vadot interrupt-controller; 479c66ec88fSEmmanuel Vadot #interrupt-cells = <2>; 480c66ec88fSEmmanuel Vadot gpio-ranges = <&iomuxc 0 87 32>; 481c66ec88fSEmmanuel Vadot }; 482c66ec88fSEmmanuel Vadot 483c66ec88fSEmmanuel Vadot gpio5: gpio@30240000 { 484c66ec88fSEmmanuel Vadot compatible = "fsl,imx8mm-gpio", "fsl,imx35-gpio"; 485c66ec88fSEmmanuel Vadot reg = <0x30240000 0x10000>; 486c66ec88fSEmmanuel Vadot interrupts = <GIC_SPI 72 IRQ_TYPE_LEVEL_HIGH>, 487c66ec88fSEmmanuel Vadot <GIC_SPI 73 IRQ_TYPE_LEVEL_HIGH>; 488c66ec88fSEmmanuel Vadot clocks = <&clk IMX8MM_CLK_GPIO5_ROOT>; 489c66ec88fSEmmanuel Vadot gpio-controller; 490c66ec88fSEmmanuel Vadot #gpio-cells = <2>; 491c66ec88fSEmmanuel Vadot interrupt-controller; 492c66ec88fSEmmanuel Vadot #interrupt-cells = <2>; 493c66ec88fSEmmanuel Vadot gpio-ranges = <&iomuxc 0 119 30>; 494c66ec88fSEmmanuel Vadot }; 495c66ec88fSEmmanuel Vadot 496c66ec88fSEmmanuel Vadot tmu: tmu@30260000 { 497c66ec88fSEmmanuel Vadot compatible = "fsl,imx8mm-tmu"; 498c66ec88fSEmmanuel Vadot reg = <0x30260000 0x10000>; 499c66ec88fSEmmanuel Vadot clocks = <&clk IMX8MM_CLK_TMU_ROOT>; 500cb7aa33aSEmmanuel Vadot nvmem-cells = <&tmu_calib>; 501cb7aa33aSEmmanuel Vadot nvmem-cell-names = "calib"; 502c66ec88fSEmmanuel Vadot #thermal-sensor-cells = <0>; 503c66ec88fSEmmanuel Vadot }; 504c66ec88fSEmmanuel Vadot 505c66ec88fSEmmanuel Vadot wdog1: watchdog@30280000 { 506c66ec88fSEmmanuel Vadot compatible = "fsl,imx8mm-wdt", "fsl,imx21-wdt"; 507c66ec88fSEmmanuel Vadot reg = <0x30280000 0x10000>; 508c66ec88fSEmmanuel Vadot interrupts = <GIC_SPI 78 IRQ_TYPE_LEVEL_HIGH>; 509c66ec88fSEmmanuel Vadot clocks = <&clk IMX8MM_CLK_WDOG1_ROOT>; 510c66ec88fSEmmanuel Vadot status = "disabled"; 511c66ec88fSEmmanuel Vadot }; 512c66ec88fSEmmanuel Vadot 513c66ec88fSEmmanuel Vadot wdog2: watchdog@30290000 { 514c66ec88fSEmmanuel Vadot compatible = "fsl,imx8mm-wdt", "fsl,imx21-wdt"; 515c66ec88fSEmmanuel Vadot reg = <0x30290000 0x10000>; 516c66ec88fSEmmanuel Vadot interrupts = <GIC_SPI 79 IRQ_TYPE_LEVEL_HIGH>; 517c66ec88fSEmmanuel Vadot clocks = <&clk IMX8MM_CLK_WDOG2_ROOT>; 518c66ec88fSEmmanuel Vadot status = "disabled"; 519c66ec88fSEmmanuel Vadot }; 520c66ec88fSEmmanuel Vadot 521c66ec88fSEmmanuel Vadot wdog3: watchdog@302a0000 { 522c66ec88fSEmmanuel Vadot compatible = "fsl,imx8mm-wdt", "fsl,imx21-wdt"; 523c66ec88fSEmmanuel Vadot reg = <0x302a0000 0x10000>; 524c66ec88fSEmmanuel Vadot interrupts = <GIC_SPI 10 IRQ_TYPE_LEVEL_HIGH>; 525c66ec88fSEmmanuel Vadot clocks = <&clk IMX8MM_CLK_WDOG3_ROOT>; 526c66ec88fSEmmanuel Vadot status = "disabled"; 527c66ec88fSEmmanuel Vadot }; 528c66ec88fSEmmanuel Vadot 529c66ec88fSEmmanuel Vadot sdma2: dma-controller@302c0000 { 530c66ec88fSEmmanuel Vadot compatible = "fsl,imx8mm-sdma", "fsl,imx8mq-sdma"; 531c66ec88fSEmmanuel Vadot reg = <0x302c0000 0x10000>; 532c66ec88fSEmmanuel Vadot interrupts = <GIC_SPI 103 IRQ_TYPE_LEVEL_HIGH>; 533c66ec88fSEmmanuel Vadot clocks = <&clk IMX8MM_CLK_SDMA2_ROOT>, 534c66ec88fSEmmanuel Vadot <&clk IMX8MM_CLK_SDMA2_ROOT>; 535c66ec88fSEmmanuel Vadot clock-names = "ipg", "ahb"; 536c66ec88fSEmmanuel Vadot #dma-cells = <3>; 537c66ec88fSEmmanuel Vadot fsl,sdma-ram-script-name = "imx/sdma/sdma-imx7d.bin"; 538c66ec88fSEmmanuel Vadot }; 539c66ec88fSEmmanuel Vadot 540c66ec88fSEmmanuel Vadot sdma3: dma-controller@302b0000 { 541c66ec88fSEmmanuel Vadot compatible = "fsl,imx8mm-sdma", "fsl,imx8mq-sdma"; 542c66ec88fSEmmanuel Vadot reg = <0x302b0000 0x10000>; 543c66ec88fSEmmanuel Vadot interrupts = <GIC_SPI 34 IRQ_TYPE_LEVEL_HIGH>; 544c66ec88fSEmmanuel Vadot clocks = <&clk IMX8MM_CLK_SDMA3_ROOT>, 545c66ec88fSEmmanuel Vadot <&clk IMX8MM_CLK_SDMA3_ROOT>; 546c66ec88fSEmmanuel Vadot clock-names = "ipg", "ahb"; 547c66ec88fSEmmanuel Vadot #dma-cells = <3>; 548c66ec88fSEmmanuel Vadot fsl,sdma-ram-script-name = "imx/sdma/sdma-imx7d.bin"; 549c66ec88fSEmmanuel Vadot }; 550c66ec88fSEmmanuel Vadot 551c66ec88fSEmmanuel Vadot iomuxc: pinctrl@30330000 { 552c66ec88fSEmmanuel Vadot compatible = "fsl,imx8mm-iomuxc"; 553c66ec88fSEmmanuel Vadot reg = <0x30330000 0x10000>; 554c66ec88fSEmmanuel Vadot }; 555c66ec88fSEmmanuel Vadot 556cb7aa33aSEmmanuel Vadot gpr: syscon@30340000 { 557cb7aa33aSEmmanuel Vadot compatible = "fsl,imx8mm-iomuxc-gpr", "syscon"; 558c66ec88fSEmmanuel Vadot reg = <0x30340000 0x10000>; 559c66ec88fSEmmanuel Vadot }; 560c66ec88fSEmmanuel Vadot 561c66ec88fSEmmanuel Vadot ocotp: efuse@30350000 { 562c66ec88fSEmmanuel Vadot compatible = "fsl,imx8mm-ocotp", "syscon"; 563c66ec88fSEmmanuel Vadot reg = <0x30350000 0x10000>; 564c66ec88fSEmmanuel Vadot clocks = <&clk IMX8MM_CLK_OCOTP_ROOT>; 565c66ec88fSEmmanuel Vadot /* For nvmem subnodes */ 566c66ec88fSEmmanuel Vadot #address-cells = <1>; 567c66ec88fSEmmanuel Vadot #size-cells = <1>; 568c66ec88fSEmmanuel Vadot 569cb7aa33aSEmmanuel Vadot /* 570cb7aa33aSEmmanuel Vadot * The register address below maps to the MX8M 571cb7aa33aSEmmanuel Vadot * Fusemap Description Table entries this way. 572cb7aa33aSEmmanuel Vadot * Assuming 573cb7aa33aSEmmanuel Vadot * reg = <ADDR SIZE>; 574cb7aa33aSEmmanuel Vadot * then 575cb7aa33aSEmmanuel Vadot * Fuse Address = (ADDR * 4) + 0x400 576cb7aa33aSEmmanuel Vadot * Note that if SIZE is greater than 4, then 577cb7aa33aSEmmanuel Vadot * each subsequent fuse is located at offset 578cb7aa33aSEmmanuel Vadot * +0x10 in Fusemap Description Table (e.g. 579cb7aa33aSEmmanuel Vadot * reg = <0x4 0x8> describes fuses 0x410 and 580cb7aa33aSEmmanuel Vadot * 0x420). 581cb7aa33aSEmmanuel Vadot */ 582cb7aa33aSEmmanuel Vadot imx8mm_uid: unique-id@4 { /* 0x410-0x420 */ 5835def4c47SEmmanuel Vadot reg = <0x4 0x8>; 5845def4c47SEmmanuel Vadot }; 5855def4c47SEmmanuel Vadot 586cb7aa33aSEmmanuel Vadot cpu_speed_grade: speed-grade@10 { /* 0x440 */ 587c66ec88fSEmmanuel Vadot reg = <0x10 4>; 588c66ec88fSEmmanuel Vadot }; 5895def4c47SEmmanuel Vadot 590cb7aa33aSEmmanuel Vadot tmu_calib: calib@3c { /* 0x4f0 */ 591cb7aa33aSEmmanuel Vadot reg = <0x3c 4>; 592cb7aa33aSEmmanuel Vadot }; 593cb7aa33aSEmmanuel Vadot 594cb7aa33aSEmmanuel Vadot fec_mac_address: mac-address@90 { /* 0x640 */ 5955def4c47SEmmanuel Vadot reg = <0x90 6>; 5965def4c47SEmmanuel Vadot }; 597c66ec88fSEmmanuel Vadot }; 598c66ec88fSEmmanuel Vadot 5998bab661aSEmmanuel Vadot anatop: clock-controller@30360000 { 6008bab661aSEmmanuel Vadot compatible = "fsl,imx8mm-anatop"; 601c66ec88fSEmmanuel Vadot reg = <0x30360000 0x10000>; 6028bab661aSEmmanuel Vadot #clock-cells = <1>; 603c66ec88fSEmmanuel Vadot }; 604c66ec88fSEmmanuel Vadot 605c66ec88fSEmmanuel Vadot snvs: snvs@30370000 { 606c66ec88fSEmmanuel Vadot compatible = "fsl,sec-v4.0-mon","syscon", "simple-mfd"; 607c66ec88fSEmmanuel Vadot reg = <0x30370000 0x10000>; 608c66ec88fSEmmanuel Vadot 609c66ec88fSEmmanuel Vadot snvs_rtc: snvs-rtc-lp { 610c66ec88fSEmmanuel Vadot compatible = "fsl,sec-v4.0-mon-rtc-lp"; 611c66ec88fSEmmanuel Vadot regmap = <&snvs>; 612c66ec88fSEmmanuel Vadot offset = <0x34>; 613c66ec88fSEmmanuel Vadot interrupts = <GIC_SPI 19 IRQ_TYPE_LEVEL_HIGH>, 614c66ec88fSEmmanuel Vadot <GIC_SPI 20 IRQ_TYPE_LEVEL_HIGH>; 615c66ec88fSEmmanuel Vadot clocks = <&clk IMX8MM_CLK_SNVS_ROOT>; 616c66ec88fSEmmanuel Vadot clock-names = "snvs-rtc"; 617c66ec88fSEmmanuel Vadot }; 618c66ec88fSEmmanuel Vadot 619c66ec88fSEmmanuel Vadot snvs_pwrkey: snvs-powerkey { 620c66ec88fSEmmanuel Vadot compatible = "fsl,sec-v4.0-pwrkey"; 621c66ec88fSEmmanuel Vadot regmap = <&snvs>; 622c66ec88fSEmmanuel Vadot interrupts = <GIC_SPI 4 IRQ_TYPE_LEVEL_HIGH>; 623c66ec88fSEmmanuel Vadot clocks = <&clk IMX8MM_CLK_SNVS_ROOT>; 624c66ec88fSEmmanuel Vadot clock-names = "snvs-pwrkey"; 625c66ec88fSEmmanuel Vadot linux,keycode = <KEY_POWER>; 626c66ec88fSEmmanuel Vadot wakeup-source; 627c66ec88fSEmmanuel Vadot status = "disabled"; 628c66ec88fSEmmanuel Vadot }; 629b97ee269SEmmanuel Vadot 630b97ee269SEmmanuel Vadot snvs_lpgpr: snvs-lpgpr { 631b97ee269SEmmanuel Vadot compatible = "fsl,imx8mm-snvs-lpgpr", 632b97ee269SEmmanuel Vadot "fsl,imx7d-snvs-lpgpr"; 633b97ee269SEmmanuel Vadot }; 634c66ec88fSEmmanuel Vadot }; 635c66ec88fSEmmanuel Vadot 636c66ec88fSEmmanuel Vadot clk: clock-controller@30380000 { 637c66ec88fSEmmanuel Vadot compatible = "fsl,imx8mm-ccm"; 638c66ec88fSEmmanuel Vadot reg = <0x30380000 0x10000>; 639*8d13bc63SEmmanuel Vadot interrupts = <GIC_SPI 85 IRQ_TYPE_LEVEL_HIGH>, 640*8d13bc63SEmmanuel Vadot <GIC_SPI 86 IRQ_TYPE_LEVEL_HIGH>; 641c66ec88fSEmmanuel Vadot #clock-cells = <1>; 642c66ec88fSEmmanuel Vadot clocks = <&osc_32k>, <&osc_24m>, <&clk_ext1>, <&clk_ext2>, 643c66ec88fSEmmanuel Vadot <&clk_ext3>, <&clk_ext4>; 644c66ec88fSEmmanuel Vadot clock-names = "osc_32k", "osc_24m", "clk_ext1", "clk_ext2", 645c66ec88fSEmmanuel Vadot "clk_ext3", "clk_ext4"; 646c66ec88fSEmmanuel Vadot assigned-clocks = <&clk IMX8MM_CLK_A53_SRC>, 647c66ec88fSEmmanuel Vadot <&clk IMX8MM_CLK_A53_CORE>, 648c66ec88fSEmmanuel Vadot <&clk IMX8MM_CLK_NOC>, 649c66ec88fSEmmanuel Vadot <&clk IMX8MM_CLK_AUDIO_AHB>, 650c66ec88fSEmmanuel Vadot <&clk IMX8MM_CLK_IPG_AUDIO_ROOT>, 651c66ec88fSEmmanuel Vadot <&clk IMX8MM_SYS_PLL3>, 652e67e8565SEmmanuel Vadot <&clk IMX8MM_AUDIO_PLL1>; 653c66ec88fSEmmanuel Vadot assigned-clock-parents = <&clk IMX8MM_SYS_PLL1_800M>, 654c66ec88fSEmmanuel Vadot <&clk IMX8MM_ARM_PLL_OUT>, 655c66ec88fSEmmanuel Vadot <&clk IMX8MM_SYS_PLL3_OUT>, 656c66ec88fSEmmanuel Vadot <&clk IMX8MM_SYS_PLL1_800M>; 657c66ec88fSEmmanuel Vadot assigned-clock-rates = <0>, <0>, <0>, 658c66ec88fSEmmanuel Vadot <400000000>, 659c66ec88fSEmmanuel Vadot <400000000>, 660c66ec88fSEmmanuel Vadot <750000000>, 661e67e8565SEmmanuel Vadot <393216000>; 662c66ec88fSEmmanuel Vadot }; 663c66ec88fSEmmanuel Vadot 664c66ec88fSEmmanuel Vadot src: reset-controller@30390000 { 665c66ec88fSEmmanuel Vadot compatible = "fsl,imx8mm-src", "fsl,imx8mq-src", "syscon"; 666c66ec88fSEmmanuel Vadot reg = <0x30390000 0x10000>; 667c66ec88fSEmmanuel Vadot interrupts = <GIC_SPI 89 IRQ_TYPE_LEVEL_HIGH>; 668c66ec88fSEmmanuel Vadot #reset-cells = <1>; 669c66ec88fSEmmanuel Vadot }; 6708cc087a1SEmmanuel Vadot 6718cc087a1SEmmanuel Vadot gpc: gpc@303a0000 { 6728cc087a1SEmmanuel Vadot compatible = "fsl,imx8mm-gpc"; 6738cc087a1SEmmanuel Vadot reg = <0x303a0000 0x10000>; 6748cc087a1SEmmanuel Vadot interrupts = <GIC_SPI 87 IRQ_TYPE_LEVEL_HIGH>; 6758cc087a1SEmmanuel Vadot interrupt-parent = <&gic>; 6768cc087a1SEmmanuel Vadot interrupt-controller; 6778cc087a1SEmmanuel Vadot #interrupt-cells = <3>; 6788cc087a1SEmmanuel Vadot 6798cc087a1SEmmanuel Vadot pgc { 6808cc087a1SEmmanuel Vadot #address-cells = <1>; 6818cc087a1SEmmanuel Vadot #size-cells = <0>; 6828cc087a1SEmmanuel Vadot 6838cc087a1SEmmanuel Vadot pgc_hsiomix: power-domain@0 { 6848cc087a1SEmmanuel Vadot #power-domain-cells = <0>; 6858cc087a1SEmmanuel Vadot reg = <IMX8MM_POWER_DOMAIN_HSIOMIX>; 6868cc087a1SEmmanuel Vadot clocks = <&clk IMX8MM_CLK_USB_BUS>; 6878cc087a1SEmmanuel Vadot assigned-clocks = <&clk IMX8MM_CLK_USB_BUS>; 6888cc087a1SEmmanuel Vadot assigned-clock-parents = <&clk IMX8MM_SYS_PLL2_500M>; 6898cc087a1SEmmanuel Vadot }; 6908cc087a1SEmmanuel Vadot 6918cc087a1SEmmanuel Vadot pgc_pcie: power-domain@1 { 6928cc087a1SEmmanuel Vadot #power-domain-cells = <0>; 6938cc087a1SEmmanuel Vadot reg = <IMX8MM_POWER_DOMAIN_PCIE>; 6948cc087a1SEmmanuel Vadot power-domains = <&pgc_hsiomix>; 6958cc087a1SEmmanuel Vadot clocks = <&clk IMX8MM_CLK_PCIE1_ROOT>; 6968cc087a1SEmmanuel Vadot }; 6978cc087a1SEmmanuel Vadot 6988cc087a1SEmmanuel Vadot pgc_otg1: power-domain@2 { 6998cc087a1SEmmanuel Vadot #power-domain-cells = <0>; 7008cc087a1SEmmanuel Vadot reg = <IMX8MM_POWER_DOMAIN_OTG1>; 7018cc087a1SEmmanuel Vadot }; 7028cc087a1SEmmanuel Vadot 7038cc087a1SEmmanuel Vadot pgc_otg2: power-domain@3 { 7048cc087a1SEmmanuel Vadot #power-domain-cells = <0>; 7058cc087a1SEmmanuel Vadot reg = <IMX8MM_POWER_DOMAIN_OTG2>; 7068cc087a1SEmmanuel Vadot }; 7078cc087a1SEmmanuel Vadot 7088cc087a1SEmmanuel Vadot pgc_gpumix: power-domain@4 { 7098cc087a1SEmmanuel Vadot #power-domain-cells = <0>; 7108cc087a1SEmmanuel Vadot reg = <IMX8MM_POWER_DOMAIN_GPUMIX>; 7118cc087a1SEmmanuel Vadot clocks = <&clk IMX8MM_CLK_GPU_BUS_ROOT>, 7128cc087a1SEmmanuel Vadot <&clk IMX8MM_CLK_GPU_AHB>; 7138cc087a1SEmmanuel Vadot assigned-clocks = <&clk IMX8MM_CLK_GPU_AXI>, 7148cc087a1SEmmanuel Vadot <&clk IMX8MM_CLK_GPU_AHB>; 7158cc087a1SEmmanuel Vadot assigned-clock-parents = <&clk IMX8MM_SYS_PLL1_800M>, 7168cc087a1SEmmanuel Vadot <&clk IMX8MM_SYS_PLL1_800M>; 7178cc087a1SEmmanuel Vadot assigned-clock-rates = <800000000>, <400000000>; 7188cc087a1SEmmanuel Vadot }; 7198cc087a1SEmmanuel Vadot 7208cc087a1SEmmanuel Vadot pgc_gpu: power-domain@5 { 7218cc087a1SEmmanuel Vadot #power-domain-cells = <0>; 7228cc087a1SEmmanuel Vadot reg = <IMX8MM_POWER_DOMAIN_GPU>; 7238cc087a1SEmmanuel Vadot clocks = <&clk IMX8MM_CLK_GPU_AHB>, 7248cc087a1SEmmanuel Vadot <&clk IMX8MM_CLK_GPU_BUS_ROOT>, 7258cc087a1SEmmanuel Vadot <&clk IMX8MM_CLK_GPU2D_ROOT>, 7268cc087a1SEmmanuel Vadot <&clk IMX8MM_CLK_GPU3D_ROOT>; 7278cc087a1SEmmanuel Vadot resets = <&src IMX8MQ_RESET_GPU_RESET>; 7288cc087a1SEmmanuel Vadot power-domains = <&pgc_gpumix>; 7298cc087a1SEmmanuel Vadot }; 7308cc087a1SEmmanuel Vadot 7318cc087a1SEmmanuel Vadot pgc_vpumix: power-domain@6 { 7328cc087a1SEmmanuel Vadot #power-domain-cells = <0>; 7338cc087a1SEmmanuel Vadot reg = <IMX8MM_POWER_DOMAIN_VPUMIX>; 7348cc087a1SEmmanuel Vadot clocks = <&clk IMX8MM_CLK_VPU_DEC_ROOT>; 7358cc087a1SEmmanuel Vadot assigned-clocks = <&clk IMX8MM_CLK_VPU_BUS>; 7368cc087a1SEmmanuel Vadot assigned-clock-parents = <&clk IMX8MM_SYS_PLL1_800M>; 7378cc087a1SEmmanuel Vadot }; 7388cc087a1SEmmanuel Vadot 7398cc087a1SEmmanuel Vadot pgc_vpu_g1: power-domain@7 { 7408cc087a1SEmmanuel Vadot #power-domain-cells = <0>; 7418cc087a1SEmmanuel Vadot reg = <IMX8MM_POWER_DOMAIN_VPUG1>; 7428cc087a1SEmmanuel Vadot }; 7438cc087a1SEmmanuel Vadot 7448cc087a1SEmmanuel Vadot pgc_vpu_g2: power-domain@8 { 7458cc087a1SEmmanuel Vadot #power-domain-cells = <0>; 7468cc087a1SEmmanuel Vadot reg = <IMX8MM_POWER_DOMAIN_VPUG2>; 7478cc087a1SEmmanuel Vadot }; 7488cc087a1SEmmanuel Vadot 7498cc087a1SEmmanuel Vadot pgc_vpu_h1: power-domain@9 { 7508cc087a1SEmmanuel Vadot #power-domain-cells = <0>; 7518cc087a1SEmmanuel Vadot reg = <IMX8MM_POWER_DOMAIN_VPUH1>; 7528cc087a1SEmmanuel Vadot }; 7538cc087a1SEmmanuel Vadot 7548cc087a1SEmmanuel Vadot pgc_dispmix: power-domain@10 { 7558cc087a1SEmmanuel Vadot #power-domain-cells = <0>; 7568cc087a1SEmmanuel Vadot reg = <IMX8MM_POWER_DOMAIN_DISPMIX>; 7578cc087a1SEmmanuel Vadot clocks = <&clk IMX8MM_CLK_DISP_APB_ROOT>, 7588cc087a1SEmmanuel Vadot <&clk IMX8MM_CLK_DISP_AXI_ROOT>; 7598cc087a1SEmmanuel Vadot assigned-clocks = <&clk IMX8MM_CLK_DISP_AXI>, 7608cc087a1SEmmanuel Vadot <&clk IMX8MM_CLK_DISP_APB>; 7618cc087a1SEmmanuel Vadot assigned-clock-parents = <&clk IMX8MM_SYS_PLL2_1000M>, 7628cc087a1SEmmanuel Vadot <&clk IMX8MM_SYS_PLL1_800M>; 7638cc087a1SEmmanuel Vadot assigned-clock-rates = <500000000>, <200000000>; 7648cc087a1SEmmanuel Vadot }; 7658cc087a1SEmmanuel Vadot 7668cc087a1SEmmanuel Vadot pgc_mipi: power-domain@11 { 7678cc087a1SEmmanuel Vadot #power-domain-cells = <0>; 7688cc087a1SEmmanuel Vadot reg = <IMX8MM_POWER_DOMAIN_MIPI>; 7698cc087a1SEmmanuel Vadot }; 7708cc087a1SEmmanuel Vadot }; 7718cc087a1SEmmanuel Vadot }; 772c66ec88fSEmmanuel Vadot }; 773c66ec88fSEmmanuel Vadot 774c66ec88fSEmmanuel Vadot aips2: bus@30400000 { 775c66ec88fSEmmanuel Vadot compatible = "fsl,aips-bus", "simple-bus"; 776c66ec88fSEmmanuel Vadot reg = <0x30400000 0x400000>; 777c66ec88fSEmmanuel Vadot #address-cells = <1>; 778c66ec88fSEmmanuel Vadot #size-cells = <1>; 779c66ec88fSEmmanuel Vadot ranges = <0x30400000 0x30400000 0x400000>; 780c66ec88fSEmmanuel Vadot 781c66ec88fSEmmanuel Vadot pwm1: pwm@30660000 { 782c66ec88fSEmmanuel Vadot compatible = "fsl,imx8mm-pwm", "fsl,imx27-pwm"; 783c66ec88fSEmmanuel Vadot reg = <0x30660000 0x10000>; 784c66ec88fSEmmanuel Vadot interrupts = <GIC_SPI 81 IRQ_TYPE_LEVEL_HIGH>; 785c66ec88fSEmmanuel Vadot clocks = <&clk IMX8MM_CLK_PWM1_ROOT>, 786c66ec88fSEmmanuel Vadot <&clk IMX8MM_CLK_PWM1_ROOT>; 787c66ec88fSEmmanuel Vadot clock-names = "ipg", "per"; 788d5b0e70fSEmmanuel Vadot #pwm-cells = <3>; 789c66ec88fSEmmanuel Vadot status = "disabled"; 790c66ec88fSEmmanuel Vadot }; 791c66ec88fSEmmanuel Vadot 792c66ec88fSEmmanuel Vadot pwm2: pwm@30670000 { 793c66ec88fSEmmanuel Vadot compatible = "fsl,imx8mm-pwm", "fsl,imx27-pwm"; 794c66ec88fSEmmanuel Vadot reg = <0x30670000 0x10000>; 795c66ec88fSEmmanuel Vadot interrupts = <GIC_SPI 82 IRQ_TYPE_LEVEL_HIGH>; 796c66ec88fSEmmanuel Vadot clocks = <&clk IMX8MM_CLK_PWM2_ROOT>, 797c66ec88fSEmmanuel Vadot <&clk IMX8MM_CLK_PWM2_ROOT>; 798c66ec88fSEmmanuel Vadot clock-names = "ipg", "per"; 799d5b0e70fSEmmanuel Vadot #pwm-cells = <3>; 800c66ec88fSEmmanuel Vadot status = "disabled"; 801c66ec88fSEmmanuel Vadot }; 802c66ec88fSEmmanuel Vadot 803c66ec88fSEmmanuel Vadot pwm3: pwm@30680000 { 804c66ec88fSEmmanuel Vadot compatible = "fsl,imx8mm-pwm", "fsl,imx27-pwm"; 805c66ec88fSEmmanuel Vadot reg = <0x30680000 0x10000>; 806c66ec88fSEmmanuel Vadot interrupts = <GIC_SPI 83 IRQ_TYPE_LEVEL_HIGH>; 807c66ec88fSEmmanuel Vadot clocks = <&clk IMX8MM_CLK_PWM3_ROOT>, 808c66ec88fSEmmanuel Vadot <&clk IMX8MM_CLK_PWM3_ROOT>; 809c66ec88fSEmmanuel Vadot clock-names = "ipg", "per"; 810d5b0e70fSEmmanuel Vadot #pwm-cells = <3>; 811c66ec88fSEmmanuel Vadot status = "disabled"; 812c66ec88fSEmmanuel Vadot }; 813c66ec88fSEmmanuel Vadot 814c66ec88fSEmmanuel Vadot pwm4: pwm@30690000 { 815c66ec88fSEmmanuel Vadot compatible = "fsl,imx8mm-pwm", "fsl,imx27-pwm"; 816c66ec88fSEmmanuel Vadot reg = <0x30690000 0x10000>; 817c66ec88fSEmmanuel Vadot interrupts = <GIC_SPI 84 IRQ_TYPE_LEVEL_HIGH>; 818c66ec88fSEmmanuel Vadot clocks = <&clk IMX8MM_CLK_PWM4_ROOT>, 819c66ec88fSEmmanuel Vadot <&clk IMX8MM_CLK_PWM4_ROOT>; 820c66ec88fSEmmanuel Vadot clock-names = "ipg", "per"; 821d5b0e70fSEmmanuel Vadot #pwm-cells = <3>; 822c66ec88fSEmmanuel Vadot status = "disabled"; 823c66ec88fSEmmanuel Vadot }; 824c66ec88fSEmmanuel Vadot 825c66ec88fSEmmanuel Vadot system_counter: timer@306a0000 { 826c66ec88fSEmmanuel Vadot compatible = "nxp,sysctr-timer"; 827c66ec88fSEmmanuel Vadot reg = <0x306a0000 0x20000>; 828c66ec88fSEmmanuel Vadot interrupts = <GIC_SPI 47 IRQ_TYPE_LEVEL_HIGH>; 829c66ec88fSEmmanuel Vadot clocks = <&osc_24m>; 830c66ec88fSEmmanuel Vadot clock-names = "per"; 831c66ec88fSEmmanuel Vadot }; 832c66ec88fSEmmanuel Vadot }; 833c66ec88fSEmmanuel Vadot 834c66ec88fSEmmanuel Vadot aips3: bus@30800000 { 835c66ec88fSEmmanuel Vadot compatible = "fsl,aips-bus", "simple-bus"; 836c66ec88fSEmmanuel Vadot reg = <0x30800000 0x400000>; 837c66ec88fSEmmanuel Vadot #address-cells = <1>; 838c66ec88fSEmmanuel Vadot #size-cells = <1>; 839c66ec88fSEmmanuel Vadot ranges = <0x30800000 0x30800000 0x400000>, 840c66ec88fSEmmanuel Vadot <0x8000000 0x8000000 0x10000000>; 841c66ec88fSEmmanuel Vadot 8425956d97fSEmmanuel Vadot spba1: spba-bus@30800000 { 8435956d97fSEmmanuel Vadot compatible = "fsl,spba-bus", "simple-bus"; 8445956d97fSEmmanuel Vadot #address-cells = <1>; 8455956d97fSEmmanuel Vadot #size-cells = <1>; 8465956d97fSEmmanuel Vadot reg = <0x30800000 0x100000>; 8475956d97fSEmmanuel Vadot ranges; 8485956d97fSEmmanuel Vadot 849c66ec88fSEmmanuel Vadot ecspi1: spi@30820000 { 850c66ec88fSEmmanuel Vadot compatible = "fsl,imx8mm-ecspi", "fsl,imx51-ecspi"; 851c66ec88fSEmmanuel Vadot #address-cells = <1>; 852c66ec88fSEmmanuel Vadot #size-cells = <0>; 853c66ec88fSEmmanuel Vadot reg = <0x30820000 0x10000>; 854c66ec88fSEmmanuel Vadot interrupts = <GIC_SPI 31 IRQ_TYPE_LEVEL_HIGH>; 855c66ec88fSEmmanuel Vadot clocks = <&clk IMX8MM_CLK_ECSPI1_ROOT>, 856c66ec88fSEmmanuel Vadot <&clk IMX8MM_CLK_ECSPI1_ROOT>; 857c66ec88fSEmmanuel Vadot clock-names = "ipg", "per"; 858c66ec88fSEmmanuel Vadot dmas = <&sdma1 0 7 1>, <&sdma1 1 7 2>; 859c66ec88fSEmmanuel Vadot dma-names = "rx", "tx"; 860c66ec88fSEmmanuel Vadot status = "disabled"; 861c66ec88fSEmmanuel Vadot }; 862c66ec88fSEmmanuel Vadot 863c66ec88fSEmmanuel Vadot ecspi2: spi@30830000 { 864c66ec88fSEmmanuel Vadot compatible = "fsl,imx8mm-ecspi", "fsl,imx51-ecspi"; 865c66ec88fSEmmanuel Vadot #address-cells = <1>; 866c66ec88fSEmmanuel Vadot #size-cells = <0>; 867c66ec88fSEmmanuel Vadot reg = <0x30830000 0x10000>; 868c66ec88fSEmmanuel Vadot interrupts = <GIC_SPI 32 IRQ_TYPE_LEVEL_HIGH>; 869c66ec88fSEmmanuel Vadot clocks = <&clk IMX8MM_CLK_ECSPI2_ROOT>, 870c66ec88fSEmmanuel Vadot <&clk IMX8MM_CLK_ECSPI2_ROOT>; 871c66ec88fSEmmanuel Vadot clock-names = "ipg", "per"; 872c66ec88fSEmmanuel Vadot dmas = <&sdma1 2 7 1>, <&sdma1 3 7 2>; 873c66ec88fSEmmanuel Vadot dma-names = "rx", "tx"; 874c66ec88fSEmmanuel Vadot status = "disabled"; 875c66ec88fSEmmanuel Vadot }; 876c66ec88fSEmmanuel Vadot 877c66ec88fSEmmanuel Vadot ecspi3: spi@30840000 { 878c66ec88fSEmmanuel Vadot compatible = "fsl,imx8mm-ecspi", "fsl,imx51-ecspi"; 879c66ec88fSEmmanuel Vadot #address-cells = <1>; 880c66ec88fSEmmanuel Vadot #size-cells = <0>; 881c66ec88fSEmmanuel Vadot reg = <0x30840000 0x10000>; 882c66ec88fSEmmanuel Vadot interrupts = <GIC_SPI 33 IRQ_TYPE_LEVEL_HIGH>; 883c66ec88fSEmmanuel Vadot clocks = <&clk IMX8MM_CLK_ECSPI3_ROOT>, 884c66ec88fSEmmanuel Vadot <&clk IMX8MM_CLK_ECSPI3_ROOT>; 885c66ec88fSEmmanuel Vadot clock-names = "ipg", "per"; 886c66ec88fSEmmanuel Vadot dmas = <&sdma1 4 7 1>, <&sdma1 5 7 2>; 887c66ec88fSEmmanuel Vadot dma-names = "rx", "tx"; 888c66ec88fSEmmanuel Vadot status = "disabled"; 889c66ec88fSEmmanuel Vadot }; 890c66ec88fSEmmanuel Vadot 891c66ec88fSEmmanuel Vadot uart1: serial@30860000 { 892c66ec88fSEmmanuel Vadot compatible = "fsl,imx8mm-uart", "fsl,imx6q-uart"; 893c66ec88fSEmmanuel Vadot reg = <0x30860000 0x10000>; 894c66ec88fSEmmanuel Vadot interrupts = <GIC_SPI 26 IRQ_TYPE_LEVEL_HIGH>; 895c66ec88fSEmmanuel Vadot clocks = <&clk IMX8MM_CLK_UART1_ROOT>, 896c66ec88fSEmmanuel Vadot <&clk IMX8MM_CLK_UART1_ROOT>; 897c66ec88fSEmmanuel Vadot clock-names = "ipg", "per"; 898c66ec88fSEmmanuel Vadot dmas = <&sdma1 22 4 0>, <&sdma1 23 4 0>; 899c66ec88fSEmmanuel Vadot dma-names = "rx", "tx"; 900c66ec88fSEmmanuel Vadot status = "disabled"; 901c66ec88fSEmmanuel Vadot }; 902c66ec88fSEmmanuel Vadot 903c66ec88fSEmmanuel Vadot uart3: serial@30880000 { 904c66ec88fSEmmanuel Vadot compatible = "fsl,imx8mm-uart", "fsl,imx6q-uart"; 905c66ec88fSEmmanuel Vadot reg = <0x30880000 0x10000>; 906c66ec88fSEmmanuel Vadot interrupts = <GIC_SPI 28 IRQ_TYPE_LEVEL_HIGH>; 907c66ec88fSEmmanuel Vadot clocks = <&clk IMX8MM_CLK_UART3_ROOT>, 908c66ec88fSEmmanuel Vadot <&clk IMX8MM_CLK_UART3_ROOT>; 909c66ec88fSEmmanuel Vadot clock-names = "ipg", "per"; 910c66ec88fSEmmanuel Vadot dmas = <&sdma1 26 4 0>, <&sdma1 27 4 0>; 911c66ec88fSEmmanuel Vadot dma-names = "rx", "tx"; 912c66ec88fSEmmanuel Vadot status = "disabled"; 913c66ec88fSEmmanuel Vadot }; 914c66ec88fSEmmanuel Vadot 915c66ec88fSEmmanuel Vadot uart2: serial@30890000 { 916c66ec88fSEmmanuel Vadot compatible = "fsl,imx8mm-uart", "fsl,imx6q-uart"; 917c66ec88fSEmmanuel Vadot reg = <0x30890000 0x10000>; 918c66ec88fSEmmanuel Vadot interrupts = <GIC_SPI 27 IRQ_TYPE_LEVEL_HIGH>; 919c66ec88fSEmmanuel Vadot clocks = <&clk IMX8MM_CLK_UART2_ROOT>, 920c66ec88fSEmmanuel Vadot <&clk IMX8MM_CLK_UART2_ROOT>; 921c66ec88fSEmmanuel Vadot clock-names = "ipg", "per"; 922c66ec88fSEmmanuel Vadot status = "disabled"; 923c66ec88fSEmmanuel Vadot }; 9245956d97fSEmmanuel Vadot }; 925c66ec88fSEmmanuel Vadot 926c66ec88fSEmmanuel Vadot crypto: crypto@30900000 { 927c66ec88fSEmmanuel Vadot compatible = "fsl,sec-v4.0"; 928c66ec88fSEmmanuel Vadot #address-cells = <1>; 929c66ec88fSEmmanuel Vadot #size-cells = <1>; 930c66ec88fSEmmanuel Vadot reg = <0x30900000 0x40000>; 931c66ec88fSEmmanuel Vadot ranges = <0 0x30900000 0x40000>; 932c66ec88fSEmmanuel Vadot interrupts = <GIC_SPI 91 IRQ_TYPE_LEVEL_HIGH>; 933c66ec88fSEmmanuel Vadot clocks = <&clk IMX8MM_CLK_AHB>, 934c66ec88fSEmmanuel Vadot <&clk IMX8MM_CLK_IPG_ROOT>; 935c66ec88fSEmmanuel Vadot clock-names = "aclk", "ipg"; 936c66ec88fSEmmanuel Vadot 937c66ec88fSEmmanuel Vadot sec_jr0: jr@1000 { 938c66ec88fSEmmanuel Vadot compatible = "fsl,sec-v4.0-job-ring"; 939c66ec88fSEmmanuel Vadot reg = <0x1000 0x1000>; 940c66ec88fSEmmanuel Vadot interrupts = <GIC_SPI 105 IRQ_TYPE_LEVEL_HIGH>; 941b97ee269SEmmanuel Vadot status = "disabled"; 942c66ec88fSEmmanuel Vadot }; 943c66ec88fSEmmanuel Vadot 944c66ec88fSEmmanuel Vadot sec_jr1: jr@2000 { 945c66ec88fSEmmanuel Vadot compatible = "fsl,sec-v4.0-job-ring"; 946c66ec88fSEmmanuel Vadot reg = <0x2000 0x1000>; 947c66ec88fSEmmanuel Vadot interrupts = <GIC_SPI 106 IRQ_TYPE_LEVEL_HIGH>; 948c66ec88fSEmmanuel Vadot }; 949c66ec88fSEmmanuel Vadot 950c66ec88fSEmmanuel Vadot sec_jr2: jr@3000 { 951c66ec88fSEmmanuel Vadot compatible = "fsl,sec-v4.0-job-ring"; 952c66ec88fSEmmanuel Vadot reg = <0x3000 0x1000>; 953c66ec88fSEmmanuel Vadot interrupts = <GIC_SPI 114 IRQ_TYPE_LEVEL_HIGH>; 954c66ec88fSEmmanuel Vadot }; 955c66ec88fSEmmanuel Vadot }; 956c66ec88fSEmmanuel Vadot 957c66ec88fSEmmanuel Vadot i2c1: i2c@30a20000 { 958c66ec88fSEmmanuel Vadot compatible = "fsl,imx8mm-i2c", "fsl,imx21-i2c"; 959c66ec88fSEmmanuel Vadot #address-cells = <1>; 960c66ec88fSEmmanuel Vadot #size-cells = <0>; 961c66ec88fSEmmanuel Vadot reg = <0x30a20000 0x10000>; 962c66ec88fSEmmanuel Vadot interrupts = <GIC_SPI 35 IRQ_TYPE_LEVEL_HIGH>; 963c66ec88fSEmmanuel Vadot clocks = <&clk IMX8MM_CLK_I2C1_ROOT>; 964c66ec88fSEmmanuel Vadot status = "disabled"; 965c66ec88fSEmmanuel Vadot }; 966c66ec88fSEmmanuel Vadot 967c66ec88fSEmmanuel Vadot i2c2: i2c@30a30000 { 968c66ec88fSEmmanuel Vadot compatible = "fsl,imx8mm-i2c", "fsl,imx21-i2c"; 969c66ec88fSEmmanuel Vadot #address-cells = <1>; 970c66ec88fSEmmanuel Vadot #size-cells = <0>; 971c66ec88fSEmmanuel Vadot reg = <0x30a30000 0x10000>; 972c66ec88fSEmmanuel Vadot interrupts = <GIC_SPI 36 IRQ_TYPE_LEVEL_HIGH>; 973c66ec88fSEmmanuel Vadot clocks = <&clk IMX8MM_CLK_I2C2_ROOT>; 974c66ec88fSEmmanuel Vadot status = "disabled"; 975c66ec88fSEmmanuel Vadot }; 976c66ec88fSEmmanuel Vadot 977c66ec88fSEmmanuel Vadot i2c3: i2c@30a40000 { 978c66ec88fSEmmanuel Vadot #address-cells = <1>; 979c66ec88fSEmmanuel Vadot #size-cells = <0>; 980c66ec88fSEmmanuel Vadot compatible = "fsl,imx8mm-i2c", "fsl,imx21-i2c"; 981c66ec88fSEmmanuel Vadot reg = <0x30a40000 0x10000>; 982c66ec88fSEmmanuel Vadot interrupts = <GIC_SPI 37 IRQ_TYPE_LEVEL_HIGH>; 983c66ec88fSEmmanuel Vadot clocks = <&clk IMX8MM_CLK_I2C3_ROOT>; 984c66ec88fSEmmanuel Vadot status = "disabled"; 985c66ec88fSEmmanuel Vadot }; 986c66ec88fSEmmanuel Vadot 987c66ec88fSEmmanuel Vadot i2c4: i2c@30a50000 { 988c66ec88fSEmmanuel Vadot compatible = "fsl,imx8mm-i2c", "fsl,imx21-i2c"; 989c66ec88fSEmmanuel Vadot #address-cells = <1>; 990c66ec88fSEmmanuel Vadot #size-cells = <0>; 991c66ec88fSEmmanuel Vadot reg = <0x30a50000 0x10000>; 992c66ec88fSEmmanuel Vadot interrupts = <GIC_SPI 38 IRQ_TYPE_LEVEL_HIGH>; 993c66ec88fSEmmanuel Vadot clocks = <&clk IMX8MM_CLK_I2C4_ROOT>; 994c66ec88fSEmmanuel Vadot status = "disabled"; 995c66ec88fSEmmanuel Vadot }; 996c66ec88fSEmmanuel Vadot 997c66ec88fSEmmanuel Vadot uart4: serial@30a60000 { 998c66ec88fSEmmanuel Vadot compatible = "fsl,imx8mm-uart", "fsl,imx6q-uart"; 999c66ec88fSEmmanuel Vadot reg = <0x30a60000 0x10000>; 1000c66ec88fSEmmanuel Vadot interrupts = <GIC_SPI 29 IRQ_TYPE_LEVEL_HIGH>; 1001c66ec88fSEmmanuel Vadot clocks = <&clk IMX8MM_CLK_UART4_ROOT>, 1002c66ec88fSEmmanuel Vadot <&clk IMX8MM_CLK_UART4_ROOT>; 1003c66ec88fSEmmanuel Vadot clock-names = "ipg", "per"; 1004c66ec88fSEmmanuel Vadot dmas = <&sdma1 28 4 0>, <&sdma1 29 4 0>; 1005c66ec88fSEmmanuel Vadot dma-names = "rx", "tx"; 1006c66ec88fSEmmanuel Vadot status = "disabled"; 1007c66ec88fSEmmanuel Vadot }; 1008c66ec88fSEmmanuel Vadot 1009c66ec88fSEmmanuel Vadot mu: mailbox@30aa0000 { 1010c66ec88fSEmmanuel Vadot compatible = "fsl,imx8mm-mu", "fsl,imx6sx-mu"; 1011c66ec88fSEmmanuel Vadot reg = <0x30aa0000 0x10000>; 1012c66ec88fSEmmanuel Vadot interrupts = <GIC_SPI 88 IRQ_TYPE_LEVEL_HIGH>; 1013c66ec88fSEmmanuel Vadot clocks = <&clk IMX8MM_CLK_MU_ROOT>; 1014c66ec88fSEmmanuel Vadot #mbox-cells = <2>; 1015c66ec88fSEmmanuel Vadot }; 1016c66ec88fSEmmanuel Vadot 1017c66ec88fSEmmanuel Vadot usdhc1: mmc@30b40000 { 1018c66ec88fSEmmanuel Vadot compatible = "fsl,imx8mm-usdhc", "fsl,imx7d-usdhc"; 1019c66ec88fSEmmanuel Vadot reg = <0x30b40000 0x10000>; 1020c66ec88fSEmmanuel Vadot interrupts = <GIC_SPI 22 IRQ_TYPE_LEVEL_HIGH>; 1021c66ec88fSEmmanuel Vadot clocks = <&clk IMX8MM_CLK_IPG_ROOT>, 1022c66ec88fSEmmanuel Vadot <&clk IMX8MM_CLK_NAND_USDHC_BUS>, 1023c66ec88fSEmmanuel Vadot <&clk IMX8MM_CLK_USDHC1_ROOT>; 1024c66ec88fSEmmanuel Vadot clock-names = "ipg", "ahb", "per"; 1025c66ec88fSEmmanuel Vadot fsl,tuning-start-tap = <20>; 1026c66ec88fSEmmanuel Vadot fsl,tuning-step = <2>; 1027c66ec88fSEmmanuel Vadot bus-width = <4>; 1028c66ec88fSEmmanuel Vadot status = "disabled"; 1029c66ec88fSEmmanuel Vadot }; 1030c66ec88fSEmmanuel Vadot 1031c66ec88fSEmmanuel Vadot usdhc2: mmc@30b50000 { 1032c66ec88fSEmmanuel Vadot compatible = "fsl,imx8mm-usdhc", "fsl,imx7d-usdhc"; 1033c66ec88fSEmmanuel Vadot reg = <0x30b50000 0x10000>; 1034c66ec88fSEmmanuel Vadot interrupts = <GIC_SPI 23 IRQ_TYPE_LEVEL_HIGH>; 1035c66ec88fSEmmanuel Vadot clocks = <&clk IMX8MM_CLK_IPG_ROOT>, 1036c66ec88fSEmmanuel Vadot <&clk IMX8MM_CLK_NAND_USDHC_BUS>, 1037c66ec88fSEmmanuel Vadot <&clk IMX8MM_CLK_USDHC2_ROOT>; 1038c66ec88fSEmmanuel Vadot clock-names = "ipg", "ahb", "per"; 1039c66ec88fSEmmanuel Vadot fsl,tuning-start-tap = <20>; 1040c66ec88fSEmmanuel Vadot fsl,tuning-step = <2>; 1041c66ec88fSEmmanuel Vadot bus-width = <4>; 1042c66ec88fSEmmanuel Vadot status = "disabled"; 1043c66ec88fSEmmanuel Vadot }; 1044c66ec88fSEmmanuel Vadot 1045c66ec88fSEmmanuel Vadot usdhc3: mmc@30b60000 { 1046c66ec88fSEmmanuel Vadot compatible = "fsl,imx8mm-usdhc", "fsl,imx7d-usdhc"; 1047c66ec88fSEmmanuel Vadot reg = <0x30b60000 0x10000>; 1048c66ec88fSEmmanuel Vadot interrupts = <GIC_SPI 24 IRQ_TYPE_LEVEL_HIGH>; 1049c66ec88fSEmmanuel Vadot clocks = <&clk IMX8MM_CLK_IPG_ROOT>, 1050c66ec88fSEmmanuel Vadot <&clk IMX8MM_CLK_NAND_USDHC_BUS>, 1051c66ec88fSEmmanuel Vadot <&clk IMX8MM_CLK_USDHC3_ROOT>; 1052c66ec88fSEmmanuel Vadot clock-names = "ipg", "ahb", "per"; 1053c66ec88fSEmmanuel Vadot fsl,tuning-start-tap = <20>; 1054c66ec88fSEmmanuel Vadot fsl,tuning-step = <2>; 1055c66ec88fSEmmanuel Vadot bus-width = <4>; 1056c66ec88fSEmmanuel Vadot status = "disabled"; 1057c66ec88fSEmmanuel Vadot }; 1058c66ec88fSEmmanuel Vadot 1059c66ec88fSEmmanuel Vadot flexspi: spi@30bb0000 { 1060c66ec88fSEmmanuel Vadot #address-cells = <1>; 1061c66ec88fSEmmanuel Vadot #size-cells = <0>; 1062c66ec88fSEmmanuel Vadot compatible = "nxp,imx8mm-fspi"; 1063c66ec88fSEmmanuel Vadot reg = <0x30bb0000 0x10000>, <0x8000000 0x10000000>; 1064c66ec88fSEmmanuel Vadot reg-names = "fspi_base", "fspi_mmap"; 1065c66ec88fSEmmanuel Vadot interrupts = <GIC_SPI 107 IRQ_TYPE_LEVEL_HIGH>; 1066c66ec88fSEmmanuel Vadot clocks = <&clk IMX8MM_CLK_QSPI_ROOT>, 1067c66ec88fSEmmanuel Vadot <&clk IMX8MM_CLK_QSPI_ROOT>; 10682eb4d8dcSEmmanuel Vadot clock-names = "fspi_en", "fspi"; 1069c66ec88fSEmmanuel Vadot status = "disabled"; 1070c66ec88fSEmmanuel Vadot }; 1071c66ec88fSEmmanuel Vadot 1072c66ec88fSEmmanuel Vadot sdma1: dma-controller@30bd0000 { 1073c66ec88fSEmmanuel Vadot compatible = "fsl,imx8mm-sdma", "fsl,imx8mq-sdma"; 1074c66ec88fSEmmanuel Vadot reg = <0x30bd0000 0x10000>; 1075c66ec88fSEmmanuel Vadot interrupts = <GIC_SPI 2 IRQ_TYPE_LEVEL_HIGH>; 1076c66ec88fSEmmanuel Vadot clocks = <&clk IMX8MM_CLK_SDMA1_ROOT>, 1077c66ec88fSEmmanuel Vadot <&clk IMX8MM_CLK_AHB>; 1078c66ec88fSEmmanuel Vadot clock-names = "ipg", "ahb"; 1079c66ec88fSEmmanuel Vadot #dma-cells = <3>; 1080c66ec88fSEmmanuel Vadot fsl,sdma-ram-script-name = "imx/sdma/sdma-imx7d.bin"; 1081c66ec88fSEmmanuel Vadot }; 1082c66ec88fSEmmanuel Vadot 1083c66ec88fSEmmanuel Vadot fec1: ethernet@30be0000 { 1084354d7675SEmmanuel Vadot compatible = "fsl,imx8mm-fec", "fsl,imx8mq-fec", "fsl,imx6sx-fec"; 1085c66ec88fSEmmanuel Vadot reg = <0x30be0000 0x10000>; 1086c66ec88fSEmmanuel Vadot interrupts = <GIC_SPI 118 IRQ_TYPE_LEVEL_HIGH>, 1087c66ec88fSEmmanuel Vadot <GIC_SPI 119 IRQ_TYPE_LEVEL_HIGH>, 10886be33864SEmmanuel Vadot <GIC_SPI 120 IRQ_TYPE_LEVEL_HIGH>, 10896be33864SEmmanuel Vadot <GIC_SPI 121 IRQ_TYPE_LEVEL_HIGH>; 1090c66ec88fSEmmanuel Vadot clocks = <&clk IMX8MM_CLK_ENET1_ROOT>, 1091c66ec88fSEmmanuel Vadot <&clk IMX8MM_CLK_ENET1_ROOT>, 1092c66ec88fSEmmanuel Vadot <&clk IMX8MM_CLK_ENET_TIMER>, 1093c66ec88fSEmmanuel Vadot <&clk IMX8MM_CLK_ENET_REF>, 1094c66ec88fSEmmanuel Vadot <&clk IMX8MM_CLK_ENET_PHY_REF>; 1095c66ec88fSEmmanuel Vadot clock-names = "ipg", "ahb", "ptp", 1096c66ec88fSEmmanuel Vadot "enet_clk_ref", "enet_out"; 1097c66ec88fSEmmanuel Vadot assigned-clocks = <&clk IMX8MM_CLK_ENET_AXI>, 1098c66ec88fSEmmanuel Vadot <&clk IMX8MM_CLK_ENET_TIMER>, 1099c66ec88fSEmmanuel Vadot <&clk IMX8MM_CLK_ENET_REF>, 11005def4c47SEmmanuel Vadot <&clk IMX8MM_CLK_ENET_PHY_REF>; 1101c66ec88fSEmmanuel Vadot assigned-clock-parents = <&clk IMX8MM_SYS_PLL1_266M>, 1102c66ec88fSEmmanuel Vadot <&clk IMX8MM_SYS_PLL2_100M>, 11035def4c47SEmmanuel Vadot <&clk IMX8MM_SYS_PLL2_125M>, 11045def4c47SEmmanuel Vadot <&clk IMX8MM_SYS_PLL2_50M>; 11055def4c47SEmmanuel Vadot assigned-clock-rates = <0>, <100000000>, <125000000>, <0>; 1106c66ec88fSEmmanuel Vadot fsl,num-tx-queues = <3>; 1107c66ec88fSEmmanuel Vadot fsl,num-rx-queues = <3>; 11085def4c47SEmmanuel Vadot nvmem-cells = <&fec_mac_address>; 11095def4c47SEmmanuel Vadot nvmem-cell-names = "mac-address"; 11105def4c47SEmmanuel Vadot fsl,stop-mode = <&gpr 0x10 3>; 1111c66ec88fSEmmanuel Vadot status = "disabled"; 1112c66ec88fSEmmanuel Vadot }; 1113c66ec88fSEmmanuel Vadot 1114c66ec88fSEmmanuel Vadot }; 1115c66ec88fSEmmanuel Vadot 1116c66ec88fSEmmanuel Vadot aips4: bus@32c00000 { 1117c66ec88fSEmmanuel Vadot compatible = "fsl,aips-bus", "simple-bus"; 1118c66ec88fSEmmanuel Vadot reg = <0x32c00000 0x400000>; 1119c66ec88fSEmmanuel Vadot #address-cells = <1>; 1120c66ec88fSEmmanuel Vadot #size-cells = <1>; 1121c66ec88fSEmmanuel Vadot ranges = <0x32c00000 0x32c00000 0x400000>; 1122c66ec88fSEmmanuel Vadot 1123fac71e4eSEmmanuel Vadot lcdif: lcdif@32e00000 { 1124fac71e4eSEmmanuel Vadot compatible = "fsl,imx8mm-lcdif", "fsl,imx6sx-lcdif"; 1125fac71e4eSEmmanuel Vadot reg = <0x32e00000 0x10000>; 1126fac71e4eSEmmanuel Vadot clocks = <&clk IMX8MM_CLK_LCDIF_PIXEL>, 1127fac71e4eSEmmanuel Vadot <&clk IMX8MM_CLK_DISP_APB_ROOT>, 1128fac71e4eSEmmanuel Vadot <&clk IMX8MM_CLK_DISP_AXI_ROOT>; 1129fac71e4eSEmmanuel Vadot clock-names = "pix", "axi", "disp_axi"; 1130fac71e4eSEmmanuel Vadot assigned-clocks = <&clk IMX8MM_CLK_LCDIF_PIXEL>, 1131fac71e4eSEmmanuel Vadot <&clk IMX8MM_CLK_DISP_AXI>, 1132fac71e4eSEmmanuel Vadot <&clk IMX8MM_CLK_DISP_APB>; 1133fac71e4eSEmmanuel Vadot assigned-clock-parents = <&clk IMX8MM_VIDEO_PLL1_OUT>, 1134fac71e4eSEmmanuel Vadot <&clk IMX8MM_SYS_PLL2_1000M>, 1135fac71e4eSEmmanuel Vadot <&clk IMX8MM_SYS_PLL1_800M>; 1136*8d13bc63SEmmanuel Vadot assigned-clock-rates = <24000000>, <500000000>, <200000000>; 1137fac71e4eSEmmanuel Vadot interrupts = <GIC_SPI 5 IRQ_TYPE_LEVEL_HIGH>; 1138fac71e4eSEmmanuel Vadot power-domains = <&disp_blk_ctrl IMX8MM_DISPBLK_PD_LCDIF>; 1139fac71e4eSEmmanuel Vadot status = "disabled"; 1140fac71e4eSEmmanuel Vadot 1141fac71e4eSEmmanuel Vadot port { 1142fac71e4eSEmmanuel Vadot lcdif_to_dsim: endpoint { 1143fac71e4eSEmmanuel Vadot remote-endpoint = <&dsim_from_lcdif>; 1144fac71e4eSEmmanuel Vadot }; 1145fac71e4eSEmmanuel Vadot }; 1146fac71e4eSEmmanuel Vadot }; 1147fac71e4eSEmmanuel Vadot 1148fac71e4eSEmmanuel Vadot mipi_dsi: dsi@32e10000 { 1149fac71e4eSEmmanuel Vadot compatible = "fsl,imx8mm-mipi-dsim"; 1150fac71e4eSEmmanuel Vadot reg = <0x32e10000 0x400>; 1151fac71e4eSEmmanuel Vadot clocks = <&clk IMX8MM_CLK_DSI_CORE>, 1152fac71e4eSEmmanuel Vadot <&clk IMX8MM_CLK_DSI_PHY_REF>; 1153fac71e4eSEmmanuel Vadot clock-names = "bus_clk", "sclk_mipi"; 1154*8d13bc63SEmmanuel Vadot assigned-clocks = <&clk IMX8MM_CLK_DSI_CORE>; 1155*8d13bc63SEmmanuel Vadot assigned-clock-parents = <&clk IMX8MM_SYS_PLL1_266M>; 1156fac71e4eSEmmanuel Vadot interrupts = <GIC_SPI 18 IRQ_TYPE_LEVEL_HIGH>; 1157fac71e4eSEmmanuel Vadot power-domains = <&disp_blk_ctrl IMX8MM_DISPBLK_PD_MIPI_DSI>; 1158fac71e4eSEmmanuel Vadot status = "disabled"; 1159fac71e4eSEmmanuel Vadot 1160fac71e4eSEmmanuel Vadot ports { 1161fac71e4eSEmmanuel Vadot #address-cells = <1>; 1162fac71e4eSEmmanuel Vadot #size-cells = <0>; 1163fac71e4eSEmmanuel Vadot 1164fac71e4eSEmmanuel Vadot port@0 { 1165fac71e4eSEmmanuel Vadot reg = <0>; 1166fac71e4eSEmmanuel Vadot 1167fac71e4eSEmmanuel Vadot dsim_from_lcdif: endpoint { 1168fac71e4eSEmmanuel Vadot remote-endpoint = <&lcdif_to_dsim>; 1169fac71e4eSEmmanuel Vadot }; 1170fac71e4eSEmmanuel Vadot }; 1171fac71e4eSEmmanuel Vadot }; 1172fac71e4eSEmmanuel Vadot }; 1173fac71e4eSEmmanuel Vadot 1174e67e8565SEmmanuel Vadot csi: csi@32e20000 { 1175e67e8565SEmmanuel Vadot compatible = "fsl,imx8mm-csi", "fsl,imx7-csi"; 1176e67e8565SEmmanuel Vadot reg = <0x32e20000 0x1000>; 1177e67e8565SEmmanuel Vadot interrupts = <GIC_SPI 16 IRQ_TYPE_LEVEL_HIGH>; 1178e67e8565SEmmanuel Vadot clocks = <&clk IMX8MM_CLK_CSI1_ROOT>; 1179e67e8565SEmmanuel Vadot clock-names = "mclk"; 1180e67e8565SEmmanuel Vadot power-domains = <&disp_blk_ctrl IMX8MM_DISPBLK_PD_CSI_BRIDGE>; 1181e67e8565SEmmanuel Vadot status = "disabled"; 1182e67e8565SEmmanuel Vadot 1183e67e8565SEmmanuel Vadot port { 1184e67e8565SEmmanuel Vadot csi_in: endpoint { 1185e67e8565SEmmanuel Vadot remote-endpoint = <&imx8mm_mipi_csi_out>; 1186e67e8565SEmmanuel Vadot }; 1187e67e8565SEmmanuel Vadot }; 1188e67e8565SEmmanuel Vadot }; 1189e67e8565SEmmanuel Vadot 11908cc087a1SEmmanuel Vadot disp_blk_ctrl: blk-ctrl@32e28000 { 11918cc087a1SEmmanuel Vadot compatible = "fsl,imx8mm-disp-blk-ctrl", "syscon"; 11928cc087a1SEmmanuel Vadot reg = <0x32e28000 0x100>; 11938cc087a1SEmmanuel Vadot power-domains = <&pgc_dispmix>, <&pgc_dispmix>, 11948cc087a1SEmmanuel Vadot <&pgc_dispmix>, <&pgc_mipi>, 11958cc087a1SEmmanuel Vadot <&pgc_mipi>; 11968cc087a1SEmmanuel Vadot power-domain-names = "bus", "csi-bridge", 11978cc087a1SEmmanuel Vadot "lcdif", "mipi-dsi", 11988cc087a1SEmmanuel Vadot "mipi-csi"; 11998cc087a1SEmmanuel Vadot clocks = <&clk IMX8MM_CLK_DISP_AXI_ROOT>, 12008cc087a1SEmmanuel Vadot <&clk IMX8MM_CLK_DISP_APB_ROOT>, 12018cc087a1SEmmanuel Vadot <&clk IMX8MM_CLK_CSI1_ROOT>, 12028cc087a1SEmmanuel Vadot <&clk IMX8MM_CLK_DISP_AXI_ROOT>, 12038cc087a1SEmmanuel Vadot <&clk IMX8MM_CLK_DISP_APB_ROOT>, 12048cc087a1SEmmanuel Vadot <&clk IMX8MM_CLK_DISP_ROOT>, 12058cc087a1SEmmanuel Vadot <&clk IMX8MM_CLK_DSI_CORE>, 12068cc087a1SEmmanuel Vadot <&clk IMX8MM_CLK_DSI_PHY_REF>, 12078cc087a1SEmmanuel Vadot <&clk IMX8MM_CLK_CSI1_CORE>, 12088cc087a1SEmmanuel Vadot <&clk IMX8MM_CLK_CSI1_PHY_REF>; 12098cc087a1SEmmanuel Vadot clock-names = "csi-bridge-axi","csi-bridge-apb", 12108cc087a1SEmmanuel Vadot "csi-bridge-core", "lcdif-axi", 12118cc087a1SEmmanuel Vadot "lcdif-apb", "lcdif-pix", 12128cc087a1SEmmanuel Vadot "dsi-pclk", "dsi-ref", 12138cc087a1SEmmanuel Vadot "csi-aclk", "csi-pclk"; 12148cc087a1SEmmanuel Vadot #power-domain-cells = <1>; 12158cc087a1SEmmanuel Vadot }; 12168cc087a1SEmmanuel Vadot 1217e67e8565SEmmanuel Vadot mipi_csi: mipi-csi@32e30000 { 1218e67e8565SEmmanuel Vadot compatible = "fsl,imx8mm-mipi-csi2"; 1219e67e8565SEmmanuel Vadot reg = <0x32e30000 0x1000>; 1220e67e8565SEmmanuel Vadot interrupts = <GIC_SPI 17 IRQ_TYPE_LEVEL_HIGH>; 1221f126890aSEmmanuel Vadot assigned-clocks = <&clk IMX8MM_CLK_CSI1_CORE>; 1222f126890aSEmmanuel Vadot assigned-clock-parents = <&clk IMX8MM_SYS_PLL2_1000M>; 1223f126890aSEmmanuel Vadot 1224e67e8565SEmmanuel Vadot clock-frequency = <333000000>; 1225e67e8565SEmmanuel Vadot clocks = <&clk IMX8MM_CLK_DISP_APB_ROOT>, 1226e67e8565SEmmanuel Vadot <&clk IMX8MM_CLK_CSI1_ROOT>, 1227e67e8565SEmmanuel Vadot <&clk IMX8MM_CLK_CSI1_PHY_REF>, 1228e67e8565SEmmanuel Vadot <&clk IMX8MM_CLK_DISP_AXI_ROOT>; 1229e67e8565SEmmanuel Vadot clock-names = "pclk", "wrap", "phy", "axi"; 1230e67e8565SEmmanuel Vadot power-domains = <&disp_blk_ctrl IMX8MM_DISPBLK_PD_MIPI_CSI>; 1231e67e8565SEmmanuel Vadot status = "disabled"; 1232e67e8565SEmmanuel Vadot 1233e67e8565SEmmanuel Vadot ports { 1234e67e8565SEmmanuel Vadot #address-cells = <1>; 1235e67e8565SEmmanuel Vadot #size-cells = <0>; 1236e67e8565SEmmanuel Vadot 1237e67e8565SEmmanuel Vadot port@0 { 1238e67e8565SEmmanuel Vadot reg = <0>; 1239e67e8565SEmmanuel Vadot }; 1240e67e8565SEmmanuel Vadot 1241e67e8565SEmmanuel Vadot port@1 { 1242e67e8565SEmmanuel Vadot reg = <1>; 1243e67e8565SEmmanuel Vadot 1244e67e8565SEmmanuel Vadot imx8mm_mipi_csi_out: endpoint { 1245e67e8565SEmmanuel Vadot remote-endpoint = <&csi_in>; 1246e67e8565SEmmanuel Vadot }; 1247e67e8565SEmmanuel Vadot }; 1248e67e8565SEmmanuel Vadot }; 1249e67e8565SEmmanuel Vadot }; 1250e67e8565SEmmanuel Vadot 1251c66ec88fSEmmanuel Vadot usbotg1: usb@32e40000 { 1252fac71e4eSEmmanuel Vadot compatible = "fsl,imx8mm-usb", "fsl,imx7d-usb", "fsl,imx27-usb"; 1253c66ec88fSEmmanuel Vadot reg = <0x32e40000 0x200>; 1254c66ec88fSEmmanuel Vadot interrupts = <GIC_SPI 40 IRQ_TYPE_LEVEL_HIGH>; 1255c66ec88fSEmmanuel Vadot clocks = <&clk IMX8MM_CLK_USB1_CTRL_ROOT>; 1256c66ec88fSEmmanuel Vadot clock-names = "usb1_ctrl_root_clk"; 1257c66ec88fSEmmanuel Vadot assigned-clocks = <&clk IMX8MM_CLK_USB_BUS>; 1258c66ec88fSEmmanuel Vadot assigned-clock-parents = <&clk IMX8MM_SYS_PLL2_500M>; 1259354d7675SEmmanuel Vadot phys = <&usbphynop1>; 1260c66ec88fSEmmanuel Vadot fsl,usbmisc = <&usbmisc1 0>; 12617ef62cebSEmmanuel Vadot power-domains = <&pgc_hsiomix>; 1262c66ec88fSEmmanuel Vadot status = "disabled"; 1263c66ec88fSEmmanuel Vadot }; 1264c66ec88fSEmmanuel Vadot 1265c66ec88fSEmmanuel Vadot usbmisc1: usbmisc@32e40200 { 1266fac71e4eSEmmanuel Vadot compatible = "fsl,imx8mm-usbmisc", "fsl,imx7d-usbmisc", 1267fac71e4eSEmmanuel Vadot "fsl,imx6q-usbmisc"; 1268c66ec88fSEmmanuel Vadot #index-cells = <1>; 1269c66ec88fSEmmanuel Vadot reg = <0x32e40200 0x200>; 1270c66ec88fSEmmanuel Vadot }; 1271c66ec88fSEmmanuel Vadot 1272c66ec88fSEmmanuel Vadot usbotg2: usb@32e50000 { 1273fac71e4eSEmmanuel Vadot compatible = "fsl,imx8mm-usb", "fsl,imx7d-usb", "fsl,imx27-usb"; 1274c66ec88fSEmmanuel Vadot reg = <0x32e50000 0x200>; 1275c66ec88fSEmmanuel Vadot interrupts = <GIC_SPI 41 IRQ_TYPE_LEVEL_HIGH>; 1276c66ec88fSEmmanuel Vadot clocks = <&clk IMX8MM_CLK_USB1_CTRL_ROOT>; 1277c66ec88fSEmmanuel Vadot clock-names = "usb1_ctrl_root_clk"; 1278c66ec88fSEmmanuel Vadot assigned-clocks = <&clk IMX8MM_CLK_USB_BUS>; 1279c66ec88fSEmmanuel Vadot assigned-clock-parents = <&clk IMX8MM_SYS_PLL2_500M>; 1280354d7675SEmmanuel Vadot phys = <&usbphynop2>; 1281c66ec88fSEmmanuel Vadot fsl,usbmisc = <&usbmisc2 0>; 12827ef62cebSEmmanuel Vadot power-domains = <&pgc_hsiomix>; 1283c66ec88fSEmmanuel Vadot status = "disabled"; 1284c66ec88fSEmmanuel Vadot }; 1285c66ec88fSEmmanuel Vadot 1286c66ec88fSEmmanuel Vadot usbmisc2: usbmisc@32e50200 { 1287fac71e4eSEmmanuel Vadot compatible = "fsl,imx8mm-usbmisc", "fsl,imx7d-usbmisc", 1288fac71e4eSEmmanuel Vadot "fsl,imx6q-usbmisc"; 1289c66ec88fSEmmanuel Vadot #index-cells = <1>; 1290c66ec88fSEmmanuel Vadot reg = <0x32e50200 0x200>; 1291c66ec88fSEmmanuel Vadot }; 1292c66ec88fSEmmanuel Vadot 1293c9ccf3a3SEmmanuel Vadot pcie_phy: pcie-phy@32f00000 { 1294c9ccf3a3SEmmanuel Vadot compatible = "fsl,imx8mm-pcie-phy"; 1295c9ccf3a3SEmmanuel Vadot reg = <0x32f00000 0x10000>; 1296c9ccf3a3SEmmanuel Vadot clocks = <&clk IMX8MM_CLK_PCIE1_PHY>; 1297c9ccf3a3SEmmanuel Vadot clock-names = "ref"; 1298c9ccf3a3SEmmanuel Vadot assigned-clocks = <&clk IMX8MM_CLK_PCIE1_PHY>; 1299c9ccf3a3SEmmanuel Vadot assigned-clock-rates = <100000000>; 1300c9ccf3a3SEmmanuel Vadot assigned-clock-parents = <&clk IMX8MM_SYS_PLL2_100M>; 1301c9ccf3a3SEmmanuel Vadot resets = <&src IMX8MQ_RESET_PCIEPHY>; 1302c9ccf3a3SEmmanuel Vadot reset-names = "pciephy"; 1303c9ccf3a3SEmmanuel Vadot #phy-cells = <0>; 1304c9ccf3a3SEmmanuel Vadot status = "disabled"; 1305c9ccf3a3SEmmanuel Vadot }; 1306c66ec88fSEmmanuel Vadot }; 1307c66ec88fSEmmanuel Vadot 1308c66ec88fSEmmanuel Vadot dma_apbh: dma-controller@33000000 { 1309c66ec88fSEmmanuel Vadot compatible = "fsl,imx7d-dma-apbh", "fsl,imx28-dma-apbh"; 1310c66ec88fSEmmanuel Vadot reg = <0x33000000 0x2000>; 1311c66ec88fSEmmanuel Vadot interrupts = <GIC_SPI 12 IRQ_TYPE_LEVEL_HIGH>, 1312c66ec88fSEmmanuel Vadot <GIC_SPI 12 IRQ_TYPE_LEVEL_HIGH>, 1313c66ec88fSEmmanuel Vadot <GIC_SPI 12 IRQ_TYPE_LEVEL_HIGH>, 1314c66ec88fSEmmanuel Vadot <GIC_SPI 12 IRQ_TYPE_LEVEL_HIGH>; 1315c66ec88fSEmmanuel Vadot #dma-cells = <1>; 1316c66ec88fSEmmanuel Vadot dma-channels = <4>; 1317c66ec88fSEmmanuel Vadot clocks = <&clk IMX8MM_CLK_NAND_USDHC_BUS_RAWNAND_CLK>; 1318c66ec88fSEmmanuel Vadot }; 1319c66ec88fSEmmanuel Vadot 1320c66ec88fSEmmanuel Vadot gpmi: nand-controller@33002000 { 1321c66ec88fSEmmanuel Vadot compatible = "fsl,imx8mm-gpmi-nand", "fsl,imx7d-gpmi-nand"; 1322c66ec88fSEmmanuel Vadot #address-cells = <1>; 13237ef62cebSEmmanuel Vadot #size-cells = <0>; 1324c66ec88fSEmmanuel Vadot reg = <0x33002000 0x2000>, <0x33004000 0x4000>; 1325c66ec88fSEmmanuel Vadot reg-names = "gpmi-nand", "bch"; 1326c66ec88fSEmmanuel Vadot interrupts = <GIC_SPI 14 IRQ_TYPE_LEVEL_HIGH>; 1327c66ec88fSEmmanuel Vadot interrupt-names = "bch"; 1328c66ec88fSEmmanuel Vadot clocks = <&clk IMX8MM_CLK_NAND_ROOT>, 1329c66ec88fSEmmanuel Vadot <&clk IMX8MM_CLK_NAND_USDHC_BUS_RAWNAND_CLK>; 1330c66ec88fSEmmanuel Vadot clock-names = "gpmi_io", "gpmi_bch_apb"; 1331c66ec88fSEmmanuel Vadot dmas = <&dma_apbh 0>; 1332c66ec88fSEmmanuel Vadot dma-names = "rx-tx"; 1333c66ec88fSEmmanuel Vadot status = "disabled"; 1334c66ec88fSEmmanuel Vadot }; 1335c66ec88fSEmmanuel Vadot 1336c9ccf3a3SEmmanuel Vadot pcie0: pcie@33800000 { 1337c9ccf3a3SEmmanuel Vadot compatible = "fsl,imx8mm-pcie"; 1338c9ccf3a3SEmmanuel Vadot reg = <0x33800000 0x400000>, <0x1ff00000 0x80000>; 1339c9ccf3a3SEmmanuel Vadot reg-names = "dbi", "config"; 1340c9ccf3a3SEmmanuel Vadot #address-cells = <3>; 1341c9ccf3a3SEmmanuel Vadot #size-cells = <2>; 1342c9ccf3a3SEmmanuel Vadot device_type = "pci"; 1343c9ccf3a3SEmmanuel Vadot bus-range = <0x00 0xff>; 1344aa1a8ff2SEmmanuel Vadot ranges = <0x81000000 0 0x00000000 0x1ff80000 0 0x00010000>, /* downstream I/O 64KB */ 1345aa1a8ff2SEmmanuel Vadot <0x82000000 0 0x18000000 0x18000000 0 0x07f00000>; /* non-prefetchable memory */ 1346c9ccf3a3SEmmanuel Vadot num-lanes = <1>; 1347c9ccf3a3SEmmanuel Vadot num-viewport = <4>; 1348c9ccf3a3SEmmanuel Vadot interrupts = <GIC_SPI 122 IRQ_TYPE_LEVEL_HIGH>; 1349c9ccf3a3SEmmanuel Vadot interrupt-names = "msi"; 1350c9ccf3a3SEmmanuel Vadot #interrupt-cells = <1>; 1351c9ccf3a3SEmmanuel Vadot interrupt-map-mask = <0 0 0 0x7>; 1352c9ccf3a3SEmmanuel Vadot interrupt-map = <0 0 0 1 &gic GIC_SPI 125 IRQ_TYPE_LEVEL_HIGH>, 1353c9ccf3a3SEmmanuel Vadot <0 0 0 2 &gic GIC_SPI 124 IRQ_TYPE_LEVEL_HIGH>, 1354c9ccf3a3SEmmanuel Vadot <0 0 0 3 &gic GIC_SPI 123 IRQ_TYPE_LEVEL_HIGH>, 1355c9ccf3a3SEmmanuel Vadot <0 0 0 4 &gic GIC_SPI 122 IRQ_TYPE_LEVEL_HIGH>; 1356c9ccf3a3SEmmanuel Vadot fsl,max-link-speed = <2>; 1357c9ccf3a3SEmmanuel Vadot linux,pci-domain = <0>; 1358cb7aa33aSEmmanuel Vadot clocks = <&clk IMX8MM_CLK_PCIE1_ROOT>, 1359cb7aa33aSEmmanuel Vadot <&clk IMX8MM_CLK_PCIE1_PHY>, 1360cb7aa33aSEmmanuel Vadot <&clk IMX8MM_CLK_PCIE1_AUX>; 1361cb7aa33aSEmmanuel Vadot clock-names = "pcie", "pcie_bus", "pcie_aux"; 1362c9ccf3a3SEmmanuel Vadot power-domains = <&pgc_pcie>; 1363c9ccf3a3SEmmanuel Vadot resets = <&src IMX8MQ_RESET_PCIE_CTRL_APPS_EN>, 1364c9ccf3a3SEmmanuel Vadot <&src IMX8MQ_RESET_PCIE_CTRL_APPS_TURNOFF>; 1365c9ccf3a3SEmmanuel Vadot reset-names = "apps", "turnoff"; 1366c9ccf3a3SEmmanuel Vadot phys = <&pcie_phy>; 1367c9ccf3a3SEmmanuel Vadot phy-names = "pcie-phy"; 1368c9ccf3a3SEmmanuel Vadot status = "disabled"; 1369c9ccf3a3SEmmanuel Vadot }; 1370c9ccf3a3SEmmanuel Vadot 1371fac71e4eSEmmanuel Vadot pcie0_ep: pcie-ep@33800000 { 1372fac71e4eSEmmanuel Vadot compatible = "fsl,imx8mm-pcie-ep"; 1373fac71e4eSEmmanuel Vadot reg = <0x33800000 0x400000>, 1374fac71e4eSEmmanuel Vadot <0x18000000 0x8000000>; 1375fac71e4eSEmmanuel Vadot reg-names = "dbi", "addr_space"; 1376fac71e4eSEmmanuel Vadot num-lanes = <1>; 1377fac71e4eSEmmanuel Vadot interrupts = <GIC_SPI 127 IRQ_TYPE_LEVEL_HIGH>; 1378fac71e4eSEmmanuel Vadot interrupt-names = "dma"; 1379fac71e4eSEmmanuel Vadot fsl,max-link-speed = <2>; 1380fac71e4eSEmmanuel Vadot clocks = <&clk IMX8MM_CLK_PCIE1_ROOT>, 1381fac71e4eSEmmanuel Vadot <&clk IMX8MM_CLK_PCIE1_PHY>, 1382fac71e4eSEmmanuel Vadot <&clk IMX8MM_CLK_PCIE1_AUX>; 1383fac71e4eSEmmanuel Vadot clock-names = "pcie", "pcie_bus", "pcie_aux"; 1384fac71e4eSEmmanuel Vadot power-domains = <&pgc_pcie>; 1385fac71e4eSEmmanuel Vadot resets = <&src IMX8MQ_RESET_PCIE_CTRL_APPS_EN>, 1386fac71e4eSEmmanuel Vadot <&src IMX8MQ_RESET_PCIE_CTRL_APPS_TURNOFF>; 1387fac71e4eSEmmanuel Vadot reset-names = "apps", "turnoff"; 1388fac71e4eSEmmanuel Vadot phys = <&pcie_phy>; 1389fac71e4eSEmmanuel Vadot phy-names = "pcie-phy"; 1390fac71e4eSEmmanuel Vadot num-ib-windows = <4>; 1391fac71e4eSEmmanuel Vadot num-ob-windows = <4>; 1392fac71e4eSEmmanuel Vadot status = "disabled"; 1393fac71e4eSEmmanuel Vadot }; 1394fac71e4eSEmmanuel Vadot 13958cc087a1SEmmanuel Vadot gpu_3d: gpu@38000000 { 13968cc087a1SEmmanuel Vadot compatible = "vivante,gc"; 13978cc087a1SEmmanuel Vadot reg = <0x38000000 0x8000>; 13988cc087a1SEmmanuel Vadot interrupts = <GIC_SPI 3 IRQ_TYPE_LEVEL_HIGH>; 13998cc087a1SEmmanuel Vadot clocks = <&clk IMX8MM_CLK_GPU_AHB>, 14008cc087a1SEmmanuel Vadot <&clk IMX8MM_CLK_GPU_BUS_ROOT>, 14018cc087a1SEmmanuel Vadot <&clk IMX8MM_CLK_GPU3D_ROOT>, 14028cc087a1SEmmanuel Vadot <&clk IMX8MM_CLK_GPU3D_ROOT>; 14038cc087a1SEmmanuel Vadot clock-names = "reg", "bus", "core", "shader"; 14048cc087a1SEmmanuel Vadot assigned-clocks = <&clk IMX8MM_CLK_GPU3D_CORE>, 14058cc087a1SEmmanuel Vadot <&clk IMX8MM_GPU_PLL_OUT>; 14068cc087a1SEmmanuel Vadot assigned-clock-parents = <&clk IMX8MM_GPU_PLL_OUT>; 1407*8d13bc63SEmmanuel Vadot assigned-clock-rates = <0>, <800000000>; 14088cc087a1SEmmanuel Vadot power-domains = <&pgc_gpu>; 14098cc087a1SEmmanuel Vadot }; 14108cc087a1SEmmanuel Vadot 14118cc087a1SEmmanuel Vadot gpu_2d: gpu@38008000 { 14128cc087a1SEmmanuel Vadot compatible = "vivante,gc"; 14138cc087a1SEmmanuel Vadot reg = <0x38008000 0x8000>; 14148cc087a1SEmmanuel Vadot interrupts = <GIC_SPI 25 IRQ_TYPE_LEVEL_HIGH>; 14158cc087a1SEmmanuel Vadot clocks = <&clk IMX8MM_CLK_GPU_AHB>, 14168cc087a1SEmmanuel Vadot <&clk IMX8MM_CLK_GPU_BUS_ROOT>, 14178cc087a1SEmmanuel Vadot <&clk IMX8MM_CLK_GPU2D_ROOT>; 14188cc087a1SEmmanuel Vadot clock-names = "reg", "bus", "core"; 14198cc087a1SEmmanuel Vadot assigned-clocks = <&clk IMX8MM_CLK_GPU2D_CORE>, 14208cc087a1SEmmanuel Vadot <&clk IMX8MM_GPU_PLL_OUT>; 14218cc087a1SEmmanuel Vadot assigned-clock-parents = <&clk IMX8MM_GPU_PLL_OUT>; 1422*8d13bc63SEmmanuel Vadot assigned-clock-rates = <0>, <800000000>; 14238cc087a1SEmmanuel Vadot power-domains = <&pgc_gpu>; 14248cc087a1SEmmanuel Vadot }; 14258cc087a1SEmmanuel Vadot 1426c9ccf3a3SEmmanuel Vadot vpu_g1: video-codec@38300000 { 1427c9ccf3a3SEmmanuel Vadot compatible = "nxp,imx8mm-vpu-g1"; 1428c9ccf3a3SEmmanuel Vadot reg = <0x38300000 0x10000>; 1429c9ccf3a3SEmmanuel Vadot interrupts = <GIC_SPI 7 IRQ_TYPE_LEVEL_HIGH>; 1430c9ccf3a3SEmmanuel Vadot clocks = <&clk IMX8MM_CLK_VPU_G1_ROOT>; 1431c9ccf3a3SEmmanuel Vadot power-domains = <&vpu_blk_ctrl IMX8MM_VPUBLK_PD_G1>; 1432c9ccf3a3SEmmanuel Vadot }; 1433c9ccf3a3SEmmanuel Vadot 1434c9ccf3a3SEmmanuel Vadot vpu_g2: video-codec@38310000 { 1435c9ccf3a3SEmmanuel Vadot compatible = "nxp,imx8mq-vpu-g2"; 1436c9ccf3a3SEmmanuel Vadot reg = <0x38310000 0x10000>; 1437c9ccf3a3SEmmanuel Vadot interrupts = <GIC_SPI 8 IRQ_TYPE_LEVEL_HIGH>; 1438c9ccf3a3SEmmanuel Vadot clocks = <&clk IMX8MM_CLK_VPU_G2_ROOT>; 1439c9ccf3a3SEmmanuel Vadot power-domains = <&vpu_blk_ctrl IMX8MM_VPUBLK_PD_G2>; 1440c9ccf3a3SEmmanuel Vadot }; 1441c9ccf3a3SEmmanuel Vadot 14428cc087a1SEmmanuel Vadot vpu_blk_ctrl: blk-ctrl@38330000 { 14438cc087a1SEmmanuel Vadot compatible = "fsl,imx8mm-vpu-blk-ctrl", "syscon"; 14448cc087a1SEmmanuel Vadot reg = <0x38330000 0x100>; 14458cc087a1SEmmanuel Vadot power-domains = <&pgc_vpumix>, <&pgc_vpu_g1>, 14468cc087a1SEmmanuel Vadot <&pgc_vpu_g2>, <&pgc_vpu_h1>; 14478cc087a1SEmmanuel Vadot power-domain-names = "bus", "g1", "g2", "h1"; 14488cc087a1SEmmanuel Vadot clocks = <&clk IMX8MM_CLK_VPU_G1_ROOT>, 14498cc087a1SEmmanuel Vadot <&clk IMX8MM_CLK_VPU_G2_ROOT>, 14508cc087a1SEmmanuel Vadot <&clk IMX8MM_CLK_VPU_H1_ROOT>; 14518cc087a1SEmmanuel Vadot clock-names = "g1", "g2", "h1"; 1452c9ccf3a3SEmmanuel Vadot assigned-clocks = <&clk IMX8MM_CLK_VPU_G1>, 1453c9ccf3a3SEmmanuel Vadot <&clk IMX8MM_CLK_VPU_G2>; 1454c9ccf3a3SEmmanuel Vadot assigned-clock-parents = <&clk IMX8MM_VPU_PLL_OUT>, 1455c9ccf3a3SEmmanuel Vadot <&clk IMX8MM_VPU_PLL_OUT>; 1456c9ccf3a3SEmmanuel Vadot assigned-clock-rates = <600000000>, 1457c9ccf3a3SEmmanuel Vadot <600000000>; 14588cc087a1SEmmanuel Vadot #power-domain-cells = <1>; 14598cc087a1SEmmanuel Vadot }; 14608cc087a1SEmmanuel Vadot 1461c66ec88fSEmmanuel Vadot gic: interrupt-controller@38800000 { 1462c66ec88fSEmmanuel Vadot compatible = "arm,gic-v3"; 1463c66ec88fSEmmanuel Vadot reg = <0x38800000 0x10000>, /* GIC Dist */ 1464c66ec88fSEmmanuel Vadot <0x38880000 0xc0000>; /* GICR (RD_base + SGI_base) */ 1465c66ec88fSEmmanuel Vadot #interrupt-cells = <3>; 1466c66ec88fSEmmanuel Vadot interrupt-controller; 1467c66ec88fSEmmanuel Vadot interrupts = <GIC_PPI 9 IRQ_TYPE_LEVEL_HIGH>; 1468c66ec88fSEmmanuel Vadot }; 1469c66ec88fSEmmanuel Vadot 1470c66ec88fSEmmanuel Vadot ddrc: memory-controller@3d400000 { 1471c66ec88fSEmmanuel Vadot compatible = "fsl,imx8mm-ddrc", "fsl,imx8m-ddrc"; 1472c66ec88fSEmmanuel Vadot reg = <0x3d400000 0x400000>; 1473c66ec88fSEmmanuel Vadot clock-names = "core", "pll", "alt", "apb"; 1474c66ec88fSEmmanuel Vadot clocks = <&clk IMX8MM_CLK_DRAM_CORE>, 1475c66ec88fSEmmanuel Vadot <&clk IMX8MM_DRAM_PLL>, 1476c66ec88fSEmmanuel Vadot <&clk IMX8MM_CLK_DRAM_ALT>, 1477c66ec88fSEmmanuel Vadot <&clk IMX8MM_CLK_DRAM_APB>; 1478c66ec88fSEmmanuel Vadot }; 1479c66ec88fSEmmanuel Vadot 1480c66ec88fSEmmanuel Vadot ddr-pmu@3d800000 { 1481c66ec88fSEmmanuel Vadot compatible = "fsl,imx8mm-ddr-pmu", "fsl,imx8m-ddr-pmu"; 1482c66ec88fSEmmanuel Vadot reg = <0x3d800000 0x400000>; 1483c66ec88fSEmmanuel Vadot interrupts = <GIC_SPI 98 IRQ_TYPE_LEVEL_HIGH>; 1484c66ec88fSEmmanuel Vadot }; 1485c66ec88fSEmmanuel Vadot }; 1486c66ec88fSEmmanuel Vadot}; 1487