1*4882a593Smuzhiyun// SPDX-License-Identifier: (GPL-2.0+ OR MIT) 2*4882a593Smuzhiyun/* 3*4882a593Smuzhiyun * Device Tree Include file for NXP Layerscape-1012A family SoC. 4*4882a593Smuzhiyun * 5*4882a593Smuzhiyun * Copyright 2016 Freescale Semiconductor, Inc. 6*4882a593Smuzhiyun * Copyright 2019-2020 NXP 7*4882a593Smuzhiyun * 8*4882a593Smuzhiyun */ 9*4882a593Smuzhiyun 10*4882a593Smuzhiyun#include <dt-bindings/interrupt-controller/arm-gic.h> 11*4882a593Smuzhiyun#include <dt-bindings/thermal/thermal.h> 12*4882a593Smuzhiyun 13*4882a593Smuzhiyun/ { 14*4882a593Smuzhiyun compatible = "fsl,ls1012a"; 15*4882a593Smuzhiyun interrupt-parent = <&gic>; 16*4882a593Smuzhiyun #address-cells = <2>; 17*4882a593Smuzhiyun #size-cells = <2>; 18*4882a593Smuzhiyun 19*4882a593Smuzhiyun aliases { 20*4882a593Smuzhiyun crypto = &crypto; 21*4882a593Smuzhiyun rtc1 = &ftm_alarm0; 22*4882a593Smuzhiyun rtic-a = &rtic_a; 23*4882a593Smuzhiyun rtic-b = &rtic_b; 24*4882a593Smuzhiyun rtic-c = &rtic_c; 25*4882a593Smuzhiyun rtic-d = &rtic_d; 26*4882a593Smuzhiyun sec-mon = &sec_mon; 27*4882a593Smuzhiyun }; 28*4882a593Smuzhiyun 29*4882a593Smuzhiyun cpus { 30*4882a593Smuzhiyun #address-cells = <1>; 31*4882a593Smuzhiyun #size-cells = <0>; 32*4882a593Smuzhiyun 33*4882a593Smuzhiyun cpu0: cpu@0 { 34*4882a593Smuzhiyun device_type = "cpu"; 35*4882a593Smuzhiyun compatible = "arm,cortex-a53"; 36*4882a593Smuzhiyun reg = <0x0>; 37*4882a593Smuzhiyun clocks = <&clockgen 1 0>; 38*4882a593Smuzhiyun #cooling-cells = <2>; 39*4882a593Smuzhiyun cpu-idle-states = <&CPU_PH20>; 40*4882a593Smuzhiyun }; 41*4882a593Smuzhiyun }; 42*4882a593Smuzhiyun 43*4882a593Smuzhiyun idle-states { 44*4882a593Smuzhiyun /* 45*4882a593Smuzhiyun * PSCI node is not added default, U-boot will add missing 46*4882a593Smuzhiyun * parts if it determines to use PSCI. 47*4882a593Smuzhiyun */ 48*4882a593Smuzhiyun entry-method = "psci"; 49*4882a593Smuzhiyun 50*4882a593Smuzhiyun CPU_PH20: cpu-ph20 { 51*4882a593Smuzhiyun compatible = "arm,idle-state"; 52*4882a593Smuzhiyun idle-state-name = "PH20"; 53*4882a593Smuzhiyun arm,psci-suspend-param = <0x0>; 54*4882a593Smuzhiyun entry-latency-us = <1000>; 55*4882a593Smuzhiyun exit-latency-us = <1000>; 56*4882a593Smuzhiyun min-residency-us = <3000>; 57*4882a593Smuzhiyun }; 58*4882a593Smuzhiyun }; 59*4882a593Smuzhiyun 60*4882a593Smuzhiyun sysclk: sysclk { 61*4882a593Smuzhiyun compatible = "fixed-clock"; 62*4882a593Smuzhiyun #clock-cells = <0>; 63*4882a593Smuzhiyun clock-frequency = <125000000>; 64*4882a593Smuzhiyun clock-output-names = "sysclk"; 65*4882a593Smuzhiyun }; 66*4882a593Smuzhiyun 67*4882a593Smuzhiyun coreclk: coreclk { 68*4882a593Smuzhiyun compatible = "fixed-clock"; 69*4882a593Smuzhiyun #clock-cells = <0>; 70*4882a593Smuzhiyun clock-frequency = <100000000>; 71*4882a593Smuzhiyun clock-output-names = "coreclk"; 72*4882a593Smuzhiyun }; 73*4882a593Smuzhiyun 74*4882a593Smuzhiyun timer { 75*4882a593Smuzhiyun compatible = "arm,armv8-timer"; 76*4882a593Smuzhiyun interrupts = <1 13 IRQ_TYPE_LEVEL_LOW>,/* Physical Secure PPI */ 77*4882a593Smuzhiyun <1 14 IRQ_TYPE_LEVEL_LOW>,/* Physical Non-Secure PPI */ 78*4882a593Smuzhiyun <1 11 IRQ_TYPE_LEVEL_LOW>,/* Virtual PPI */ 79*4882a593Smuzhiyun <1 10 IRQ_TYPE_LEVEL_LOW>;/* Hypervisor PPI */ 80*4882a593Smuzhiyun }; 81*4882a593Smuzhiyun 82*4882a593Smuzhiyun pmu { 83*4882a593Smuzhiyun compatible = "arm,armv8-pmuv3"; 84*4882a593Smuzhiyun interrupts = <0 106 IRQ_TYPE_LEVEL_HIGH>; 85*4882a593Smuzhiyun }; 86*4882a593Smuzhiyun 87*4882a593Smuzhiyun gic: interrupt-controller@1400000 { 88*4882a593Smuzhiyun compatible = "arm,gic-400"; 89*4882a593Smuzhiyun #interrupt-cells = <3>; 90*4882a593Smuzhiyun interrupt-controller; 91*4882a593Smuzhiyun reg = <0x0 0x1401000 0 0x1000>, /* GICD */ 92*4882a593Smuzhiyun <0x0 0x1402000 0 0x2000>, /* GICC */ 93*4882a593Smuzhiyun <0x0 0x1404000 0 0x2000>, /* GICH */ 94*4882a593Smuzhiyun <0x0 0x1406000 0 0x2000>; /* GICV */ 95*4882a593Smuzhiyun interrupts = <1 9 IRQ_TYPE_LEVEL_LOW>; 96*4882a593Smuzhiyun }; 97*4882a593Smuzhiyun 98*4882a593Smuzhiyun reboot { 99*4882a593Smuzhiyun compatible = "syscon-reboot"; 100*4882a593Smuzhiyun regmap = <&dcfg>; 101*4882a593Smuzhiyun offset = <0xb0>; 102*4882a593Smuzhiyun mask = <0x02>; 103*4882a593Smuzhiyun }; 104*4882a593Smuzhiyun 105*4882a593Smuzhiyun thermal-zones { 106*4882a593Smuzhiyun cpu_thermal: cpu-thermal { 107*4882a593Smuzhiyun polling-delay-passive = <1000>; 108*4882a593Smuzhiyun polling-delay = <5000>; 109*4882a593Smuzhiyun thermal-sensors = <&tmu 0>; 110*4882a593Smuzhiyun 111*4882a593Smuzhiyun trips { 112*4882a593Smuzhiyun cpu_alert: cpu-alert { 113*4882a593Smuzhiyun temperature = <85000>; 114*4882a593Smuzhiyun hysteresis = <2000>; 115*4882a593Smuzhiyun type = "passive"; 116*4882a593Smuzhiyun }; 117*4882a593Smuzhiyun 118*4882a593Smuzhiyun cpu_crit: cpu-crit { 119*4882a593Smuzhiyun temperature = <95000>; 120*4882a593Smuzhiyun hysteresis = <2000>; 121*4882a593Smuzhiyun type = "critical"; 122*4882a593Smuzhiyun }; 123*4882a593Smuzhiyun }; 124*4882a593Smuzhiyun 125*4882a593Smuzhiyun cooling-maps { 126*4882a593Smuzhiyun map0 { 127*4882a593Smuzhiyun trip = <&cpu_alert>; 128*4882a593Smuzhiyun cooling-device = 129*4882a593Smuzhiyun <&cpu0 THERMAL_NO_LIMIT 130*4882a593Smuzhiyun THERMAL_NO_LIMIT>; 131*4882a593Smuzhiyun }; 132*4882a593Smuzhiyun }; 133*4882a593Smuzhiyun }; 134*4882a593Smuzhiyun }; 135*4882a593Smuzhiyun 136*4882a593Smuzhiyun soc { 137*4882a593Smuzhiyun compatible = "simple-bus"; 138*4882a593Smuzhiyun #address-cells = <2>; 139*4882a593Smuzhiyun #size-cells = <2>; 140*4882a593Smuzhiyun ranges; 141*4882a593Smuzhiyun 142*4882a593Smuzhiyun qspi: spi@1550000 { 143*4882a593Smuzhiyun compatible = "fsl,ls1021a-qspi"; 144*4882a593Smuzhiyun #address-cells = <1>; 145*4882a593Smuzhiyun #size-cells = <0>; 146*4882a593Smuzhiyun reg = <0x0 0x1550000 0x0 0x10000>, 147*4882a593Smuzhiyun <0x0 0x40000000 0x0 0x10000000>; 148*4882a593Smuzhiyun reg-names = "QuadSPI", "QuadSPI-memory"; 149*4882a593Smuzhiyun interrupts = <GIC_SPI 99 IRQ_TYPE_LEVEL_HIGH>; 150*4882a593Smuzhiyun clock-names = "qspi_en", "qspi"; 151*4882a593Smuzhiyun clocks = <&clockgen 4 0>, <&clockgen 4 0>; 152*4882a593Smuzhiyun status = "disabled"; 153*4882a593Smuzhiyun }; 154*4882a593Smuzhiyun 155*4882a593Smuzhiyun esdhc0: esdhc@1560000 { 156*4882a593Smuzhiyun compatible = "fsl,ls1012a-esdhc", "fsl,esdhc"; 157*4882a593Smuzhiyun reg = <0x0 0x1560000 0x0 0x10000>; 158*4882a593Smuzhiyun interrupts = <0 62 0x4>; 159*4882a593Smuzhiyun clocks = <&clockgen 4 0>; 160*4882a593Smuzhiyun voltage-ranges = <1800 1800 3300 3300>; 161*4882a593Smuzhiyun sdhci,auto-cmd12; 162*4882a593Smuzhiyun big-endian; 163*4882a593Smuzhiyun bus-width = <4>; 164*4882a593Smuzhiyun status = "disabled"; 165*4882a593Smuzhiyun }; 166*4882a593Smuzhiyun 167*4882a593Smuzhiyun scfg: scfg@1570000 { 168*4882a593Smuzhiyun compatible = "fsl,ls1012a-scfg", "syscon"; 169*4882a593Smuzhiyun reg = <0x0 0x1570000 0x0 0x10000>; 170*4882a593Smuzhiyun big-endian; 171*4882a593Smuzhiyun }; 172*4882a593Smuzhiyun 173*4882a593Smuzhiyun esdhc1: esdhc@1580000 { 174*4882a593Smuzhiyun compatible = "fsl,ls1012a-esdhc", "fsl,esdhc"; 175*4882a593Smuzhiyun reg = <0x0 0x1580000 0x0 0x10000>; 176*4882a593Smuzhiyun interrupts = <0 65 0x4>; 177*4882a593Smuzhiyun clocks = <&clockgen 4 0>; 178*4882a593Smuzhiyun voltage-ranges = <1800 1800 3300 3300>; 179*4882a593Smuzhiyun sdhci,auto-cmd12; 180*4882a593Smuzhiyun big-endian; 181*4882a593Smuzhiyun broken-cd; 182*4882a593Smuzhiyun bus-width = <4>; 183*4882a593Smuzhiyun status = "disabled"; 184*4882a593Smuzhiyun }; 185*4882a593Smuzhiyun 186*4882a593Smuzhiyun crypto: crypto@1700000 { 187*4882a593Smuzhiyun compatible = "fsl,sec-v5.4", "fsl,sec-v5.0", 188*4882a593Smuzhiyun "fsl,sec-v4.0"; 189*4882a593Smuzhiyun fsl,sec-era = <8>; 190*4882a593Smuzhiyun #address-cells = <1>; 191*4882a593Smuzhiyun #size-cells = <1>; 192*4882a593Smuzhiyun ranges = <0x0 0x00 0x1700000 0x100000>; 193*4882a593Smuzhiyun reg = <0x00 0x1700000 0x0 0x100000>; 194*4882a593Smuzhiyun interrupts = <GIC_SPI 75 IRQ_TYPE_LEVEL_HIGH>; 195*4882a593Smuzhiyun dma-coherent; 196*4882a593Smuzhiyun 197*4882a593Smuzhiyun sec_jr0: jr@10000 { 198*4882a593Smuzhiyun compatible = "fsl,sec-v5.4-job-ring", 199*4882a593Smuzhiyun "fsl,sec-v5.0-job-ring", 200*4882a593Smuzhiyun "fsl,sec-v4.0-job-ring"; 201*4882a593Smuzhiyun reg = <0x10000 0x10000>; 202*4882a593Smuzhiyun interrupts = <GIC_SPI 71 IRQ_TYPE_LEVEL_HIGH>; 203*4882a593Smuzhiyun }; 204*4882a593Smuzhiyun 205*4882a593Smuzhiyun sec_jr1: jr@20000 { 206*4882a593Smuzhiyun compatible = "fsl,sec-v5.4-job-ring", 207*4882a593Smuzhiyun "fsl,sec-v5.0-job-ring", 208*4882a593Smuzhiyun "fsl,sec-v4.0-job-ring"; 209*4882a593Smuzhiyun reg = <0x20000 0x10000>; 210*4882a593Smuzhiyun interrupts = <GIC_SPI 72 IRQ_TYPE_LEVEL_HIGH>; 211*4882a593Smuzhiyun }; 212*4882a593Smuzhiyun 213*4882a593Smuzhiyun sec_jr2: jr@30000 { 214*4882a593Smuzhiyun compatible = "fsl,sec-v5.4-job-ring", 215*4882a593Smuzhiyun "fsl,sec-v5.0-job-ring", 216*4882a593Smuzhiyun "fsl,sec-v4.0-job-ring"; 217*4882a593Smuzhiyun reg = <0x30000 0x10000>; 218*4882a593Smuzhiyun interrupts = <GIC_SPI 73 IRQ_TYPE_LEVEL_HIGH>; 219*4882a593Smuzhiyun }; 220*4882a593Smuzhiyun 221*4882a593Smuzhiyun sec_jr3: jr@40000 { 222*4882a593Smuzhiyun compatible = "fsl,sec-v5.4-job-ring", 223*4882a593Smuzhiyun "fsl,sec-v5.0-job-ring", 224*4882a593Smuzhiyun "fsl,sec-v4.0-job-ring"; 225*4882a593Smuzhiyun reg = <0x40000 0x10000>; 226*4882a593Smuzhiyun interrupts = <GIC_SPI 74 IRQ_TYPE_LEVEL_HIGH>; 227*4882a593Smuzhiyun }; 228*4882a593Smuzhiyun 229*4882a593Smuzhiyun rtic@60000 { 230*4882a593Smuzhiyun compatible = "fsl,sec-v5.4-rtic", 231*4882a593Smuzhiyun "fsl,sec-v5.0-rtic", 232*4882a593Smuzhiyun "fsl,sec-v4.0-rtic"; 233*4882a593Smuzhiyun #address-cells = <1>; 234*4882a593Smuzhiyun #size-cells = <1>; 235*4882a593Smuzhiyun reg = <0x60000 0x100 0x60e00 0x18>; 236*4882a593Smuzhiyun ranges = <0x0 0x60100 0x500>; 237*4882a593Smuzhiyun 238*4882a593Smuzhiyun rtic_a: rtic-a@0 { 239*4882a593Smuzhiyun compatible = "fsl,sec-v5.4-rtic-memory", 240*4882a593Smuzhiyun "fsl,sec-v5.0-rtic-memory", 241*4882a593Smuzhiyun "fsl,sec-v4.0-rtic-memory"; 242*4882a593Smuzhiyun reg = <0x00 0x20 0x100 0x100>; 243*4882a593Smuzhiyun }; 244*4882a593Smuzhiyun 245*4882a593Smuzhiyun rtic_b: rtic-b@20 { 246*4882a593Smuzhiyun compatible = "fsl,sec-v5.4-rtic-memory", 247*4882a593Smuzhiyun "fsl,sec-v5.0-rtic-memory", 248*4882a593Smuzhiyun "fsl,sec-v4.0-rtic-memory"; 249*4882a593Smuzhiyun reg = <0x20 0x20 0x200 0x100>; 250*4882a593Smuzhiyun }; 251*4882a593Smuzhiyun 252*4882a593Smuzhiyun rtic_c: rtic-c@40 { 253*4882a593Smuzhiyun compatible = "fsl,sec-v5.4-rtic-memory", 254*4882a593Smuzhiyun "fsl,sec-v5.0-rtic-memory", 255*4882a593Smuzhiyun "fsl,sec-v4.0-rtic-memory"; 256*4882a593Smuzhiyun reg = <0x40 0x20 0x300 0x100>; 257*4882a593Smuzhiyun }; 258*4882a593Smuzhiyun 259*4882a593Smuzhiyun rtic_d: rtic-d@60 { 260*4882a593Smuzhiyun compatible = "fsl,sec-v5.4-rtic-memory", 261*4882a593Smuzhiyun "fsl,sec-v5.0-rtic-memory", 262*4882a593Smuzhiyun "fsl,sec-v4.0-rtic-memory"; 263*4882a593Smuzhiyun reg = <0x60 0x20 0x400 0x100>; 264*4882a593Smuzhiyun }; 265*4882a593Smuzhiyun }; 266*4882a593Smuzhiyun }; 267*4882a593Smuzhiyun 268*4882a593Smuzhiyun sec_mon: sec_mon@1e90000 { 269*4882a593Smuzhiyun compatible = "fsl,sec-v5.4-mon", "fsl,sec-v5.0-mon", 270*4882a593Smuzhiyun "fsl,sec-v4.0-mon"; 271*4882a593Smuzhiyun reg = <0x0 0x1e90000 0x0 0x10000>; 272*4882a593Smuzhiyun interrupts = <GIC_SPI 78 IRQ_TYPE_LEVEL_HIGH>, 273*4882a593Smuzhiyun <GIC_SPI 79 IRQ_TYPE_LEVEL_HIGH>; 274*4882a593Smuzhiyun }; 275*4882a593Smuzhiyun 276*4882a593Smuzhiyun dcfg: dcfg@1ee0000 { 277*4882a593Smuzhiyun compatible = "fsl,ls1012a-dcfg", 278*4882a593Smuzhiyun "syscon"; 279*4882a593Smuzhiyun reg = <0x0 0x1ee0000 0x0 0x10000>; 280*4882a593Smuzhiyun big-endian; 281*4882a593Smuzhiyun }; 282*4882a593Smuzhiyun 283*4882a593Smuzhiyun clockgen: clocking@1ee1000 { 284*4882a593Smuzhiyun compatible = "fsl,ls1012a-clockgen"; 285*4882a593Smuzhiyun reg = <0x0 0x1ee1000 0x0 0x1000>; 286*4882a593Smuzhiyun #clock-cells = <2>; 287*4882a593Smuzhiyun clocks = <&sysclk &coreclk>; 288*4882a593Smuzhiyun clock-names = "sysclk", "coreclk"; 289*4882a593Smuzhiyun }; 290*4882a593Smuzhiyun 291*4882a593Smuzhiyun tmu: tmu@1f00000 { 292*4882a593Smuzhiyun compatible = "fsl,qoriq-tmu"; 293*4882a593Smuzhiyun reg = <0x0 0x1f00000 0x0 0x10000>; 294*4882a593Smuzhiyun interrupts = <0 33 0x4>; 295*4882a593Smuzhiyun fsl,tmu-range = <0xb0000 0x9002a 0x6004c 0x30062>; 296*4882a593Smuzhiyun fsl,tmu-calibration = <0x00000000 0x00000026 297*4882a593Smuzhiyun 0x00000001 0x0000002d 298*4882a593Smuzhiyun 0x00000002 0x00000032 299*4882a593Smuzhiyun 0x00000003 0x00000039 300*4882a593Smuzhiyun 0x00000004 0x0000003f 301*4882a593Smuzhiyun 0x00000005 0x00000046 302*4882a593Smuzhiyun 0x00000006 0x0000004d 303*4882a593Smuzhiyun 0x00000007 0x00000054 304*4882a593Smuzhiyun 0x00000008 0x0000005a 305*4882a593Smuzhiyun 0x00000009 0x00000061 306*4882a593Smuzhiyun 0x0000000a 0x0000006a 307*4882a593Smuzhiyun 0x0000000b 0x00000071 308*4882a593Smuzhiyun 309*4882a593Smuzhiyun 0x00010000 0x00000025 310*4882a593Smuzhiyun 0x00010001 0x0000002c 311*4882a593Smuzhiyun 0x00010002 0x00000035 312*4882a593Smuzhiyun 0x00010003 0x0000003d 313*4882a593Smuzhiyun 0x00010004 0x00000045 314*4882a593Smuzhiyun 0x00010005 0x0000004e 315*4882a593Smuzhiyun 0x00010006 0x00000057 316*4882a593Smuzhiyun 0x00010007 0x00000061 317*4882a593Smuzhiyun 0x00010008 0x0000006b 318*4882a593Smuzhiyun 0x00010009 0x00000076 319*4882a593Smuzhiyun 320*4882a593Smuzhiyun 0x00020000 0x00000029 321*4882a593Smuzhiyun 0x00020001 0x00000033 322*4882a593Smuzhiyun 0x00020002 0x0000003d 323*4882a593Smuzhiyun 0x00020003 0x00000049 324*4882a593Smuzhiyun 0x00020004 0x00000056 325*4882a593Smuzhiyun 0x00020005 0x00000061 326*4882a593Smuzhiyun 0x00020006 0x0000006d 327*4882a593Smuzhiyun 328*4882a593Smuzhiyun 0x00030000 0x00000021 329*4882a593Smuzhiyun 0x00030001 0x0000002a 330*4882a593Smuzhiyun 0x00030002 0x0000003c 331*4882a593Smuzhiyun 0x00030003 0x0000004e>; 332*4882a593Smuzhiyun big-endian; 333*4882a593Smuzhiyun #thermal-sensor-cells = <1>; 334*4882a593Smuzhiyun }; 335*4882a593Smuzhiyun 336*4882a593Smuzhiyun i2c0: i2c@2180000 { 337*4882a593Smuzhiyun compatible = "fsl,vf610-i2c"; 338*4882a593Smuzhiyun #address-cells = <1>; 339*4882a593Smuzhiyun #size-cells = <0>; 340*4882a593Smuzhiyun reg = <0x0 0x2180000 0x0 0x10000>; 341*4882a593Smuzhiyun interrupts = <0 56 IRQ_TYPE_LEVEL_HIGH>; 342*4882a593Smuzhiyun clocks = <&clockgen 4 3>; 343*4882a593Smuzhiyun status = "disabled"; 344*4882a593Smuzhiyun }; 345*4882a593Smuzhiyun 346*4882a593Smuzhiyun i2c1: i2c@2190000 { 347*4882a593Smuzhiyun compatible = "fsl,vf610-i2c"; 348*4882a593Smuzhiyun #address-cells = <1>; 349*4882a593Smuzhiyun #size-cells = <0>; 350*4882a593Smuzhiyun reg = <0x0 0x2190000 0x0 0x10000>; 351*4882a593Smuzhiyun interrupts = <0 57 IRQ_TYPE_LEVEL_HIGH>; 352*4882a593Smuzhiyun clocks = <&clockgen 4 3>; 353*4882a593Smuzhiyun status = "disabled"; 354*4882a593Smuzhiyun }; 355*4882a593Smuzhiyun 356*4882a593Smuzhiyun dspi: spi@2100000 { 357*4882a593Smuzhiyun compatible = "fsl,ls1012a-dspi", "fsl,ls1021a-v1.0-dspi"; 358*4882a593Smuzhiyun #address-cells = <1>; 359*4882a593Smuzhiyun #size-cells = <0>; 360*4882a593Smuzhiyun reg = <0x0 0x2100000 0x0 0x10000>; 361*4882a593Smuzhiyun interrupts = <0 64 IRQ_TYPE_LEVEL_HIGH>; 362*4882a593Smuzhiyun clock-names = "dspi"; 363*4882a593Smuzhiyun clocks = <&clockgen 4 0>; 364*4882a593Smuzhiyun spi-num-chipselects = <5>; 365*4882a593Smuzhiyun big-endian; 366*4882a593Smuzhiyun status = "disabled"; 367*4882a593Smuzhiyun }; 368*4882a593Smuzhiyun 369*4882a593Smuzhiyun duart0: serial@21c0500 { 370*4882a593Smuzhiyun compatible = "fsl,ns16550", "ns16550a"; 371*4882a593Smuzhiyun reg = <0x00 0x21c0500 0x0 0x100>; 372*4882a593Smuzhiyun interrupts = <0 54 IRQ_TYPE_LEVEL_HIGH>; 373*4882a593Smuzhiyun clocks = <&clockgen 4 0>; 374*4882a593Smuzhiyun status = "disabled"; 375*4882a593Smuzhiyun }; 376*4882a593Smuzhiyun 377*4882a593Smuzhiyun duart1: serial@21c0600 { 378*4882a593Smuzhiyun compatible = "fsl,ns16550", "ns16550a"; 379*4882a593Smuzhiyun reg = <0x00 0x21c0600 0x0 0x100>; 380*4882a593Smuzhiyun interrupts = <0 54 IRQ_TYPE_LEVEL_HIGH>; 381*4882a593Smuzhiyun clocks = <&clockgen 4 0>; 382*4882a593Smuzhiyun status = "disabled"; 383*4882a593Smuzhiyun }; 384*4882a593Smuzhiyun 385*4882a593Smuzhiyun gpio0: gpio@2300000 { 386*4882a593Smuzhiyun compatible = "fsl,qoriq-gpio"; 387*4882a593Smuzhiyun reg = <0x0 0x2300000 0x0 0x10000>; 388*4882a593Smuzhiyun interrupts = <0 66 IRQ_TYPE_LEVEL_HIGH>; 389*4882a593Smuzhiyun gpio-controller; 390*4882a593Smuzhiyun #gpio-cells = <2>; 391*4882a593Smuzhiyun interrupt-controller; 392*4882a593Smuzhiyun #interrupt-cells = <2>; 393*4882a593Smuzhiyun }; 394*4882a593Smuzhiyun 395*4882a593Smuzhiyun gpio1: gpio@2310000 { 396*4882a593Smuzhiyun compatible = "fsl,qoriq-gpio"; 397*4882a593Smuzhiyun reg = <0x0 0x2310000 0x0 0x10000>; 398*4882a593Smuzhiyun interrupts = <0 67 IRQ_TYPE_LEVEL_HIGH>; 399*4882a593Smuzhiyun gpio-controller; 400*4882a593Smuzhiyun #gpio-cells = <2>; 401*4882a593Smuzhiyun interrupt-controller; 402*4882a593Smuzhiyun #interrupt-cells = <2>; 403*4882a593Smuzhiyun }; 404*4882a593Smuzhiyun 405*4882a593Smuzhiyun wdog0: wdog@2ad0000 { 406*4882a593Smuzhiyun compatible = "fsl,ls1012a-wdt", 407*4882a593Smuzhiyun "fsl,imx21-wdt"; 408*4882a593Smuzhiyun reg = <0x0 0x2ad0000 0x0 0x10000>; 409*4882a593Smuzhiyun interrupts = <0 83 IRQ_TYPE_LEVEL_HIGH>; 410*4882a593Smuzhiyun clocks = <&clockgen 4 0>; 411*4882a593Smuzhiyun big-endian; 412*4882a593Smuzhiyun }; 413*4882a593Smuzhiyun 414*4882a593Smuzhiyun sai1: sai@2b50000 { 415*4882a593Smuzhiyun #sound-dai-cells = <0>; 416*4882a593Smuzhiyun compatible = "fsl,vf610-sai"; 417*4882a593Smuzhiyun reg = <0x0 0x2b50000 0x0 0x10000>; 418*4882a593Smuzhiyun interrupts = <0 148 IRQ_TYPE_LEVEL_HIGH>; 419*4882a593Smuzhiyun clocks = <&clockgen 4 3>, <&clockgen 4 3>, 420*4882a593Smuzhiyun <&clockgen 4 3>, <&clockgen 4 3>; 421*4882a593Smuzhiyun clock-names = "bus", "mclk1", "mclk2", "mclk3"; 422*4882a593Smuzhiyun dma-names = "tx", "rx"; 423*4882a593Smuzhiyun dmas = <&edma0 1 47>, 424*4882a593Smuzhiyun <&edma0 1 46>; 425*4882a593Smuzhiyun status = "disabled"; 426*4882a593Smuzhiyun }; 427*4882a593Smuzhiyun 428*4882a593Smuzhiyun sai2: sai@2b60000 { 429*4882a593Smuzhiyun #sound-dai-cells = <0>; 430*4882a593Smuzhiyun compatible = "fsl,vf610-sai"; 431*4882a593Smuzhiyun reg = <0x0 0x2b60000 0x0 0x10000>; 432*4882a593Smuzhiyun interrupts = <0 149 IRQ_TYPE_LEVEL_HIGH>; 433*4882a593Smuzhiyun clocks = <&clockgen 4 3>, <&clockgen 4 3>, 434*4882a593Smuzhiyun <&clockgen 4 3>, <&clockgen 4 3>; 435*4882a593Smuzhiyun clock-names = "bus", "mclk1", "mclk2", "mclk3"; 436*4882a593Smuzhiyun dma-names = "tx", "rx"; 437*4882a593Smuzhiyun dmas = <&edma0 1 45>, 438*4882a593Smuzhiyun <&edma0 1 44>; 439*4882a593Smuzhiyun status = "disabled"; 440*4882a593Smuzhiyun }; 441*4882a593Smuzhiyun 442*4882a593Smuzhiyun edma0: edma@2c00000 { 443*4882a593Smuzhiyun #dma-cells = <2>; 444*4882a593Smuzhiyun compatible = "fsl,vf610-edma"; 445*4882a593Smuzhiyun reg = <0x0 0x2c00000 0x0 0x10000>, 446*4882a593Smuzhiyun <0x0 0x2c10000 0x0 0x10000>, 447*4882a593Smuzhiyun <0x0 0x2c20000 0x0 0x10000>; 448*4882a593Smuzhiyun interrupts = <0 103 IRQ_TYPE_LEVEL_HIGH>, 449*4882a593Smuzhiyun <0 103 IRQ_TYPE_LEVEL_HIGH>; 450*4882a593Smuzhiyun interrupt-names = "edma-tx", "edma-err"; 451*4882a593Smuzhiyun dma-channels = <32>; 452*4882a593Smuzhiyun big-endian; 453*4882a593Smuzhiyun clock-names = "dmamux0", "dmamux1"; 454*4882a593Smuzhiyun clocks = <&clockgen 4 3>, 455*4882a593Smuzhiyun <&clockgen 4 3>; 456*4882a593Smuzhiyun }; 457*4882a593Smuzhiyun 458*4882a593Smuzhiyun usb0: usb3@2f00000 { 459*4882a593Smuzhiyun compatible = "snps,dwc3"; 460*4882a593Smuzhiyun reg = <0x0 0x2f00000 0x0 0x10000>; 461*4882a593Smuzhiyun interrupts = <0 60 0x4>; 462*4882a593Smuzhiyun dr_mode = "host"; 463*4882a593Smuzhiyun snps,quirk-frame-length-adjustment = <0x20>; 464*4882a593Smuzhiyun snps,dis_rxdet_inp3_quirk; 465*4882a593Smuzhiyun snps,incr-burst-type-adjustment = <1>, <4>, <8>, <16>; 466*4882a593Smuzhiyun }; 467*4882a593Smuzhiyun 468*4882a593Smuzhiyun sata: sata@3200000 { 469*4882a593Smuzhiyun compatible = "fsl,ls1012a-ahci", "fsl,ls1043a-ahci"; 470*4882a593Smuzhiyun reg = <0x0 0x3200000 0x0 0x10000>, 471*4882a593Smuzhiyun <0x0 0x20140520 0x0 0x4>; 472*4882a593Smuzhiyun reg-names = "ahci", "sata-ecc"; 473*4882a593Smuzhiyun interrupts = <0 69 IRQ_TYPE_LEVEL_HIGH>; 474*4882a593Smuzhiyun clocks = <&clockgen 4 0>; 475*4882a593Smuzhiyun dma-coherent; 476*4882a593Smuzhiyun status = "disabled"; 477*4882a593Smuzhiyun }; 478*4882a593Smuzhiyun 479*4882a593Smuzhiyun usb1: usb2@8600000 { 480*4882a593Smuzhiyun compatible = "fsl-usb2-dr-v2.5", "fsl-usb2-dr"; 481*4882a593Smuzhiyun reg = <0x0 0x8600000 0x0 0x1000>; 482*4882a593Smuzhiyun interrupts = <0 139 0x4>; 483*4882a593Smuzhiyun dr_mode = "host"; 484*4882a593Smuzhiyun phy_type = "ulpi"; 485*4882a593Smuzhiyun }; 486*4882a593Smuzhiyun 487*4882a593Smuzhiyun msi: msi-controller1@1572000 { 488*4882a593Smuzhiyun compatible = "fsl,ls1012a-msi"; 489*4882a593Smuzhiyun reg = <0x0 0x1572000 0x0 0x8>; 490*4882a593Smuzhiyun msi-controller; 491*4882a593Smuzhiyun interrupts = <0 126 IRQ_TYPE_LEVEL_HIGH>; 492*4882a593Smuzhiyun }; 493*4882a593Smuzhiyun 494*4882a593Smuzhiyun pcie1: pcie@3400000 { 495*4882a593Smuzhiyun compatible = "fsl,ls1012a-pcie"; 496*4882a593Smuzhiyun reg = <0x00 0x03400000 0x0 0x00100000 /* controller registers */ 497*4882a593Smuzhiyun 0x40 0x00000000 0x0 0x00002000>; /* configuration space */ 498*4882a593Smuzhiyun reg-names = "regs", "config"; 499*4882a593Smuzhiyun interrupts = <0 118 0x4>, /* controller interrupt */ 500*4882a593Smuzhiyun <0 117 0x4>; /* PME interrupt */ 501*4882a593Smuzhiyun interrupt-names = "aer", "pme"; 502*4882a593Smuzhiyun #address-cells = <3>; 503*4882a593Smuzhiyun #size-cells = <2>; 504*4882a593Smuzhiyun device_type = "pci"; 505*4882a593Smuzhiyun num-viewport = <2>; 506*4882a593Smuzhiyun bus-range = <0x0 0xff>; 507*4882a593Smuzhiyun ranges = <0x81000000 0x0 0x00000000 0x40 0x00010000 0x0 0x00010000 /* downstream I/O */ 508*4882a593Smuzhiyun 0x82000000 0x0 0x40000000 0x40 0x40000000 0x0 0x40000000>; /* non-prefetchable memory */ 509*4882a593Smuzhiyun msi-parent = <&msi>; 510*4882a593Smuzhiyun #interrupt-cells = <1>; 511*4882a593Smuzhiyun interrupt-map-mask = <0 0 0 7>; 512*4882a593Smuzhiyun interrupt-map = <0000 0 0 1 &gic 0 110 IRQ_TYPE_LEVEL_HIGH>, 513*4882a593Smuzhiyun <0000 0 0 2 &gic 0 111 IRQ_TYPE_LEVEL_HIGH>, 514*4882a593Smuzhiyun <0000 0 0 3 &gic 0 112 IRQ_TYPE_LEVEL_HIGH>, 515*4882a593Smuzhiyun <0000 0 0 4 &gic 0 113 IRQ_TYPE_LEVEL_HIGH>; 516*4882a593Smuzhiyun status = "disabled"; 517*4882a593Smuzhiyun }; 518*4882a593Smuzhiyun 519*4882a593Smuzhiyun rcpm: power-controller@1ee2140 { 520*4882a593Smuzhiyun compatible = "fsl,ls1012a-rcpm", "fsl,qoriq-rcpm-2.1+"; 521*4882a593Smuzhiyun reg = <0x0 0x1ee2140 0x0 0x4>; 522*4882a593Smuzhiyun #fsl,rcpm-wakeup-cells = <1>; 523*4882a593Smuzhiyun }; 524*4882a593Smuzhiyun 525*4882a593Smuzhiyun ftm_alarm0: timer@29d0000 { 526*4882a593Smuzhiyun compatible = "fsl,ls1012a-ftm-alarm"; 527*4882a593Smuzhiyun reg = <0x0 0x29d0000 0x0 0x10000>; 528*4882a593Smuzhiyun fsl,rcpm-wakeup = <&rcpm 0x20000>; 529*4882a593Smuzhiyun interrupts = <GIC_SPI 86 IRQ_TYPE_LEVEL_HIGH>; 530*4882a593Smuzhiyun big-endian; 531*4882a593Smuzhiyun }; 532*4882a593Smuzhiyun }; 533*4882a593Smuzhiyun 534*4882a593Smuzhiyun firmware { 535*4882a593Smuzhiyun optee { 536*4882a593Smuzhiyun compatible = "linaro,optee-tz"; 537*4882a593Smuzhiyun method = "smc"; 538*4882a593Smuzhiyun }; 539*4882a593Smuzhiyun }; 540*4882a593Smuzhiyun}; 541