1*4882a593Smuzhiyun// SPDX-License-Identifier: GPL-2.0+ 2*4882a593Smuzhiyun/* 3*4882a593Smuzhiyun * Copyright (C) 2016 Freescale Semiconductor, Inc. 4*4882a593Smuzhiyun * Copyright 2017-2018 NXP 5*4882a593Smuzhiyun * Dong Aisheng <aisheng.dong@nxp.com> 6*4882a593Smuzhiyun */ 7*4882a593Smuzhiyun 8*4882a593Smuzhiyun#include <dt-bindings/clock/imx8-clock.h> 9*4882a593Smuzhiyun#include <dt-bindings/firmware/imx/rsrc.h> 10*4882a593Smuzhiyun#include <dt-bindings/gpio/gpio.h> 11*4882a593Smuzhiyun#include <dt-bindings/input/input.h> 12*4882a593Smuzhiyun#include <dt-bindings/interrupt-controller/arm-gic.h> 13*4882a593Smuzhiyun#include <dt-bindings/pinctrl/pads-imx8qxp.h> 14*4882a593Smuzhiyun#include <dt-bindings/thermal/thermal.h> 15*4882a593Smuzhiyun 16*4882a593Smuzhiyun/ { 17*4882a593Smuzhiyun interrupt-parent = <&gic>; 18*4882a593Smuzhiyun #address-cells = <2>; 19*4882a593Smuzhiyun #size-cells = <2>; 20*4882a593Smuzhiyun 21*4882a593Smuzhiyun aliases { 22*4882a593Smuzhiyun ethernet0 = &fec1; 23*4882a593Smuzhiyun ethernet1 = &fec2; 24*4882a593Smuzhiyun gpio0 = &lsio_gpio0; 25*4882a593Smuzhiyun gpio1 = &lsio_gpio1; 26*4882a593Smuzhiyun gpio2 = &lsio_gpio2; 27*4882a593Smuzhiyun gpio3 = &lsio_gpio3; 28*4882a593Smuzhiyun gpio4 = &lsio_gpio4; 29*4882a593Smuzhiyun gpio5 = &lsio_gpio5; 30*4882a593Smuzhiyun gpio6 = &lsio_gpio6; 31*4882a593Smuzhiyun gpio7 = &lsio_gpio7; 32*4882a593Smuzhiyun i2c0 = &adma_i2c0; 33*4882a593Smuzhiyun i2c1 = &adma_i2c1; 34*4882a593Smuzhiyun i2c2 = &adma_i2c2; 35*4882a593Smuzhiyun i2c3 = &adma_i2c3; 36*4882a593Smuzhiyun mmc0 = &usdhc1; 37*4882a593Smuzhiyun mmc1 = &usdhc2; 38*4882a593Smuzhiyun mmc2 = &usdhc3; 39*4882a593Smuzhiyun mu0 = &lsio_mu0; 40*4882a593Smuzhiyun mu1 = &lsio_mu1; 41*4882a593Smuzhiyun mu2 = &lsio_mu2; 42*4882a593Smuzhiyun mu3 = &lsio_mu3; 43*4882a593Smuzhiyun mu4 = &lsio_mu4; 44*4882a593Smuzhiyun serial0 = &adma_lpuart0; 45*4882a593Smuzhiyun serial1 = &adma_lpuart1; 46*4882a593Smuzhiyun serial2 = &adma_lpuart2; 47*4882a593Smuzhiyun serial3 = &adma_lpuart3; 48*4882a593Smuzhiyun }; 49*4882a593Smuzhiyun 50*4882a593Smuzhiyun cpus { 51*4882a593Smuzhiyun #address-cells = <2>; 52*4882a593Smuzhiyun #size-cells = <0>; 53*4882a593Smuzhiyun 54*4882a593Smuzhiyun /* We have 1 clusters with 4 Cortex-A35 cores */ 55*4882a593Smuzhiyun A35_0: cpu@0 { 56*4882a593Smuzhiyun device_type = "cpu"; 57*4882a593Smuzhiyun compatible = "arm,cortex-a35"; 58*4882a593Smuzhiyun reg = <0x0 0x0>; 59*4882a593Smuzhiyun enable-method = "psci"; 60*4882a593Smuzhiyun next-level-cache = <&A35_L2>; 61*4882a593Smuzhiyun clocks = <&clk IMX_A35_CLK>; 62*4882a593Smuzhiyun operating-points-v2 = <&a35_opp_table>; 63*4882a593Smuzhiyun #cooling-cells = <2>; 64*4882a593Smuzhiyun }; 65*4882a593Smuzhiyun 66*4882a593Smuzhiyun A35_1: cpu@1 { 67*4882a593Smuzhiyun device_type = "cpu"; 68*4882a593Smuzhiyun compatible = "arm,cortex-a35"; 69*4882a593Smuzhiyun reg = <0x0 0x1>; 70*4882a593Smuzhiyun enable-method = "psci"; 71*4882a593Smuzhiyun next-level-cache = <&A35_L2>; 72*4882a593Smuzhiyun clocks = <&clk IMX_A35_CLK>; 73*4882a593Smuzhiyun operating-points-v2 = <&a35_opp_table>; 74*4882a593Smuzhiyun #cooling-cells = <2>; 75*4882a593Smuzhiyun }; 76*4882a593Smuzhiyun 77*4882a593Smuzhiyun A35_2: cpu@2 { 78*4882a593Smuzhiyun device_type = "cpu"; 79*4882a593Smuzhiyun compatible = "arm,cortex-a35"; 80*4882a593Smuzhiyun reg = <0x0 0x2>; 81*4882a593Smuzhiyun enable-method = "psci"; 82*4882a593Smuzhiyun next-level-cache = <&A35_L2>; 83*4882a593Smuzhiyun clocks = <&clk IMX_A35_CLK>; 84*4882a593Smuzhiyun operating-points-v2 = <&a35_opp_table>; 85*4882a593Smuzhiyun #cooling-cells = <2>; 86*4882a593Smuzhiyun }; 87*4882a593Smuzhiyun 88*4882a593Smuzhiyun A35_3: cpu@3 { 89*4882a593Smuzhiyun device_type = "cpu"; 90*4882a593Smuzhiyun compatible = "arm,cortex-a35"; 91*4882a593Smuzhiyun reg = <0x0 0x3>; 92*4882a593Smuzhiyun enable-method = "psci"; 93*4882a593Smuzhiyun next-level-cache = <&A35_L2>; 94*4882a593Smuzhiyun clocks = <&clk IMX_A35_CLK>; 95*4882a593Smuzhiyun operating-points-v2 = <&a35_opp_table>; 96*4882a593Smuzhiyun #cooling-cells = <2>; 97*4882a593Smuzhiyun }; 98*4882a593Smuzhiyun 99*4882a593Smuzhiyun A35_L2: l2-cache0 { 100*4882a593Smuzhiyun compatible = "cache"; 101*4882a593Smuzhiyun }; 102*4882a593Smuzhiyun }; 103*4882a593Smuzhiyun 104*4882a593Smuzhiyun a35_opp_table: opp-table { 105*4882a593Smuzhiyun compatible = "operating-points-v2"; 106*4882a593Smuzhiyun opp-shared; 107*4882a593Smuzhiyun 108*4882a593Smuzhiyun opp-900000000 { 109*4882a593Smuzhiyun opp-hz = /bits/ 64 <900000000>; 110*4882a593Smuzhiyun opp-microvolt = <1000000>; 111*4882a593Smuzhiyun clock-latency-ns = <150000>; 112*4882a593Smuzhiyun }; 113*4882a593Smuzhiyun 114*4882a593Smuzhiyun opp-1200000000 { 115*4882a593Smuzhiyun opp-hz = /bits/ 64 <1200000000>; 116*4882a593Smuzhiyun opp-microvolt = <1100000>; 117*4882a593Smuzhiyun clock-latency-ns = <150000>; 118*4882a593Smuzhiyun opp-suspend; 119*4882a593Smuzhiyun }; 120*4882a593Smuzhiyun }; 121*4882a593Smuzhiyun 122*4882a593Smuzhiyun gic: interrupt-controller@51a00000 { 123*4882a593Smuzhiyun compatible = "arm,gic-v3"; 124*4882a593Smuzhiyun reg = <0x0 0x51a00000 0 0x10000>, /* GIC Dist */ 125*4882a593Smuzhiyun <0x0 0x51b00000 0 0xc0000>; /* GICR (RD_base + SGI_base) */ 126*4882a593Smuzhiyun #interrupt-cells = <3>; 127*4882a593Smuzhiyun interrupt-controller; 128*4882a593Smuzhiyun interrupts = <GIC_PPI 9 IRQ_TYPE_LEVEL_HIGH>; 129*4882a593Smuzhiyun }; 130*4882a593Smuzhiyun 131*4882a593Smuzhiyun reserved-memory { 132*4882a593Smuzhiyun #address-cells = <2>; 133*4882a593Smuzhiyun #size-cells = <2>; 134*4882a593Smuzhiyun ranges; 135*4882a593Smuzhiyun 136*4882a593Smuzhiyun dsp_reserved: dsp@92400000 { 137*4882a593Smuzhiyun reg = <0 0x92400000 0 0x2000000>; 138*4882a593Smuzhiyun no-map; 139*4882a593Smuzhiyun }; 140*4882a593Smuzhiyun }; 141*4882a593Smuzhiyun 142*4882a593Smuzhiyun pmu { 143*4882a593Smuzhiyun compatible = "arm,armv8-pmuv3"; 144*4882a593Smuzhiyun interrupts = <GIC_PPI 7 IRQ_TYPE_LEVEL_HIGH>; 145*4882a593Smuzhiyun }; 146*4882a593Smuzhiyun 147*4882a593Smuzhiyun psci { 148*4882a593Smuzhiyun compatible = "arm,psci-1.0"; 149*4882a593Smuzhiyun method = "smc"; 150*4882a593Smuzhiyun }; 151*4882a593Smuzhiyun 152*4882a593Smuzhiyun scu { 153*4882a593Smuzhiyun compatible = "fsl,imx-scu"; 154*4882a593Smuzhiyun mbox-names = "tx0", 155*4882a593Smuzhiyun "rx0", 156*4882a593Smuzhiyun "gip3"; 157*4882a593Smuzhiyun mboxes = <&lsio_mu1 0 0 158*4882a593Smuzhiyun &lsio_mu1 1 0 159*4882a593Smuzhiyun &lsio_mu1 3 3>; 160*4882a593Smuzhiyun 161*4882a593Smuzhiyun clk: clock-controller { 162*4882a593Smuzhiyun compatible = "fsl,imx8qxp-clk"; 163*4882a593Smuzhiyun #clock-cells = <1>; 164*4882a593Smuzhiyun clocks = <&xtal32k &xtal24m>; 165*4882a593Smuzhiyun clock-names = "xtal_32KHz", "xtal_24Mhz"; 166*4882a593Smuzhiyun }; 167*4882a593Smuzhiyun 168*4882a593Smuzhiyun iomuxc: pinctrl { 169*4882a593Smuzhiyun compatible = "fsl,imx8qxp-iomuxc"; 170*4882a593Smuzhiyun }; 171*4882a593Smuzhiyun 172*4882a593Smuzhiyun ocotp: imx8qx-ocotp { 173*4882a593Smuzhiyun compatible = "fsl,imx8qxp-scu-ocotp"; 174*4882a593Smuzhiyun #address-cells = <1>; 175*4882a593Smuzhiyun #size-cells = <1>; 176*4882a593Smuzhiyun }; 177*4882a593Smuzhiyun 178*4882a593Smuzhiyun pd: imx8qx-pd { 179*4882a593Smuzhiyun compatible = "fsl,imx8qxp-scu-pd"; 180*4882a593Smuzhiyun #power-domain-cells = <1>; 181*4882a593Smuzhiyun }; 182*4882a593Smuzhiyun 183*4882a593Smuzhiyun scu_key: scu-key { 184*4882a593Smuzhiyun compatible = "fsl,imx8qxp-sc-key", "fsl,imx-sc-key"; 185*4882a593Smuzhiyun linux,keycodes = <KEY_POWER>; 186*4882a593Smuzhiyun status = "disabled"; 187*4882a593Smuzhiyun }; 188*4882a593Smuzhiyun 189*4882a593Smuzhiyun rtc: rtc { 190*4882a593Smuzhiyun compatible = "fsl,imx8qxp-sc-rtc"; 191*4882a593Smuzhiyun }; 192*4882a593Smuzhiyun 193*4882a593Smuzhiyun watchdog { 194*4882a593Smuzhiyun compatible = "fsl,imx8qxp-sc-wdt", "fsl,imx-sc-wdt"; 195*4882a593Smuzhiyun timeout-sec = <60>; 196*4882a593Smuzhiyun }; 197*4882a593Smuzhiyun 198*4882a593Smuzhiyun tsens: thermal-sensor { 199*4882a593Smuzhiyun compatible = "fsl,imx8qxp-sc-thermal", "fsl,imx-sc-thermal"; 200*4882a593Smuzhiyun #thermal-sensor-cells = <1>; 201*4882a593Smuzhiyun }; 202*4882a593Smuzhiyun }; 203*4882a593Smuzhiyun 204*4882a593Smuzhiyun timer { 205*4882a593Smuzhiyun compatible = "arm,armv8-timer"; 206*4882a593Smuzhiyun interrupts = <GIC_PPI 13 IRQ_TYPE_LEVEL_LOW>, /* Physical Secure */ 207*4882a593Smuzhiyun <GIC_PPI 14 IRQ_TYPE_LEVEL_LOW>, /* Physical Non-Secure */ 208*4882a593Smuzhiyun <GIC_PPI 11 IRQ_TYPE_LEVEL_LOW>, /* Virtual */ 209*4882a593Smuzhiyun <GIC_PPI 10 IRQ_TYPE_LEVEL_LOW>; /* Hypervisor */ 210*4882a593Smuzhiyun }; 211*4882a593Smuzhiyun 212*4882a593Smuzhiyun xtal32k: clock-xtal32k { 213*4882a593Smuzhiyun compatible = "fixed-clock"; 214*4882a593Smuzhiyun #clock-cells = <0>; 215*4882a593Smuzhiyun clock-frequency = <32768>; 216*4882a593Smuzhiyun clock-output-names = "xtal_32KHz"; 217*4882a593Smuzhiyun }; 218*4882a593Smuzhiyun 219*4882a593Smuzhiyun xtal24m: clock-xtal24m { 220*4882a593Smuzhiyun compatible = "fixed-clock"; 221*4882a593Smuzhiyun #clock-cells = <0>; 222*4882a593Smuzhiyun clock-frequency = <24000000>; 223*4882a593Smuzhiyun clock-output-names = "xtal_24MHz"; 224*4882a593Smuzhiyun }; 225*4882a593Smuzhiyun 226*4882a593Smuzhiyun adma_subsys: bus@59000000 { 227*4882a593Smuzhiyun compatible = "simple-bus"; 228*4882a593Smuzhiyun #address-cells = <1>; 229*4882a593Smuzhiyun #size-cells = <1>; 230*4882a593Smuzhiyun ranges = <0x59000000 0x0 0x59000000 0x2000000>; 231*4882a593Smuzhiyun 232*4882a593Smuzhiyun adma_lpcg: clock-controller@59000000 { 233*4882a593Smuzhiyun compatible = "fsl,imx8qxp-lpcg-adma"; 234*4882a593Smuzhiyun reg = <0x59000000 0x2000000>; 235*4882a593Smuzhiyun #clock-cells = <1>; 236*4882a593Smuzhiyun }; 237*4882a593Smuzhiyun 238*4882a593Smuzhiyun adma_dsp: dsp@596e8000 { 239*4882a593Smuzhiyun compatible = "fsl,imx8qxp-dsp"; 240*4882a593Smuzhiyun reg = <0x596e8000 0x88000>; 241*4882a593Smuzhiyun clocks = <&adma_lpcg IMX_ADMA_LPCG_DSP_IPG_CLK>, 242*4882a593Smuzhiyun <&adma_lpcg IMX_ADMA_LPCG_OCRAM_IPG_CLK>, 243*4882a593Smuzhiyun <&adma_lpcg IMX_ADMA_LPCG_DSP_CORE_CLK>; 244*4882a593Smuzhiyun clock-names = "ipg", "ocram", "core"; 245*4882a593Smuzhiyun power-domains = <&pd IMX_SC_R_MU_13A>, 246*4882a593Smuzhiyun <&pd IMX_SC_R_MU_13B>, 247*4882a593Smuzhiyun <&pd IMX_SC_R_DSP>, 248*4882a593Smuzhiyun <&pd IMX_SC_R_DSP_RAM>; 249*4882a593Smuzhiyun mbox-names = "txdb0", "txdb1", 250*4882a593Smuzhiyun "rxdb0", "rxdb1"; 251*4882a593Smuzhiyun mboxes = <&lsio_mu13 2 0>, 252*4882a593Smuzhiyun <&lsio_mu13 2 1>, 253*4882a593Smuzhiyun <&lsio_mu13 3 0>, 254*4882a593Smuzhiyun <&lsio_mu13 3 1>; 255*4882a593Smuzhiyun memory-region = <&dsp_reserved>; 256*4882a593Smuzhiyun status = "disabled"; 257*4882a593Smuzhiyun }; 258*4882a593Smuzhiyun 259*4882a593Smuzhiyun adma_lpuart0: serial@5a060000 { 260*4882a593Smuzhiyun compatible = "fsl,imx8qxp-lpuart", "fsl,imx7ulp-lpuart"; 261*4882a593Smuzhiyun reg = <0x5a060000 0x1000>; 262*4882a593Smuzhiyun interrupts = <GIC_SPI 225 IRQ_TYPE_LEVEL_HIGH>; 263*4882a593Smuzhiyun clocks = <&adma_lpcg IMX_ADMA_LPCG_UART0_IPG_CLK>, 264*4882a593Smuzhiyun <&adma_lpcg IMX_ADMA_LPCG_UART0_BAUD_CLK>; 265*4882a593Smuzhiyun clock-names = "ipg", "baud"; 266*4882a593Smuzhiyun power-domains = <&pd IMX_SC_R_UART_0>; 267*4882a593Smuzhiyun status = "disabled"; 268*4882a593Smuzhiyun }; 269*4882a593Smuzhiyun 270*4882a593Smuzhiyun adma_lpuart1: serial@5a070000 { 271*4882a593Smuzhiyun compatible = "fsl,imx8qxp-lpuart", "fsl,imx7ulp-lpuart"; 272*4882a593Smuzhiyun reg = <0x5a070000 0x1000>; 273*4882a593Smuzhiyun interrupts = <GIC_SPI 226 IRQ_TYPE_LEVEL_HIGH>; 274*4882a593Smuzhiyun clocks = <&adma_lpcg IMX_ADMA_LPCG_UART1_IPG_CLK>, 275*4882a593Smuzhiyun <&adma_lpcg IMX_ADMA_LPCG_UART1_BAUD_CLK>; 276*4882a593Smuzhiyun clock-names = "ipg", "baud"; 277*4882a593Smuzhiyun power-domains = <&pd IMX_SC_R_UART_1>; 278*4882a593Smuzhiyun status = "disabled"; 279*4882a593Smuzhiyun }; 280*4882a593Smuzhiyun 281*4882a593Smuzhiyun adma_lpuart2: serial@5a080000 { 282*4882a593Smuzhiyun compatible = "fsl,imx8qxp-lpuart", "fsl,imx7ulp-lpuart"; 283*4882a593Smuzhiyun reg = <0x5a080000 0x1000>; 284*4882a593Smuzhiyun interrupts = <GIC_SPI 227 IRQ_TYPE_LEVEL_HIGH>; 285*4882a593Smuzhiyun clocks = <&adma_lpcg IMX_ADMA_LPCG_UART2_IPG_CLK>, 286*4882a593Smuzhiyun <&adma_lpcg IMX_ADMA_LPCG_UART2_BAUD_CLK>; 287*4882a593Smuzhiyun clock-names = "ipg", "baud"; 288*4882a593Smuzhiyun power-domains = <&pd IMX_SC_R_UART_2>; 289*4882a593Smuzhiyun status = "disabled"; 290*4882a593Smuzhiyun }; 291*4882a593Smuzhiyun 292*4882a593Smuzhiyun adma_lpuart3: serial@5a090000 { 293*4882a593Smuzhiyun compatible = "fsl,imx8qxp-lpuart", "fsl,imx7ulp-lpuart"; 294*4882a593Smuzhiyun reg = <0x5a090000 0x1000>; 295*4882a593Smuzhiyun interrupts = <GIC_SPI 228 IRQ_TYPE_LEVEL_HIGH>; 296*4882a593Smuzhiyun clocks = <&adma_lpcg IMX_ADMA_LPCG_UART3_IPG_CLK>, 297*4882a593Smuzhiyun <&adma_lpcg IMX_ADMA_LPCG_UART3_BAUD_CLK>; 298*4882a593Smuzhiyun clock-names = "ipg", "baud"; 299*4882a593Smuzhiyun power-domains = <&pd IMX_SC_R_UART_3>; 300*4882a593Smuzhiyun status = "disabled"; 301*4882a593Smuzhiyun }; 302*4882a593Smuzhiyun 303*4882a593Smuzhiyun adma_i2c0: i2c@5a800000 { 304*4882a593Smuzhiyun compatible = "fsl,imx8qxp-lpi2c", "fsl,imx7ulp-lpi2c"; 305*4882a593Smuzhiyun reg = <0x5a800000 0x4000>; 306*4882a593Smuzhiyun interrupts = <GIC_SPI 220 IRQ_TYPE_LEVEL_HIGH>; 307*4882a593Smuzhiyun clocks = <&adma_lpcg IMX_ADMA_LPCG_I2C0_CLK>; 308*4882a593Smuzhiyun clock-names = "per"; 309*4882a593Smuzhiyun assigned-clocks = <&clk IMX_ADMA_I2C0_CLK>; 310*4882a593Smuzhiyun assigned-clock-rates = <24000000>; 311*4882a593Smuzhiyun power-domains = <&pd IMX_SC_R_I2C_0>; 312*4882a593Smuzhiyun status = "disabled"; 313*4882a593Smuzhiyun }; 314*4882a593Smuzhiyun 315*4882a593Smuzhiyun adma_i2c1: i2c@5a810000 { 316*4882a593Smuzhiyun compatible = "fsl,imx8qxp-lpi2c", "fsl,imx7ulp-lpi2c"; 317*4882a593Smuzhiyun reg = <0x5a810000 0x4000>; 318*4882a593Smuzhiyun interrupts = <GIC_SPI 221 IRQ_TYPE_LEVEL_HIGH>; 319*4882a593Smuzhiyun clocks = <&adma_lpcg IMX_ADMA_LPCG_I2C1_CLK>; 320*4882a593Smuzhiyun clock-names = "per"; 321*4882a593Smuzhiyun assigned-clocks = <&clk IMX_ADMA_I2C1_CLK>; 322*4882a593Smuzhiyun assigned-clock-rates = <24000000>; 323*4882a593Smuzhiyun power-domains = <&pd IMX_SC_R_I2C_1>; 324*4882a593Smuzhiyun status = "disabled"; 325*4882a593Smuzhiyun }; 326*4882a593Smuzhiyun 327*4882a593Smuzhiyun adma_i2c2: i2c@5a820000 { 328*4882a593Smuzhiyun compatible = "fsl,imx8qxp-lpi2c", "fsl,imx7ulp-lpi2c"; 329*4882a593Smuzhiyun reg = <0x5a820000 0x4000>; 330*4882a593Smuzhiyun interrupts = <GIC_SPI 222 IRQ_TYPE_LEVEL_HIGH>; 331*4882a593Smuzhiyun clocks = <&adma_lpcg IMX_ADMA_LPCG_I2C2_CLK>; 332*4882a593Smuzhiyun clock-names = "per"; 333*4882a593Smuzhiyun assigned-clocks = <&clk IMX_ADMA_I2C2_CLK>; 334*4882a593Smuzhiyun assigned-clock-rates = <24000000>; 335*4882a593Smuzhiyun power-domains = <&pd IMX_SC_R_I2C_2>; 336*4882a593Smuzhiyun status = "disabled"; 337*4882a593Smuzhiyun }; 338*4882a593Smuzhiyun 339*4882a593Smuzhiyun adma_i2c3: i2c@5a830000 { 340*4882a593Smuzhiyun compatible = "fsl,imx8qxp-lpi2c", "fsl,imx7ulp-lpi2c"; 341*4882a593Smuzhiyun reg = <0x5a830000 0x4000>; 342*4882a593Smuzhiyun interrupts = <GIC_SPI 223 IRQ_TYPE_LEVEL_HIGH>; 343*4882a593Smuzhiyun clocks = <&adma_lpcg IMX_ADMA_LPCG_I2C3_CLK>; 344*4882a593Smuzhiyun clock-names = "per"; 345*4882a593Smuzhiyun assigned-clocks = <&clk IMX_ADMA_I2C3_CLK>; 346*4882a593Smuzhiyun assigned-clock-rates = <24000000>; 347*4882a593Smuzhiyun power-domains = <&pd IMX_SC_R_I2C_3>; 348*4882a593Smuzhiyun status = "disabled"; 349*4882a593Smuzhiyun }; 350*4882a593Smuzhiyun }; 351*4882a593Smuzhiyun 352*4882a593Smuzhiyun conn_subsys: bus@5b000000 { 353*4882a593Smuzhiyun compatible = "simple-bus"; 354*4882a593Smuzhiyun #address-cells = <1>; 355*4882a593Smuzhiyun #size-cells = <1>; 356*4882a593Smuzhiyun ranges = <0x5b000000 0x0 0x5b000000 0x1000000>; 357*4882a593Smuzhiyun 358*4882a593Smuzhiyun conn_lpcg: clock-controller@5b200000 { 359*4882a593Smuzhiyun compatible = "fsl,imx8qxp-lpcg-conn"; 360*4882a593Smuzhiyun reg = <0x5b200000 0xb0000>; 361*4882a593Smuzhiyun #clock-cells = <1>; 362*4882a593Smuzhiyun }; 363*4882a593Smuzhiyun 364*4882a593Smuzhiyun usdhc1: mmc@5b010000 { 365*4882a593Smuzhiyun compatible = "fsl,imx8qxp-usdhc", "fsl,imx7d-usdhc"; 366*4882a593Smuzhiyun interrupts = <GIC_SPI 232 IRQ_TYPE_LEVEL_HIGH>; 367*4882a593Smuzhiyun reg = <0x5b010000 0x10000>; 368*4882a593Smuzhiyun clocks = <&conn_lpcg IMX_CONN_LPCG_SDHC0_IPG_CLK>, 369*4882a593Smuzhiyun <&conn_lpcg IMX_CONN_LPCG_SDHC0_PER_CLK>, 370*4882a593Smuzhiyun <&conn_lpcg IMX_CONN_LPCG_SDHC0_HCLK>; 371*4882a593Smuzhiyun clock-names = "ipg", "per", "ahb"; 372*4882a593Smuzhiyun power-domains = <&pd IMX_SC_R_SDHC_0>; 373*4882a593Smuzhiyun status = "disabled"; 374*4882a593Smuzhiyun }; 375*4882a593Smuzhiyun 376*4882a593Smuzhiyun usdhc2: mmc@5b020000 { 377*4882a593Smuzhiyun compatible = "fsl,imx8qxp-usdhc", "fsl,imx7d-usdhc"; 378*4882a593Smuzhiyun interrupts = <GIC_SPI 233 IRQ_TYPE_LEVEL_HIGH>; 379*4882a593Smuzhiyun reg = <0x5b020000 0x10000>; 380*4882a593Smuzhiyun clocks = <&conn_lpcg IMX_CONN_LPCG_SDHC1_IPG_CLK>, 381*4882a593Smuzhiyun <&conn_lpcg IMX_CONN_LPCG_SDHC1_PER_CLK>, 382*4882a593Smuzhiyun <&conn_lpcg IMX_CONN_LPCG_SDHC1_HCLK>; 383*4882a593Smuzhiyun clock-names = "ipg", "per", "ahb"; 384*4882a593Smuzhiyun power-domains = <&pd IMX_SC_R_SDHC_1>; 385*4882a593Smuzhiyun fsl,tuning-start-tap = <20>; 386*4882a593Smuzhiyun fsl,tuning-step= <2>; 387*4882a593Smuzhiyun status = "disabled"; 388*4882a593Smuzhiyun }; 389*4882a593Smuzhiyun 390*4882a593Smuzhiyun usdhc3: mmc@5b030000 { 391*4882a593Smuzhiyun compatible = "fsl,imx8qxp-usdhc", "fsl,imx7d-usdhc"; 392*4882a593Smuzhiyun interrupts = <GIC_SPI 234 IRQ_TYPE_LEVEL_HIGH>; 393*4882a593Smuzhiyun reg = <0x5b030000 0x10000>; 394*4882a593Smuzhiyun clocks = <&conn_lpcg IMX_CONN_LPCG_SDHC2_IPG_CLK>, 395*4882a593Smuzhiyun <&conn_lpcg IMX_CONN_LPCG_SDHC2_PER_CLK>, 396*4882a593Smuzhiyun <&conn_lpcg IMX_CONN_LPCG_SDHC2_HCLK>; 397*4882a593Smuzhiyun clock-names = "ipg", "per", "ahb"; 398*4882a593Smuzhiyun power-domains = <&pd IMX_SC_R_SDHC_2>; 399*4882a593Smuzhiyun status = "disabled"; 400*4882a593Smuzhiyun }; 401*4882a593Smuzhiyun 402*4882a593Smuzhiyun fec1: ethernet@5b040000 { 403*4882a593Smuzhiyun compatible = "fsl,imx8qxp-fec", "fsl,imx6sx-fec"; 404*4882a593Smuzhiyun reg = <0x5b040000 0x10000>; 405*4882a593Smuzhiyun interrupts = <GIC_SPI 258 IRQ_TYPE_LEVEL_HIGH>, 406*4882a593Smuzhiyun <GIC_SPI 256 IRQ_TYPE_LEVEL_HIGH>, 407*4882a593Smuzhiyun <GIC_SPI 257 IRQ_TYPE_LEVEL_HIGH>, 408*4882a593Smuzhiyun <GIC_SPI 259 IRQ_TYPE_LEVEL_HIGH>; 409*4882a593Smuzhiyun clocks = <&conn_lpcg IMX_CONN_LPCG_ENET0_IPG_CLK>, 410*4882a593Smuzhiyun <&conn_lpcg IMX_CONN_LPCG_ENET0_AHB_CLK>, 411*4882a593Smuzhiyun <&conn_lpcg IMX_CONN_LPCG_ENET0_TX_CLK>, 412*4882a593Smuzhiyun <&conn_lpcg IMX_CONN_LPCG_ENET0_ROOT_CLK>; 413*4882a593Smuzhiyun clock-names = "ipg", "ahb", "enet_clk_ref", "ptp"; 414*4882a593Smuzhiyun fsl,num-tx-queues=<3>; 415*4882a593Smuzhiyun fsl,num-rx-queues=<3>; 416*4882a593Smuzhiyun power-domains = <&pd IMX_SC_R_ENET_0>; 417*4882a593Smuzhiyun status = "disabled"; 418*4882a593Smuzhiyun }; 419*4882a593Smuzhiyun 420*4882a593Smuzhiyun fec2: ethernet@5b050000 { 421*4882a593Smuzhiyun compatible = "fsl,imx8qxp-fec", "fsl,imx6sx-fec"; 422*4882a593Smuzhiyun reg = <0x5b050000 0x10000>; 423*4882a593Smuzhiyun interrupts = <GIC_SPI 262 IRQ_TYPE_LEVEL_HIGH>, 424*4882a593Smuzhiyun <GIC_SPI 260 IRQ_TYPE_LEVEL_HIGH>, 425*4882a593Smuzhiyun <GIC_SPI 261 IRQ_TYPE_LEVEL_HIGH>, 426*4882a593Smuzhiyun <GIC_SPI 263 IRQ_TYPE_LEVEL_HIGH>; 427*4882a593Smuzhiyun clocks = <&conn_lpcg IMX_CONN_LPCG_ENET1_IPG_CLK>, 428*4882a593Smuzhiyun <&conn_lpcg IMX_CONN_LPCG_ENET1_AHB_CLK>, 429*4882a593Smuzhiyun <&conn_lpcg IMX_CONN_LPCG_ENET1_TX_CLK>, 430*4882a593Smuzhiyun <&conn_lpcg IMX_CONN_LPCG_ENET1_ROOT_CLK>; 431*4882a593Smuzhiyun clock-names = "ipg", "ahb", "enet_clk_ref", "ptp"; 432*4882a593Smuzhiyun fsl,num-tx-queues=<3>; 433*4882a593Smuzhiyun fsl,num-rx-queues=<3>; 434*4882a593Smuzhiyun power-domains = <&pd IMX_SC_R_ENET_1>; 435*4882a593Smuzhiyun status = "disabled"; 436*4882a593Smuzhiyun }; 437*4882a593Smuzhiyun }; 438*4882a593Smuzhiyun 439*4882a593Smuzhiyun ddr_subsyss: bus@5c000000 { 440*4882a593Smuzhiyun compatible = "simple-bus"; 441*4882a593Smuzhiyun #address-cells = <1>; 442*4882a593Smuzhiyun #size-cells = <1>; 443*4882a593Smuzhiyun ranges = <0x5c000000 0x0 0x5c000000 0x1000000>; 444*4882a593Smuzhiyun 445*4882a593Smuzhiyun ddr-pmu@5c020000 { 446*4882a593Smuzhiyun compatible = "fsl,imx8-ddr-pmu"; 447*4882a593Smuzhiyun reg = <0x5c020000 0x10000>; 448*4882a593Smuzhiyun interrupts = <GIC_SPI 131 IRQ_TYPE_LEVEL_HIGH>; 449*4882a593Smuzhiyun }; 450*4882a593Smuzhiyun }; 451*4882a593Smuzhiyun 452*4882a593Smuzhiyun lsio_subsys: bus@5d000000 { 453*4882a593Smuzhiyun compatible = "simple-bus"; 454*4882a593Smuzhiyun #address-cells = <1>; 455*4882a593Smuzhiyun #size-cells = <1>; 456*4882a593Smuzhiyun ranges = <0x5d000000 0x0 0x5d000000 0x1000000>; 457*4882a593Smuzhiyun 458*4882a593Smuzhiyun lsio_gpio0: gpio@5d080000 { 459*4882a593Smuzhiyun compatible = "fsl,imx8qxp-gpio", "fsl,imx35-gpio"; 460*4882a593Smuzhiyun reg = <0x5d080000 0x10000>; 461*4882a593Smuzhiyun interrupts = <GIC_SPI 136 IRQ_TYPE_LEVEL_HIGH>; 462*4882a593Smuzhiyun gpio-controller; 463*4882a593Smuzhiyun #gpio-cells = <2>; 464*4882a593Smuzhiyun interrupt-controller; 465*4882a593Smuzhiyun #interrupt-cells = <2>; 466*4882a593Smuzhiyun power-domains = <&pd IMX_SC_R_GPIO_0>; 467*4882a593Smuzhiyun }; 468*4882a593Smuzhiyun 469*4882a593Smuzhiyun lsio_gpio1: gpio@5d090000 { 470*4882a593Smuzhiyun compatible = "fsl,imx8qxp-gpio", "fsl,imx35-gpio"; 471*4882a593Smuzhiyun reg = <0x5d090000 0x10000>; 472*4882a593Smuzhiyun interrupts = <GIC_SPI 137 IRQ_TYPE_LEVEL_HIGH>; 473*4882a593Smuzhiyun gpio-controller; 474*4882a593Smuzhiyun #gpio-cells = <2>; 475*4882a593Smuzhiyun interrupt-controller; 476*4882a593Smuzhiyun #interrupt-cells = <2>; 477*4882a593Smuzhiyun power-domains = <&pd IMX_SC_R_GPIO_1>; 478*4882a593Smuzhiyun }; 479*4882a593Smuzhiyun 480*4882a593Smuzhiyun lsio_gpio2: gpio@5d0a0000 { 481*4882a593Smuzhiyun compatible = "fsl,imx8qxp-gpio", "fsl,imx35-gpio"; 482*4882a593Smuzhiyun reg = <0x5d0a0000 0x10000>; 483*4882a593Smuzhiyun interrupts = <GIC_SPI 138 IRQ_TYPE_LEVEL_HIGH>; 484*4882a593Smuzhiyun gpio-controller; 485*4882a593Smuzhiyun #gpio-cells = <2>; 486*4882a593Smuzhiyun interrupt-controller; 487*4882a593Smuzhiyun #interrupt-cells = <2>; 488*4882a593Smuzhiyun power-domains = <&pd IMX_SC_R_GPIO_2>; 489*4882a593Smuzhiyun }; 490*4882a593Smuzhiyun 491*4882a593Smuzhiyun lsio_gpio3: gpio@5d0b0000 { 492*4882a593Smuzhiyun compatible = "fsl,imx8qxp-gpio", "fsl,imx35-gpio"; 493*4882a593Smuzhiyun reg = <0x5d0b0000 0x10000>; 494*4882a593Smuzhiyun interrupts = <GIC_SPI 139 IRQ_TYPE_LEVEL_HIGH>; 495*4882a593Smuzhiyun gpio-controller; 496*4882a593Smuzhiyun #gpio-cells = <2>; 497*4882a593Smuzhiyun interrupt-controller; 498*4882a593Smuzhiyun #interrupt-cells = <2>; 499*4882a593Smuzhiyun power-domains = <&pd IMX_SC_R_GPIO_3>; 500*4882a593Smuzhiyun }; 501*4882a593Smuzhiyun 502*4882a593Smuzhiyun lsio_gpio4: gpio@5d0c0000 { 503*4882a593Smuzhiyun compatible = "fsl,imx8qxp-gpio", "fsl,imx35-gpio"; 504*4882a593Smuzhiyun reg = <0x5d0c0000 0x10000>; 505*4882a593Smuzhiyun interrupts = <GIC_SPI 140 IRQ_TYPE_LEVEL_HIGH>; 506*4882a593Smuzhiyun gpio-controller; 507*4882a593Smuzhiyun #gpio-cells = <2>; 508*4882a593Smuzhiyun interrupt-controller; 509*4882a593Smuzhiyun #interrupt-cells = <2>; 510*4882a593Smuzhiyun power-domains = <&pd IMX_SC_R_GPIO_4>; 511*4882a593Smuzhiyun }; 512*4882a593Smuzhiyun 513*4882a593Smuzhiyun lsio_gpio5: gpio@5d0d0000 { 514*4882a593Smuzhiyun compatible = "fsl,imx8qxp-gpio", "fsl,imx35-gpio"; 515*4882a593Smuzhiyun reg = <0x5d0d0000 0x10000>; 516*4882a593Smuzhiyun interrupts = <GIC_SPI 141 IRQ_TYPE_LEVEL_HIGH>; 517*4882a593Smuzhiyun gpio-controller; 518*4882a593Smuzhiyun #gpio-cells = <2>; 519*4882a593Smuzhiyun interrupt-controller; 520*4882a593Smuzhiyun #interrupt-cells = <2>; 521*4882a593Smuzhiyun power-domains = <&pd IMX_SC_R_GPIO_5>; 522*4882a593Smuzhiyun }; 523*4882a593Smuzhiyun 524*4882a593Smuzhiyun lsio_gpio6: gpio@5d0e0000 { 525*4882a593Smuzhiyun compatible = "fsl,imx8qxp-gpio", "fsl,imx35-gpio"; 526*4882a593Smuzhiyun reg = <0x5d0e0000 0x10000>; 527*4882a593Smuzhiyun interrupts = <GIC_SPI 142 IRQ_TYPE_LEVEL_HIGH>; 528*4882a593Smuzhiyun gpio-controller; 529*4882a593Smuzhiyun #gpio-cells = <2>; 530*4882a593Smuzhiyun interrupt-controller; 531*4882a593Smuzhiyun #interrupt-cells = <2>; 532*4882a593Smuzhiyun power-domains = <&pd IMX_SC_R_GPIO_6>; 533*4882a593Smuzhiyun }; 534*4882a593Smuzhiyun 535*4882a593Smuzhiyun lsio_gpio7: gpio@5d0f0000 { 536*4882a593Smuzhiyun compatible = "fsl,imx8qxp-gpio", "fsl,imx35-gpio"; 537*4882a593Smuzhiyun reg = <0x5d0f0000 0x10000>; 538*4882a593Smuzhiyun interrupts = <GIC_SPI 143 IRQ_TYPE_LEVEL_HIGH>; 539*4882a593Smuzhiyun gpio-controller; 540*4882a593Smuzhiyun #gpio-cells = <2>; 541*4882a593Smuzhiyun interrupt-controller; 542*4882a593Smuzhiyun #interrupt-cells = <2>; 543*4882a593Smuzhiyun power-domains = <&pd IMX_SC_R_GPIO_7>; 544*4882a593Smuzhiyun }; 545*4882a593Smuzhiyun 546*4882a593Smuzhiyun lsio_mu0: mailbox@5d1b0000 { 547*4882a593Smuzhiyun compatible = "fsl,imx8qxp-mu", "fsl,imx6sx-mu"; 548*4882a593Smuzhiyun reg = <0x5d1b0000 0x10000>; 549*4882a593Smuzhiyun interrupts = <GIC_SPI 176 IRQ_TYPE_LEVEL_HIGH>; 550*4882a593Smuzhiyun #mbox-cells = <2>; 551*4882a593Smuzhiyun status = "disabled"; 552*4882a593Smuzhiyun }; 553*4882a593Smuzhiyun 554*4882a593Smuzhiyun lsio_mu1: mailbox@5d1c0000 { 555*4882a593Smuzhiyun compatible = "fsl,imx8-mu-scu", "fsl,imx8qxp-mu", "fsl,imx6sx-mu"; 556*4882a593Smuzhiyun reg = <0x5d1c0000 0x10000>; 557*4882a593Smuzhiyun interrupts = <GIC_SPI 177 IRQ_TYPE_LEVEL_HIGH>; 558*4882a593Smuzhiyun #mbox-cells = <2>; 559*4882a593Smuzhiyun }; 560*4882a593Smuzhiyun 561*4882a593Smuzhiyun lsio_mu2: mailbox@5d1d0000 { 562*4882a593Smuzhiyun compatible = "fsl,imx8-mu-scu", "fsl,imx8qxp-mu", "fsl,imx6sx-mu"; 563*4882a593Smuzhiyun reg = <0x5d1d0000 0x10000>; 564*4882a593Smuzhiyun interrupts = <GIC_SPI 178 IRQ_TYPE_LEVEL_HIGH>; 565*4882a593Smuzhiyun #mbox-cells = <2>; 566*4882a593Smuzhiyun status = "disabled"; 567*4882a593Smuzhiyun }; 568*4882a593Smuzhiyun 569*4882a593Smuzhiyun lsio_mu3: mailbox@5d1e0000 { 570*4882a593Smuzhiyun compatible = "fsl,imx8-mu-scu", "fsl,imx8qxp-mu", "fsl,imx6sx-mu"; 571*4882a593Smuzhiyun reg = <0x5d1e0000 0x10000>; 572*4882a593Smuzhiyun interrupts = <GIC_SPI 179 IRQ_TYPE_LEVEL_HIGH>; 573*4882a593Smuzhiyun #mbox-cells = <2>; 574*4882a593Smuzhiyun status = "disabled"; 575*4882a593Smuzhiyun }; 576*4882a593Smuzhiyun 577*4882a593Smuzhiyun lsio_mu4: mailbox@5d1f0000 { 578*4882a593Smuzhiyun compatible = "fsl,imx8-mu-scu", "fsl,imx8qxp-mu", "fsl,imx6sx-mu"; 579*4882a593Smuzhiyun reg = <0x5d1f0000 0x10000>; 580*4882a593Smuzhiyun interrupts = <GIC_SPI 180 IRQ_TYPE_LEVEL_HIGH>; 581*4882a593Smuzhiyun #mbox-cells = <2>; 582*4882a593Smuzhiyun status = "disabled"; 583*4882a593Smuzhiyun }; 584*4882a593Smuzhiyun 585*4882a593Smuzhiyun lsio_mu13: mailbox@5d280000 { 586*4882a593Smuzhiyun compatible = "fsl,imx8qxp-mu", "fsl,imx6sx-mu"; 587*4882a593Smuzhiyun reg = <0x5d280000 0x10000>; 588*4882a593Smuzhiyun interrupts = <GIC_SPI 192 IRQ_TYPE_LEVEL_HIGH>; 589*4882a593Smuzhiyun #mbox-cells = <2>; 590*4882a593Smuzhiyun power-domains = <&pd IMX_SC_R_MU_13A>; 591*4882a593Smuzhiyun }; 592*4882a593Smuzhiyun 593*4882a593Smuzhiyun lsio_lpcg: clock-controller@5d400000 { 594*4882a593Smuzhiyun compatible = "fsl,imx8qxp-lpcg-lsio"; 595*4882a593Smuzhiyun reg = <0x5d400000 0x400000>; 596*4882a593Smuzhiyun #clock-cells = <1>; 597*4882a593Smuzhiyun }; 598*4882a593Smuzhiyun }; 599*4882a593Smuzhiyun 600*4882a593Smuzhiyun thermal_zones: thermal-zones { 601*4882a593Smuzhiyun cpu-thermal0 { 602*4882a593Smuzhiyun polling-delay-passive = <250>; 603*4882a593Smuzhiyun polling-delay = <2000>; 604*4882a593Smuzhiyun thermal-sensors = <&tsens IMX_SC_R_SYSTEM>; 605*4882a593Smuzhiyun 606*4882a593Smuzhiyun trips { 607*4882a593Smuzhiyun cpu_alert0: trip0 { 608*4882a593Smuzhiyun temperature = <107000>; 609*4882a593Smuzhiyun hysteresis = <2000>; 610*4882a593Smuzhiyun type = "passive"; 611*4882a593Smuzhiyun }; 612*4882a593Smuzhiyun 613*4882a593Smuzhiyun cpu_crit0: trip1 { 614*4882a593Smuzhiyun temperature = <127000>; 615*4882a593Smuzhiyun hysteresis = <2000>; 616*4882a593Smuzhiyun type = "critical"; 617*4882a593Smuzhiyun }; 618*4882a593Smuzhiyun }; 619*4882a593Smuzhiyun 620*4882a593Smuzhiyun cooling-maps { 621*4882a593Smuzhiyun map0 { 622*4882a593Smuzhiyun trip = <&cpu_alert0>; 623*4882a593Smuzhiyun cooling-device = 624*4882a593Smuzhiyun <&A35_0 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>, 625*4882a593Smuzhiyun <&A35_1 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>, 626*4882a593Smuzhiyun <&A35_2 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>, 627*4882a593Smuzhiyun <&A35_3 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>; 628*4882a593Smuzhiyun }; 629*4882a593Smuzhiyun }; 630*4882a593Smuzhiyun }; 631*4882a593Smuzhiyun }; 632*4882a593Smuzhiyun}; 633