cachepc-linux

Fork of AMDESE/linux with modifications for CachePC side-channel attack
git clone https://git.sinitax.com/sinitax/cachepc-linux
Log | Files | Refs | README | LICENSE | sfeed.txt

fsl-ls1043a.dtsi (25096B)


      1// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
      2/*
      3 * Device Tree Include file for NXP Layerscape-1043A family SoC.
      4 *
      5 * Copyright 2014-2015 Freescale Semiconductor, Inc.
      6 * Copyright 2018, 2020 NXP
      7 *
      8 * Mingkai Hu <Mingkai.hu@freescale.com>
      9 */
     10
     11#include <dt-bindings/clock/fsl,qoriq-clockgen.h>
     12#include <dt-bindings/thermal/thermal.h>
     13#include <dt-bindings/interrupt-controller/arm-gic.h>
     14
     15/ {
     16	compatible = "fsl,ls1043a";
     17	interrupt-parent = <&gic>;
     18	#address-cells = <2>;
     19	#size-cells = <2>;
     20
     21	aliases {
     22		crypto = &crypto;
     23		fman0 = &fman0;
     24		ethernet0 = &enet0;
     25		ethernet1 = &enet1;
     26		ethernet2 = &enet2;
     27		ethernet3 = &enet3;
     28		ethernet4 = &enet4;
     29		ethernet5 = &enet5;
     30		ethernet6 = &enet6;
     31		rtc1 = &ftm_alarm0;
     32	};
     33
     34	cpus {
     35		#address-cells = <1>;
     36		#size-cells = <0>;
     37
     38		/*
     39		 * We expect the enable-method for cpu's to be "psci", but this
     40		 * is dependent on the SoC FW, which will fill this in.
     41		 *
     42		 * Currently supported enable-method is psci v0.2
     43		 */
     44		cpu0: cpu@0 {
     45			device_type = "cpu";
     46			compatible = "arm,cortex-a53";
     47			reg = <0x0>;
     48			clocks = <&clockgen QORIQ_CLK_CMUX 0>;
     49			next-level-cache = <&l2>;
     50			cpu-idle-states = <&CPU_PH20>;
     51			#cooling-cells = <2>;
     52		};
     53
     54		cpu1: cpu@1 {
     55			device_type = "cpu";
     56			compatible = "arm,cortex-a53";
     57			reg = <0x1>;
     58			clocks = <&clockgen QORIQ_CLK_CMUX 0>;
     59			next-level-cache = <&l2>;
     60			cpu-idle-states = <&CPU_PH20>;
     61			#cooling-cells = <2>;
     62		};
     63
     64		cpu2: cpu@2 {
     65			device_type = "cpu";
     66			compatible = "arm,cortex-a53";
     67			reg = <0x2>;
     68			clocks = <&clockgen QORIQ_CLK_CMUX 0>;
     69			next-level-cache = <&l2>;
     70			cpu-idle-states = <&CPU_PH20>;
     71			#cooling-cells = <2>;
     72		};
     73
     74		cpu3: cpu@3 {
     75			device_type = "cpu";
     76			compatible = "arm,cortex-a53";
     77			reg = <0x3>;
     78			clocks = <&clockgen QORIQ_CLK_CMUX 0>;
     79			next-level-cache = <&l2>;
     80			cpu-idle-states = <&CPU_PH20>;
     81			#cooling-cells = <2>;
     82		};
     83
     84		l2: l2-cache {
     85			compatible = "cache";
     86		};
     87	};
     88
     89	idle-states {
     90		/*
     91		 * PSCI node is not added default, U-boot will add missing
     92		 * parts if it determines to use PSCI.
     93		 */
     94		entry-method = "psci";
     95
     96		CPU_PH20: cpu-ph20 {
     97			compatible = "arm,idle-state";
     98			idle-state-name = "PH20";
     99			arm,psci-suspend-param = <0x0>;
    100			entry-latency-us = <1000>;
    101			exit-latency-us = <1000>;
    102			min-residency-us = <3000>;
    103		};
    104	};
    105
    106	memory@80000000 {
    107		device_type = "memory";
    108		reg = <0x0 0x80000000 0 0x80000000>;
    109		      /* DRAM space 1, size: 2GiB DRAM */
    110	};
    111
    112	reserved-memory {
    113		#address-cells = <2>;
    114		#size-cells = <2>;
    115		ranges;
    116
    117		bman_fbpr: bman-fbpr {
    118			compatible = "shared-dma-pool";
    119			size = <0 0x1000000>;
    120			alignment = <0 0x1000000>;
    121			no-map;
    122		};
    123
    124		qman_fqd: qman-fqd {
    125			compatible = "shared-dma-pool";
    126			size = <0 0x400000>;
    127			alignment = <0 0x400000>;
    128			no-map;
    129		};
    130
    131		qman_pfdr: qman-pfdr {
    132			compatible = "shared-dma-pool";
    133			size = <0 0x2000000>;
    134			alignment = <0 0x2000000>;
    135			no-map;
    136		};
    137	};
    138
    139	sysclk: sysclk {
    140		compatible = "fixed-clock";
    141		#clock-cells = <0>;
    142		clock-frequency = <100000000>;
    143		clock-output-names = "sysclk";
    144	};
    145
    146	reboot {
    147		compatible ="syscon-reboot";
    148		regmap = <&dcfg>;
    149		offset = <0xb0>;
    150		mask = <0x02>;
    151	};
    152
    153	thermal-zones {
    154		ddr-controller {
    155			polling-delay-passive = <1000>;
    156			polling-delay = <5000>;
    157			thermal-sensors = <&tmu 0>;
    158
    159			trips {
    160				ddr-ctrler-alert {
    161					temperature = <85000>;
    162					hysteresis = <2000>;
    163					type = "passive";
    164				};
    165
    166				ddr-ctrler-crit {
    167					temperature = <95000>;
    168					hysteresis = <2000>;
    169					type = "critical";
    170				};
    171			};
    172		};
    173
    174		serdes {
    175			polling-delay-passive = <1000>;
    176			polling-delay = <5000>;
    177			thermal-sensors = <&tmu 1>;
    178
    179			trips {
    180				serdes-alert {
    181					temperature = <85000>;
    182					hysteresis = <2000>;
    183					type = "passive";
    184				};
    185
    186				serdes-crit {
    187					temperature = <95000>;
    188					hysteresis = <2000>;
    189					type = "critical";
    190				};
    191			};
    192		};
    193
    194		fman {
    195			polling-delay-passive = <1000>;
    196			polling-delay = <5000>;
    197			thermal-sensors = <&tmu 2>;
    198
    199			trips {
    200				fman-alert {
    201					temperature = <85000>;
    202					hysteresis = <2000>;
    203					type = "passive";
    204				};
    205
    206				fman-crit {
    207					temperature = <95000>;
    208					hysteresis = <2000>;
    209					type = "critical";
    210				};
    211			};
    212		};
    213
    214		core-cluster {
    215			polling-delay-passive = <1000>;
    216			polling-delay = <5000>;
    217			thermal-sensors = <&tmu 3>;
    218
    219			trips {
    220				core_cluster_alert: core-cluster-alert {
    221					temperature = <85000>;
    222					hysteresis = <2000>;
    223					type = "passive";
    224				};
    225
    226				core_cluster_crit: core-cluster-crit {
    227					temperature = <95000>;
    228					hysteresis = <2000>;
    229					type = "critical";
    230				};
    231			};
    232
    233			cooling-maps {
    234				map0 {
    235					trip = <&core_cluster_alert>;
    236					cooling-device =
    237						<&cpu0 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
    238						<&cpu1 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
    239						<&cpu2 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
    240						<&cpu3 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
    241				};
    242			};
    243		};
    244
    245		sec {
    246			polling-delay-passive = <1000>;
    247			polling-delay = <5000>;
    248			thermal-sensors = <&tmu 4>;
    249
    250			trips {
    251				sec-alert {
    252					temperature = <85000>;
    253					hysteresis = <2000>;
    254					type = "passive";
    255				};
    256
    257				sec-crit {
    258					temperature = <95000>;
    259					hysteresis = <2000>;
    260					type = "critical";
    261				};
    262			};
    263		};
    264	};
    265
    266	timer {
    267		compatible = "arm,armv8-timer";
    268		interrupts = <1 13 0xf08>, /* Physical Secure PPI */
    269			     <1 14 0xf08>, /* Physical Non-Secure PPI */
    270			     <1 11 0xf08>, /* Virtual PPI */
    271			     <1 10 0xf08>; /* Hypervisor PPI */
    272		fsl,erratum-a008585;
    273	};
    274
    275	pmu {
    276		compatible = "arm,armv8-pmuv3";
    277		interrupts = <0 106 0x4>,
    278			     <0 107 0x4>,
    279			     <0 95 0x4>,
    280			     <0 97 0x4>;
    281		interrupt-affinity = <&cpu0>,
    282				     <&cpu1>,
    283				     <&cpu2>,
    284				     <&cpu3>;
    285	};
    286
    287	gic: interrupt-controller@1400000 {
    288		compatible = "arm,gic-400";
    289		#interrupt-cells = <3>;
    290		interrupt-controller;
    291		reg = <0x0 0x1401000 0 0x1000>, /* GICD */
    292		      <0x0 0x1402000 0 0x2000>, /* GICC */
    293		      <0x0 0x1404000 0 0x2000>, /* GICH */
    294		      <0x0 0x1406000 0 0x2000>; /* GICV */
    295		interrupts = <1 9 0xf08>;
    296	};
    297
    298	soc: soc {
    299		compatible = "simple-bus";
    300		#address-cells = <2>;
    301		#size-cells = <2>;
    302		ranges;
    303
    304		clockgen: clocking@1ee1000 {
    305			compatible = "fsl,ls1043a-clockgen";
    306			reg = <0x0 0x1ee1000 0x0 0x1000>;
    307			#clock-cells = <2>;
    308			clocks = <&sysclk>;
    309		};
    310
    311		scfg: scfg@1570000 {
    312			compatible = "fsl,ls1043a-scfg", "syscon";
    313			reg = <0x0 0x1570000 0x0 0x10000>;
    314			big-endian;
    315			#address-cells = <1>;
    316			#size-cells = <1>;
    317			ranges = <0x0 0x0 0x1570000 0x10000>;
    318
    319			extirq: interrupt-controller@1ac {
    320				compatible = "fsl,ls1043a-extirq";
    321				#interrupt-cells = <2>;
    322				#address-cells = <0>;
    323				interrupt-controller;
    324				reg = <0x1ac 4>;
    325				interrupt-map =
    326					<0 0 &gic GIC_SPI 131 IRQ_TYPE_LEVEL_HIGH>,
    327					<1 0 &gic GIC_SPI 132 IRQ_TYPE_LEVEL_HIGH>,
    328					<2 0 &gic GIC_SPI 133 IRQ_TYPE_LEVEL_HIGH>,
    329					<3 0 &gic GIC_SPI 135 IRQ_TYPE_LEVEL_HIGH>,
    330					<4 0 &gic GIC_SPI 136 IRQ_TYPE_LEVEL_HIGH>,
    331					<5 0 &gic GIC_SPI 137 IRQ_TYPE_LEVEL_HIGH>,
    332					<6 0 &gic GIC_SPI 145 IRQ_TYPE_LEVEL_HIGH>,
    333					<7 0 &gic GIC_SPI 146 IRQ_TYPE_LEVEL_HIGH>,
    334					<8 0 &gic GIC_SPI 147 IRQ_TYPE_LEVEL_HIGH>,
    335					<9 0 &gic GIC_SPI 149 IRQ_TYPE_LEVEL_HIGH>,
    336					<10 0 &gic GIC_SPI 150 IRQ_TYPE_LEVEL_HIGH>,
    337					<11 0 &gic GIC_SPI 151 IRQ_TYPE_LEVEL_HIGH>;
    338				interrupt-map-mask = <0xf 0x0>;
    339			};
    340		};
    341
    342		crypto: crypto@1700000 {
    343			compatible = "fsl,sec-v5.4", "fsl,sec-v5.0",
    344				     "fsl,sec-v4.0";
    345			fsl,sec-era = <3>;
    346			#address-cells = <1>;
    347			#size-cells = <1>;
    348			ranges = <0x0 0x00 0x1700000 0x100000>;
    349			reg = <0x00 0x1700000 0x0 0x100000>;
    350			interrupts = <0 75 0x4>;
    351			dma-coherent;
    352
    353			sec_jr0: jr@10000 {
    354				compatible = "fsl,sec-v5.4-job-ring",
    355					     "fsl,sec-v5.0-job-ring",
    356					     "fsl,sec-v4.0-job-ring";
    357				reg	   = <0x10000 0x10000>;
    358				interrupts = <0 71 0x4>;
    359			};
    360
    361			sec_jr1: jr@20000 {
    362				compatible = "fsl,sec-v5.4-job-ring",
    363					     "fsl,sec-v5.0-job-ring",
    364					     "fsl,sec-v4.0-job-ring";
    365				reg	   = <0x20000 0x10000>;
    366				interrupts = <0 72 0x4>;
    367			};
    368
    369			sec_jr2: jr@30000 {
    370				compatible = "fsl,sec-v5.4-job-ring",
    371					     "fsl,sec-v5.0-job-ring",
    372					     "fsl,sec-v4.0-job-ring";
    373				reg	   = <0x30000 0x10000>;
    374				interrupts = <0 73 0x4>;
    375			};
    376
    377			sec_jr3: jr@40000 {
    378				compatible = "fsl,sec-v5.4-job-ring",
    379					     "fsl,sec-v5.0-job-ring",
    380					     "fsl,sec-v4.0-job-ring";
    381				reg	   = <0x40000 0x10000>;
    382				interrupts = <0 74 0x4>;
    383			};
    384		};
    385
    386		dcfg: dcfg@1ee0000 {
    387			compatible = "fsl,ls1043a-dcfg", "syscon";
    388			reg = <0x0 0x1ee0000 0x0 0x10000>;
    389			big-endian;
    390		};
    391
    392		ifc: memory-controller@1530000 {
    393			compatible = "fsl,ifc";
    394			reg = <0x0 0x1530000 0x0 0x10000>;
    395			interrupts = <0 43 0x4>;
    396		};
    397
    398		qspi: spi@1550000 {
    399			compatible = "fsl,ls1043a-qspi", "fsl,ls1021a-qspi";
    400			#address-cells = <1>;
    401			#size-cells = <0>;
    402			reg = <0x0 0x1550000 0x0 0x10000>,
    403				<0x0 0x40000000 0x0 0x4000000>;
    404			reg-names = "QuadSPI", "QuadSPI-memory";
    405			interrupts = <0 99 0x4>;
    406			clock-names = "qspi_en", "qspi";
    407			clocks = <&clockgen QORIQ_CLK_PLATFORM_PLL
    408					    QORIQ_CLK_PLL_DIV(1)>,
    409				 <&clockgen QORIQ_CLK_PLATFORM_PLL
    410					    QORIQ_CLK_PLL_DIV(1)>;
    411			status = "disabled";
    412		};
    413
    414		esdhc: esdhc@1560000 {
    415			compatible = "fsl,ls1043a-esdhc", "fsl,esdhc";
    416			reg = <0x0 0x1560000 0x0 0x10000>;
    417			interrupts = <0 62 0x4>;
    418			clock-frequency = <0>;
    419			voltage-ranges = <1800 1800 3300 3300>;
    420			sdhci,auto-cmd12;
    421			big-endian;
    422			bus-width = <4>;
    423		};
    424
    425		ddr: memory-controller@1080000 {
    426			compatible = "fsl,qoriq-memory-controller";
    427			reg = <0x0 0x1080000 0x0 0x1000>;
    428			interrupts = <0 144 0x4>;
    429			big-endian;
    430		};
    431
    432		tmu: tmu@1f00000 {
    433			compatible = "fsl,qoriq-tmu";
    434			reg = <0x0 0x1f00000 0x0 0x10000>;
    435			interrupts = <0 33 0x4>;
    436			fsl,tmu-range = <0xb0000 0x9002a 0x6004c 0x70062>;
    437			fsl,tmu-calibration = <0x00000000 0x00000023
    438					       0x00000001 0x0000002a
    439					       0x00000002 0x00000031
    440					       0x00000003 0x00000037
    441					       0x00000004 0x0000003e
    442					       0x00000005 0x00000044
    443					       0x00000006 0x0000004b
    444					       0x00000007 0x00000051
    445					       0x00000008 0x00000058
    446					       0x00000009 0x0000005e
    447					       0x0000000a 0x00000065
    448					       0x0000000b 0x0000006b
    449
    450					       0x00010000 0x00000023
    451					       0x00010001 0x0000002b
    452					       0x00010002 0x00000033
    453					       0x00010003 0x0000003b
    454					       0x00010004 0x00000043
    455					       0x00010005 0x0000004b
    456					       0x00010006 0x00000054
    457					       0x00010007 0x0000005c
    458					       0x00010008 0x00000064
    459					       0x00010009 0x0000006c
    460
    461					       0x00020000 0x00000021
    462					       0x00020001 0x0000002c
    463					       0x00020002 0x00000036
    464					       0x00020003 0x00000040
    465					       0x00020004 0x0000004b
    466					       0x00020005 0x00000055
    467					       0x00020006 0x0000005f
    468
    469					       0x00030000 0x00000013
    470					       0x00030001 0x0000001d
    471					       0x00030002 0x00000028
    472					       0x00030003 0x00000032
    473					       0x00030004 0x0000003d
    474					       0x00030005 0x00000047
    475					       0x00030006 0x00000052
    476					       0x00030007 0x0000005c>;
    477			#thermal-sensor-cells = <1>;
    478		};
    479
    480		qman: qman@1880000 {
    481			compatible = "fsl,qman";
    482			reg = <0x0 0x1880000 0x0 0x10000>;
    483			interrupts = <GIC_SPI 45 IRQ_TYPE_LEVEL_HIGH>;
    484			memory-region = <&qman_fqd &qman_pfdr>;
    485		};
    486
    487		bman: bman@1890000 {
    488			compatible = "fsl,bman";
    489			reg = <0x0 0x1890000 0x0 0x10000>;
    490			interrupts = <GIC_SPI 45 IRQ_TYPE_LEVEL_HIGH>;
    491			memory-region = <&bman_fbpr>;
    492		};
    493
    494		bportals: bman-portals@508000000 {
    495			ranges = <0x0 0x5 0x08000000 0x8000000>;
    496		};
    497
    498		qportals: qman-portals@500000000 {
    499			ranges = <0x0 0x5 0x00000000 0x8000000>;
    500		};
    501
    502		dspi0: spi@2100000 {
    503			compatible = "fsl,ls1043a-dspi", "fsl,ls1021a-v1.0-dspi";
    504			#address-cells = <1>;
    505			#size-cells = <0>;
    506			reg = <0x0 0x2100000 0x0 0x10000>;
    507			interrupts = <0 64 0x4>;
    508			clock-names = "dspi";
    509			clocks = <&clockgen QORIQ_CLK_PLATFORM_PLL
    510					    QORIQ_CLK_PLL_DIV(1)>;
    511			spi-num-chipselects = <5>;
    512			big-endian;
    513			status = "disabled";
    514		};
    515
    516		dspi1: spi@2110000 {
    517			compatible = "fsl,ls1043a-dspi", "fsl,ls1021a-v1.0-dspi";
    518			#address-cells = <1>;
    519			#size-cells = <0>;
    520			reg = <0x0 0x2110000 0x0 0x10000>;
    521			interrupts = <0 65 0x4>;
    522			clock-names = "dspi";
    523			clocks = <&clockgen QORIQ_CLK_PLATFORM_PLL
    524					    QORIQ_CLK_PLL_DIV(1)>;
    525			spi-num-chipselects = <5>;
    526			big-endian;
    527			status = "disabled";
    528		};
    529
    530		i2c0: i2c@2180000 {
    531			compatible = "fsl,vf610-i2c";
    532			#address-cells = <1>;
    533			#size-cells = <0>;
    534			reg = <0x0 0x2180000 0x0 0x10000>;
    535			interrupts = <0 56 0x4>;
    536			clock-names = "i2c";
    537			clocks = <&clockgen QORIQ_CLK_PLATFORM_PLL
    538					    QORIQ_CLK_PLL_DIV(1)>;
    539			dmas = <&edma0 1 38>,
    540			       <&edma0 1 39>;
    541			dma-names = "rx", "tx";
    542			status = "disabled";
    543		};
    544
    545		i2c1: i2c@2190000 {
    546			compatible = "fsl,vf610-i2c";
    547			#address-cells = <1>;
    548			#size-cells = <0>;
    549			reg = <0x0 0x2190000 0x0 0x10000>;
    550			interrupts = <0 57 0x4>;
    551			clock-names = "i2c";
    552			clocks = <&clockgen QORIQ_CLK_PLATFORM_PLL
    553					    QORIQ_CLK_PLL_DIV(1)>;
    554			status = "disabled";
    555		};
    556
    557		i2c2: i2c@21a0000 {
    558			compatible = "fsl,vf610-i2c";
    559			#address-cells = <1>;
    560			#size-cells = <0>;
    561			reg = <0x0 0x21a0000 0x0 0x10000>;
    562			interrupts = <0 58 0x4>;
    563			clock-names = "i2c";
    564			clocks = <&clockgen QORIQ_CLK_PLATFORM_PLL
    565					    QORIQ_CLK_PLL_DIV(1)>;
    566			status = "disabled";
    567		};
    568
    569		i2c3: i2c@21b0000 {
    570			compatible = "fsl,vf610-i2c";
    571			#address-cells = <1>;
    572			#size-cells = <0>;
    573			reg = <0x0 0x21b0000 0x0 0x10000>;
    574			interrupts = <0 59 0x4>;
    575			clock-names = "i2c";
    576			clocks = <&clockgen QORIQ_CLK_PLATFORM_PLL
    577					    QORIQ_CLK_PLL_DIV(1)>;
    578			status = "disabled";
    579		};
    580
    581		duart0: serial@21c0500 {
    582			compatible = "fsl,ns16550", "ns16550a";
    583			reg = <0x00 0x21c0500 0x0 0x100>;
    584			interrupts = <0 54 0x4>;
    585			clocks = <&clockgen QORIQ_CLK_PLATFORM_PLL
    586					    QORIQ_CLK_PLL_DIV(1)>;
    587		};
    588
    589		duart1: serial@21c0600 {
    590			compatible = "fsl,ns16550", "ns16550a";
    591			reg = <0x00 0x21c0600 0x0 0x100>;
    592			interrupts = <0 54 0x4>;
    593			clocks = <&clockgen QORIQ_CLK_PLATFORM_PLL
    594					    QORIQ_CLK_PLL_DIV(1)>;
    595		};
    596
    597		duart2: serial@21d0500 {
    598			compatible = "fsl,ns16550", "ns16550a";
    599			reg = <0x0 0x21d0500 0x0 0x100>;
    600			interrupts = <0 55 0x4>;
    601			clocks = <&clockgen QORIQ_CLK_PLATFORM_PLL
    602					    QORIQ_CLK_PLL_DIV(1)>;
    603		};
    604
    605		duart3: serial@21d0600 {
    606			compatible = "fsl,ns16550", "ns16550a";
    607			reg = <0x0 0x21d0600 0x0 0x100>;
    608			interrupts = <0 55 0x4>;
    609			clocks = <&clockgen QORIQ_CLK_PLATFORM_PLL
    610					    QORIQ_CLK_PLL_DIV(1)>;
    611		};
    612
    613		gpio1: gpio@2300000 {
    614			compatible = "fsl,ls1043a-gpio", "fsl,qoriq-gpio";
    615			reg = <0x0 0x2300000 0x0 0x10000>;
    616			interrupts = <0 66 0x4>;
    617			gpio-controller;
    618			#gpio-cells = <2>;
    619			interrupt-controller;
    620			#interrupt-cells = <2>;
    621		};
    622
    623		gpio2: gpio@2310000 {
    624			compatible = "fsl,ls1043a-gpio", "fsl,qoriq-gpio";
    625			reg = <0x0 0x2310000 0x0 0x10000>;
    626			interrupts = <0 67 0x4>;
    627			gpio-controller;
    628			#gpio-cells = <2>;
    629			interrupt-controller;
    630			#interrupt-cells = <2>;
    631		};
    632
    633		gpio3: gpio@2320000 {
    634			compatible = "fsl,ls1043a-gpio", "fsl,qoriq-gpio";
    635			reg = <0x0 0x2320000 0x0 0x10000>;
    636			interrupts = <0 68 0x4>;
    637			gpio-controller;
    638			#gpio-cells = <2>;
    639			interrupt-controller;
    640			#interrupt-cells = <2>;
    641		};
    642
    643		gpio4: gpio@2330000 {
    644			compatible = "fsl,ls1043a-gpio", "fsl,qoriq-gpio";
    645			reg = <0x0 0x2330000 0x0 0x10000>;
    646			interrupts = <0 134 0x4>;
    647			gpio-controller;
    648			#gpio-cells = <2>;
    649			interrupt-controller;
    650			#interrupt-cells = <2>;
    651		};
    652
    653		uqe: uqe@2400000 {
    654			#address-cells = <1>;
    655			#size-cells = <1>;
    656			compatible = "fsl,qe", "simple-bus";
    657			ranges = <0x0 0x0 0x2400000 0x40000>;
    658			reg = <0x0 0x2400000 0x0 0x480>;
    659			brg-frequency = <100000000>;
    660			bus-frequency = <200000000>;
    661			fsl,qe-num-riscs = <1>;
    662			fsl,qe-num-snums = <28>;
    663
    664			qeic: qeic@80 {
    665				compatible = "fsl,qe-ic";
    666				reg = <0x80 0x80>;
    667				#address-cells = <0>;
    668				interrupt-controller;
    669				#interrupt-cells = <1>;
    670				interrupts = <GIC_SPI 77 IRQ_TYPE_LEVEL_HIGH>,
    671					     <GIC_SPI 77 IRQ_TYPE_LEVEL_HIGH>;
    672			};
    673
    674			si1: si@700 {
    675				#address-cells = <1>;
    676				#size-cells = <0>;
    677				compatible = "fsl,ls1043-qe-si",
    678						"fsl,t1040-qe-si";
    679				reg = <0x700 0x80>;
    680			};
    681
    682			siram1: siram@1000 {
    683				#address-cells = <1>;
    684				#size-cells = <1>;
    685				compatible = "fsl,ls1043-qe-siram",
    686						"fsl,t1040-qe-siram";
    687				reg = <0x1000 0x800>;
    688			};
    689
    690			ucc@2000 {
    691				cell-index = <1>;
    692				reg = <0x2000 0x200>;
    693				interrupts = <32>;
    694				interrupt-parent = <&qeic>;
    695			};
    696
    697			ucc@2200 {
    698				cell-index = <3>;
    699				reg = <0x2200 0x200>;
    700				interrupts = <34>;
    701				interrupt-parent = <&qeic>;
    702			};
    703
    704			muram@10000 {
    705				#address-cells = <1>;
    706				#size-cells = <1>;
    707				compatible = "fsl,qe-muram", "fsl,cpm-muram";
    708				ranges = <0x0 0x10000 0x6000>;
    709
    710				data-only@0 {
    711					compatible = "fsl,qe-muram-data",
    712					"fsl,cpm-muram-data";
    713					reg = <0x0 0x6000>;
    714				};
    715			};
    716		};
    717
    718		lpuart0: serial@2950000 {
    719			compatible = "fsl,ls1021a-lpuart";
    720			reg = <0x0 0x2950000 0x0 0x1000>;
    721			interrupts = <0 48 0x4>;
    722			clocks = <&clockgen QORIQ_CLK_SYSCLK 0>;
    723			clock-names = "ipg";
    724			status = "disabled";
    725		};
    726
    727		lpuart1: serial@2960000 {
    728			compatible = "fsl,ls1021a-lpuart";
    729			reg = <0x0 0x2960000 0x0 0x1000>;
    730			interrupts = <0 49 0x4>;
    731			clocks = <&clockgen QORIQ_CLK_PLATFORM_PLL
    732					    QORIQ_CLK_PLL_DIV(1)>;
    733			clock-names = "ipg";
    734			status = "disabled";
    735		};
    736
    737		lpuart2: serial@2970000 {
    738			compatible = "fsl,ls1021a-lpuart";
    739			reg = <0x0 0x2970000 0x0 0x1000>;
    740			interrupts = <0 50 0x4>;
    741			clocks = <&clockgen QORIQ_CLK_PLATFORM_PLL
    742					    QORIQ_CLK_PLL_DIV(1)>;
    743			clock-names = "ipg";
    744			status = "disabled";
    745		};
    746
    747		lpuart3: serial@2980000 {
    748			compatible = "fsl,ls1021a-lpuart";
    749			reg = <0x0 0x2980000 0x0 0x1000>;
    750			interrupts = <0 51 0x4>;
    751			clocks = <&clockgen QORIQ_CLK_PLATFORM_PLL
    752					    QORIQ_CLK_PLL_DIV(1)>;
    753			clock-names = "ipg";
    754			status = "disabled";
    755		};
    756
    757		lpuart4: serial@2990000 {
    758			compatible = "fsl,ls1021a-lpuart";
    759			reg = <0x0 0x2990000 0x0 0x1000>;
    760			interrupts = <0 52 0x4>;
    761			clocks = <&clockgen QORIQ_CLK_PLATFORM_PLL
    762					    QORIQ_CLK_PLL_DIV(1)>;
    763			clock-names = "ipg";
    764			status = "disabled";
    765		};
    766
    767		lpuart5: serial@29a0000 {
    768			compatible = "fsl,ls1021a-lpuart";
    769			reg = <0x0 0x29a0000 0x0 0x1000>;
    770			interrupts = <0 53 0x4>;
    771			clocks = <&clockgen QORIQ_CLK_PLATFORM_PLL
    772					    QORIQ_CLK_PLL_DIV(1)>;
    773			clock-names = "ipg";
    774			status = "disabled";
    775		};
    776
    777		wdog0: watchdog@2ad0000 {
    778			compatible = "fsl,ls1043a-wdt", "fsl,imx21-wdt";
    779			reg = <0x0 0x2ad0000 0x0 0x10000>;
    780			interrupts = <0 83 0x4>;
    781			clocks = <&clockgen QORIQ_CLK_PLATFORM_PLL
    782					    QORIQ_CLK_PLL_DIV(1)>;
    783			clock-names = "wdog";
    784			big-endian;
    785		};
    786
    787		edma0: edma@2c00000 {
    788			#dma-cells = <2>;
    789			compatible = "fsl,vf610-edma";
    790			reg = <0x0 0x2c00000 0x0 0x10000>,
    791			      <0x0 0x2c10000 0x0 0x10000>,
    792			      <0x0 0x2c20000 0x0 0x10000>;
    793			interrupts = <0 103 0x4>,
    794				     <0 103 0x4>;
    795			interrupt-names = "edma-tx", "edma-err";
    796			dma-channels = <32>;
    797			big-endian;
    798			clock-names = "dmamux0", "dmamux1";
    799			clocks = <&clockgen QORIQ_CLK_PLATFORM_PLL
    800					    QORIQ_CLK_PLL_DIV(1)>,
    801				 <&clockgen QORIQ_CLK_PLATFORM_PLL
    802					    QORIQ_CLK_PLL_DIV(1)>;
    803		};
    804
    805		usb0: usb@2f00000 {
    806			compatible = "snps,dwc3";
    807			reg = <0x0 0x2f00000 0x0 0x10000>;
    808			interrupts = <0 60 0x4>;
    809			dr_mode = "host";
    810			snps,quirk-frame-length-adjustment = <0x20>;
    811			snps,dis_rxdet_inp3_quirk;
    812			snps,incr-burst-type-adjustment = <1>, <4>, <8>, <16>;
    813			status = "disabled";
    814		};
    815
    816		usb1: usb@3000000 {
    817			compatible = "snps,dwc3";
    818			reg = <0x0 0x3000000 0x0 0x10000>;
    819			interrupts = <0 61 0x4>;
    820			dr_mode = "host";
    821			snps,quirk-frame-length-adjustment = <0x20>;
    822			snps,dis_rxdet_inp3_quirk;
    823			snps,incr-burst-type-adjustment = <1>, <4>, <8>, <16>;
    824			status = "disabled";
    825		};
    826
    827		usb2: usb@3100000 {
    828			compatible = "snps,dwc3";
    829			reg = <0x0 0x3100000 0x0 0x10000>;
    830			interrupts = <0 63 0x4>;
    831			dr_mode = "host";
    832			snps,quirk-frame-length-adjustment = <0x20>;
    833			snps,dis_rxdet_inp3_quirk;
    834			snps,incr-burst-type-adjustment = <1>, <4>, <8>, <16>;
    835			status = "disabled";
    836		};
    837
    838		sata: sata@3200000 {
    839			compatible = "fsl,ls1043a-ahci";
    840			reg = <0x0 0x3200000 0x0 0x10000>,
    841				<0x0 0x20140520 0x0 0x4>;
    842			reg-names = "ahci", "sata-ecc";
    843			interrupts = <0 69 0x4>;
    844			clocks = <&clockgen QORIQ_CLK_PLATFORM_PLL
    845					    QORIQ_CLK_PLL_DIV(1)>;
    846			dma-coherent;
    847		};
    848
    849		msi1: msi-controller1@1571000 {
    850			compatible = "fsl,ls1043a-msi";
    851			reg = <0x0 0x1571000 0x0 0x8>;
    852			msi-controller;
    853			interrupts = <0 116 0x4>;
    854		};
    855
    856		msi2: msi-controller2@1572000 {
    857			compatible = "fsl,ls1043a-msi";
    858			reg = <0x0 0x1572000 0x0 0x8>;
    859			msi-controller;
    860			interrupts = <0 126 0x4>;
    861		};
    862
    863		msi3: msi-controller3@1573000 {
    864			compatible = "fsl,ls1043a-msi";
    865			reg = <0x0 0x1573000 0x0 0x8>;
    866			msi-controller;
    867			interrupts = <0 160 0x4>;
    868		};
    869
    870		pcie1: pcie@3400000 {
    871			compatible = "fsl,ls1043a-pcie";
    872			reg = <0x00 0x03400000 0x0 0x00100000>, /* controller registers */
    873			      <0x40 0x00000000 0x0 0x00002000>; /* configuration space */
    874			reg-names = "regs", "config";
    875			interrupts = <0 118 0x4>, /* controller interrupt */
    876				     <0 117 0x4>; /* PME interrupt */
    877			interrupt-names = "intr", "pme";
    878			#address-cells = <3>;
    879			#size-cells = <2>;
    880			device_type = "pci";
    881			dma-coherent;
    882			num-viewport = <6>;
    883			bus-range = <0x0 0xff>;
    884			ranges = <0x81000000 0x0 0x00000000 0x40 0x00010000 0x0 0x00010000   /* downstream I/O */
    885				  0x82000000 0x0 0x40000000 0x40 0x40000000 0x0 0x40000000>; /* non-prefetchable memory */
    886			msi-parent = <&msi1>, <&msi2>, <&msi3>;
    887			#interrupt-cells = <1>;
    888			interrupt-map-mask = <0 0 0 7>;
    889			interrupt-map = <0000 0 0 1 &gic 0 110 0x4>,
    890					<0000 0 0 2 &gic 0 111 0x4>,
    891					<0000 0 0 3 &gic 0 112 0x4>,
    892					<0000 0 0 4 &gic 0 113 0x4>;
    893			status = "disabled";
    894		};
    895
    896		pcie2: pcie@3500000 {
    897			compatible = "fsl,ls1043a-pcie";
    898			reg = <0x00 0x03500000 0x0 0x00100000>, /* controller registers */
    899			      <0x48 0x00000000 0x0 0x00002000>; /* configuration space */
    900			reg-names = "regs", "config";
    901			interrupts = <0 128 0x4>,
    902				     <0 127 0x4>;
    903			interrupt-names = "intr", "pme";
    904			#address-cells = <3>;
    905			#size-cells = <2>;
    906			device_type = "pci";
    907			dma-coherent;
    908			num-viewport = <6>;
    909			bus-range = <0x0 0xff>;
    910			ranges = <0x81000000 0x0 0x00000000 0x48 0x00010000 0x0 0x00010000   /* downstream I/O */
    911				  0x82000000 0x0 0x40000000 0x48 0x40000000 0x0 0x40000000>; /* non-prefetchable memory */
    912			msi-parent = <&msi1>, <&msi2>, <&msi3>;
    913			#interrupt-cells = <1>;
    914			interrupt-map-mask = <0 0 0 7>;
    915			interrupt-map = <0000 0 0 1 &gic 0 120  0x4>,
    916					<0000 0 0 2 &gic 0 121 0x4>,
    917					<0000 0 0 3 &gic 0 122 0x4>,
    918					<0000 0 0 4 &gic 0 123 0x4>;
    919			status = "disabled";
    920		};
    921
    922		pcie3: pcie@3600000 {
    923			compatible = "fsl,ls1043a-pcie";
    924			reg = <0x00 0x03600000 0x0 0x00100000>, /* controller registers */
    925			      <0x50 0x00000000 0x0 0x00002000>; /* configuration space */
    926			reg-names = "regs", "config";
    927			interrupts = <0 162 0x4>,
    928				     <0 161 0x4>;
    929			interrupt-names = "intr", "pme";
    930			#address-cells = <3>;
    931			#size-cells = <2>;
    932			device_type = "pci";
    933			dma-coherent;
    934			num-viewport = <6>;
    935			bus-range = <0x0 0xff>;
    936			ranges = <0x81000000 0x0 0x00000000 0x50 0x00010000 0x0 0x00010000   /* downstream I/O */
    937				  0x82000000 0x0 0x40000000 0x50 0x40000000 0x0 0x40000000>; /* non-prefetchable memory */
    938			msi-parent = <&msi1>, <&msi2>, <&msi3>;
    939			#interrupt-cells = <1>;
    940			interrupt-map-mask = <0 0 0 7>;
    941			interrupt-map = <0000 0 0 1 &gic 0 154 0x4>,
    942					<0000 0 0 2 &gic 0 155 0x4>,
    943					<0000 0 0 3 &gic 0 156 0x4>,
    944					<0000 0 0 4 &gic 0 157 0x4>;
    945			status = "disabled";
    946		};
    947
    948		qdma: dma-controller@8380000 {
    949			compatible = "fsl,ls1021a-qdma", "fsl,ls1043a-qdma";
    950			reg = <0x0 0x8380000 0x0 0x1000>, /* Controller regs */
    951			      <0x0 0x8390000 0x0 0x10000>, /* Status regs */
    952			      <0x0 0x83a0000 0x0 0x40000>; /* Block regs */
    953			interrupts = <GIC_SPI 153 IRQ_TYPE_LEVEL_HIGH>,
    954				     <GIC_SPI 39 IRQ_TYPE_LEVEL_HIGH>,
    955				     <GIC_SPI 40 IRQ_TYPE_LEVEL_HIGH>,
    956				     <GIC_SPI 41 IRQ_TYPE_LEVEL_HIGH>,
    957				     <GIC_SPI 42 IRQ_TYPE_LEVEL_HIGH>;
    958			interrupt-names = "qdma-error", "qdma-queue0",
    959				"qdma-queue1", "qdma-queue2", "qdma-queue3";
    960			dma-channels = <8>;
    961			block-number = <1>;
    962			block-offset = <0x10000>;
    963			fsl,dma-queues = <2>;
    964			status-sizes = <64>;
    965			queue-sizes = <64 64>;
    966			big-endian;
    967		};
    968
    969		rcpm: power-controller@1ee2140 {
    970			compatible = "fsl,ls1043a-rcpm", "fsl,qoriq-rcpm-2.1+";
    971			reg = <0x0 0x1ee2140 0x0 0x4>;
    972			#fsl,rcpm-wakeup-cells = <1>;
    973		};
    974
    975		ftm_alarm0: timer@29d0000 {
    976			compatible = "fsl,ls1043a-ftm-alarm";
    977			reg = <0x0 0x29d0000 0x0 0x10000>;
    978			fsl,rcpm-wakeup = <&rcpm 0x20000>;
    979			interrupts = <GIC_SPI 86 IRQ_TYPE_LEVEL_HIGH>;
    980			big-endian;
    981		};
    982	};
    983
    984	firmware {
    985		optee {
    986			compatible = "linaro,optee-tz";
    987			method = "smc";
    988		};
    989	};
    990
    991};
    992
    993#include "qoriq-qman-portals.dtsi"
    994#include "qoriq-bman-portals.dtsi"