Back to home page

OSCL-LXR

 
 

    


0001 // SPDX-License-Identifier: (GPL-2.0+ OR MIT)
0002 /*
0003  * Device Tree Include file for NXP Layerscape-1046A family SoC.
0004  *
0005  * Copyright 2016 Freescale Semiconductor, Inc.
0006  * Copyright 2018, 2020 NXP
0007  *
0008  * Mingkai Hu <mingkai.hu@nxp.com>
0009  */
0010 
0011 #include <dt-bindings/clock/fsl,qoriq-clockgen.h>
0012 #include <dt-bindings/interrupt-controller/arm-gic.h>
0013 #include <dt-bindings/thermal/thermal.h>
0014 
0015 / {
0016         compatible = "fsl,ls1046a";
0017         interrupt-parent = <&gic>;
0018         #address-cells = <2>;
0019         #size-cells = <2>;
0020 
0021         aliases {
0022                 crypto = &crypto;
0023                 fman0 = &fman0;
0024                 ethernet0 = &enet0;
0025                 ethernet1 = &enet1;
0026                 ethernet2 = &enet2;
0027                 ethernet3 = &enet3;
0028                 ethernet4 = &enet4;
0029                 ethernet5 = &enet5;
0030                 ethernet6 = &enet6;
0031                 ethernet7 = &enet7;
0032                 rtc1 = &ftm_alarm0;
0033         };
0034 
0035         cpus {
0036                 #address-cells = <1>;
0037                 #size-cells = <0>;
0038 
0039                 cpu0: cpu@0 {
0040                         device_type = "cpu";
0041                         compatible = "arm,cortex-a72";
0042                         reg = <0x0>;
0043                         clocks = <&clockgen QORIQ_CLK_CMUX 0>;
0044                         next-level-cache = <&l2>;
0045                         cpu-idle-states = <&CPU_PH20>;
0046                         #cooling-cells = <2>;
0047                 };
0048 
0049                 cpu1: cpu@1 {
0050                         device_type = "cpu";
0051                         compatible = "arm,cortex-a72";
0052                         reg = <0x1>;
0053                         clocks = <&clockgen QORIQ_CLK_CMUX 0>;
0054                         next-level-cache = <&l2>;
0055                         cpu-idle-states = <&CPU_PH20>;
0056                         #cooling-cells = <2>;
0057                 };
0058 
0059                 cpu2: cpu@2 {
0060                         device_type = "cpu";
0061                         compatible = "arm,cortex-a72";
0062                         reg = <0x2>;
0063                         clocks = <&clockgen QORIQ_CLK_CMUX 0>;
0064                         next-level-cache = <&l2>;
0065                         cpu-idle-states = <&CPU_PH20>;
0066                         #cooling-cells = <2>;
0067                 };
0068 
0069                 cpu3: cpu@3 {
0070                         device_type = "cpu";
0071                         compatible = "arm,cortex-a72";
0072                         reg = <0x3>;
0073                         clocks = <&clockgen QORIQ_CLK_CMUX 0>;
0074                         next-level-cache = <&l2>;
0075                         cpu-idle-states = <&CPU_PH20>;
0076                         #cooling-cells = <2>;
0077                 };
0078 
0079                 l2: l2-cache {
0080                         compatible = "cache";
0081                 };
0082         };
0083 
0084         idle-states {
0085                 /*
0086                  * PSCI node is not added default, U-boot will add missing
0087                  * parts if it determines to use PSCI.
0088                  */
0089                 entry-method = "psci";
0090 
0091                 CPU_PH20: cpu-ph20 {
0092                         compatible = "arm,idle-state";
0093                         idle-state-name = "PH20";
0094                         arm,psci-suspend-param = <0x0>;
0095                         entry-latency-us = <1000>;
0096                         exit-latency-us = <1000>;
0097                         min-residency-us = <3000>;
0098                 };
0099         };
0100 
0101         memory@80000000 {
0102                 device_type = "memory";
0103                 /* Real size will be filled by bootloader */
0104                 reg = <0x0 0x80000000 0x0 0x0>;
0105         };
0106 
0107         sysclk: sysclk {
0108                 compatible = "fixed-clock";
0109                 #clock-cells = <0>;
0110                 clock-frequency = <100000000>;
0111                 clock-output-names = "sysclk";
0112         };
0113 
0114         reboot {
0115                 compatible = "syscon-reboot";
0116                 regmap = <&dcfg>;
0117                 offset = <0xb0>;
0118                 mask = <0x02>;
0119         };
0120 
0121         thermal-zones {
0122                 ddr-controller {
0123                         polling-delay-passive = <1000>;
0124                         polling-delay = <5000>;
0125                         thermal-sensors = <&tmu 0>;
0126 
0127                         trips {
0128                                 ddr-ctrler-alert {
0129                                         temperature = <85000>;
0130                                         hysteresis = <2000>;
0131                                         type = "passive";
0132                                 };
0133 
0134                                 ddr-ctrler-crit {
0135                                         temperature = <95000>;
0136                                         hysteresis = <2000>;
0137                                         type = "critical";
0138                                 };
0139                         };
0140                 };
0141 
0142                 serdes {
0143                         polling-delay-passive = <1000>;
0144                         polling-delay = <5000>;
0145                         thermal-sensors = <&tmu 1>;
0146 
0147                         trips {
0148                                 serdes-alert {
0149                                         temperature = <85000>;
0150                                         hysteresis = <2000>;
0151                                         type = "passive";
0152                                 };
0153 
0154                                 serdes-crit {
0155                                         temperature = <95000>;
0156                                         hysteresis = <2000>;
0157                                         type = "critical";
0158                                 };
0159                         };
0160                 };
0161 
0162                 fman {
0163                         polling-delay-passive = <1000>;
0164                         polling-delay = <5000>;
0165                         thermal-sensors = <&tmu 2>;
0166 
0167                         trips {
0168                                 fman-alert {
0169                                         temperature = <85000>;
0170                                         hysteresis = <2000>;
0171                                         type = "passive";
0172                                 };
0173 
0174                                 fman-crit {
0175                                         temperature = <95000>;
0176                                         hysteresis = <2000>;
0177                                         type = "critical";
0178                                 };
0179                         };
0180                 };
0181 
0182                 core-cluster {
0183                         polling-delay-passive = <1000>;
0184                         polling-delay = <5000>;
0185                         thermal-sensors = <&tmu 3>;
0186 
0187                         trips {
0188                                 core_cluster_alert: core-cluster-alert {
0189                                         temperature = <85000>;
0190                                         hysteresis = <2000>;
0191                                         type = "passive";
0192                                 };
0193 
0194                                 core_cluster_crit: core-cluster-crit {
0195                                         temperature = <95000>;
0196                                         hysteresis = <2000>;
0197                                         type = "critical";
0198                                 };
0199                         };
0200 
0201                         cooling-maps {
0202                                 map0 {
0203                                         trip = <&core_cluster_alert>;
0204                                         cooling-device =
0205                                                 <&cpu0 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
0206                                                 <&cpu1 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
0207                                                 <&cpu2 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
0208                                                 <&cpu3 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
0209                                 };
0210                         };
0211                 };
0212 
0213                 sec {
0214                         polling-delay-passive = <1000>;
0215                         polling-delay = <5000>;
0216                         thermal-sensors = <&tmu 4>;
0217 
0218                         trips {
0219                                 sec-alert {
0220                                         temperature = <85000>;
0221                                         hysteresis = <2000>;
0222                                         type = "passive";
0223                                 };
0224 
0225                                 sec-crit {
0226                                         temperature = <95000>;
0227                                         hysteresis = <2000>;
0228                                         type = "critical";
0229                                 };
0230                         };
0231                 };
0232         };
0233 
0234         timer {
0235                 compatible = "arm,armv8-timer";
0236                 interrupts = <GIC_PPI 13 (GIC_CPU_MASK_RAW(0xf) |
0237                                           IRQ_TYPE_LEVEL_LOW)>,
0238                              <GIC_PPI 14 (GIC_CPU_MASK_RAW(0xf) |
0239                                           IRQ_TYPE_LEVEL_LOW)>,
0240                              <GIC_PPI 11 (GIC_CPU_MASK_RAW(0xf) |
0241                                           IRQ_TYPE_LEVEL_LOW)>,
0242                              <GIC_PPI 10 (GIC_CPU_MASK_RAW(0xf) |
0243                                           IRQ_TYPE_LEVEL_LOW)>;
0244         };
0245 
0246         pmu {
0247                 compatible = "arm,cortex-a72-pmu";
0248                 interrupts = <GIC_SPI 106 IRQ_TYPE_LEVEL_HIGH>,
0249                              <GIC_SPI 107 IRQ_TYPE_LEVEL_HIGH>,
0250                              <GIC_SPI 95 IRQ_TYPE_LEVEL_HIGH>,
0251                              <GIC_SPI 97 IRQ_TYPE_LEVEL_HIGH>;
0252                 interrupt-affinity = <&cpu0>,
0253                                      <&cpu1>,
0254                                      <&cpu2>,
0255                                      <&cpu3>;
0256         };
0257 
0258         gic: interrupt-controller@1400000 {
0259                 compatible = "arm,gic-400";
0260                 #interrupt-cells = <3>;
0261                 interrupt-controller;
0262                 reg = <0x0 0x1410000 0 0x10000>, /* GICD */
0263                       <0x0 0x1420000 0 0x20000>, /* GICC */
0264                       <0x0 0x1440000 0 0x20000>, /* GICH */
0265                       <0x0 0x1460000 0 0x20000>; /* GICV */
0266                 interrupts = <GIC_PPI 9 (GIC_CPU_MASK_RAW(0xf) |
0267                                          IRQ_TYPE_LEVEL_LOW)>;
0268         };
0269 
0270         soc: soc {
0271                 compatible = "simple-bus";
0272                 #address-cells = <2>;
0273                 #size-cells = <2>;
0274                 ranges;
0275 
0276                 ddr: memory-controller@1080000 {
0277                         compatible = "fsl,qoriq-memory-controller";
0278                         reg = <0x0 0x1080000 0x0 0x1000>;
0279                         interrupts = <GIC_SPI 144 IRQ_TYPE_LEVEL_HIGH>;
0280                         big-endian;
0281                 };
0282 
0283                 ifc: memory-controller@1530000 {
0284                         compatible = "fsl,ifc";
0285                         reg = <0x0 0x1530000 0x0 0x10000>;
0286                         interrupts = <GIC_SPI 43 IRQ_TYPE_LEVEL_HIGH>;
0287                         status = "disabled";
0288                 };
0289 
0290                 qspi: spi@1550000 {
0291                         compatible = "fsl,ls1021a-qspi";
0292                         #address-cells = <1>;
0293                         #size-cells = <0>;
0294                         reg = <0x0 0x1550000 0x0 0x10000>,
0295                                 <0x0 0x40000000 0x0 0x10000000>;
0296                         reg-names = "QuadSPI", "QuadSPI-memory";
0297                         interrupts = <GIC_SPI 99 IRQ_TYPE_LEVEL_HIGH>;
0298                         clock-names = "qspi_en", "qspi";
0299                         clocks = <&clockgen QORIQ_CLK_PLATFORM_PLL
0300                                             QORIQ_CLK_PLL_DIV(2)>,
0301                                  <&clockgen QORIQ_CLK_PLATFORM_PLL
0302                                             QORIQ_CLK_PLL_DIV(2)>;
0303                         status = "disabled";
0304                 };
0305 
0306                 esdhc: esdhc@1560000 {
0307                         compatible = "fsl,ls1046a-esdhc", "fsl,esdhc";
0308                         reg = <0x0 0x1560000 0x0 0x10000>;
0309                         interrupts = <GIC_SPI 62 IRQ_TYPE_LEVEL_HIGH>;
0310                         clocks = <&clockgen QORIQ_CLK_HWACCEL 1>;
0311                         voltage-ranges = <1800 1800 3300 3300>;
0312                         sdhci,auto-cmd12;
0313                         big-endian;
0314                         bus-width = <4>;
0315                 };
0316 
0317                 scfg: scfg@1570000 {
0318                         compatible = "fsl,ls1046a-scfg", "syscon";
0319                         reg = <0x0 0x1570000 0x0 0x10000>;
0320                         big-endian;
0321                         #address-cells = <1>;
0322                         #size-cells = <1>;
0323                         ranges = <0x0 0x0 0x1570000 0x10000>;
0324 
0325                         extirq: interrupt-controller@1ac {
0326                                 compatible = "fsl,ls1046a-extirq", "fsl,ls1043a-extirq";
0327                                 #interrupt-cells = <2>;
0328                                 #address-cells = <0>;
0329                                 interrupt-controller;
0330                                 reg = <0x1ac 4>;
0331                                 interrupt-map =
0332                                         <0 0 &gic GIC_SPI 131 IRQ_TYPE_LEVEL_HIGH>,
0333                                         <1 0 &gic GIC_SPI 132 IRQ_TYPE_LEVEL_HIGH>,
0334                                         <2 0 &gic GIC_SPI 133 IRQ_TYPE_LEVEL_HIGH>,
0335                                         <3 0 &gic GIC_SPI 135 IRQ_TYPE_LEVEL_HIGH>,
0336                                         <4 0 &gic GIC_SPI 136 IRQ_TYPE_LEVEL_HIGH>,
0337                                         <5 0 &gic GIC_SPI 137 IRQ_TYPE_LEVEL_HIGH>,
0338                                         <6 0 &gic GIC_SPI 145 IRQ_TYPE_LEVEL_HIGH>,
0339                                         <7 0 &gic GIC_SPI 146 IRQ_TYPE_LEVEL_HIGH>,
0340                                         <8 0 &gic GIC_SPI 147 IRQ_TYPE_LEVEL_HIGH>,
0341                                         <9 0 &gic GIC_SPI 149 IRQ_TYPE_LEVEL_HIGH>,
0342                                         <10 0 &gic GIC_SPI 150 IRQ_TYPE_LEVEL_HIGH>,
0343                                         <11 0 &gic GIC_SPI 151 IRQ_TYPE_LEVEL_HIGH>;
0344                                 interrupt-map-mask = <0xf 0x0>;
0345                         };
0346                 };
0347 
0348                 crypto: crypto@1700000 {
0349                         compatible = "fsl,sec-v5.4", "fsl,sec-v5.0",
0350                                      "fsl,sec-v4.0";
0351                         fsl,sec-era = <8>;
0352                         #address-cells = <1>;
0353                         #size-cells = <1>;
0354                         ranges = <0x0 0x00 0x1700000 0x100000>;
0355                         reg = <0x00 0x1700000 0x0 0x100000>;
0356                         interrupts = <GIC_SPI 75 IRQ_TYPE_LEVEL_HIGH>;
0357                         dma-coherent;
0358 
0359                         sec_jr0: jr@10000 {
0360                                 compatible = "fsl,sec-v5.4-job-ring",
0361                                              "fsl,sec-v5.0-job-ring",
0362                                              "fsl,sec-v4.0-job-ring";
0363                                 reg = <0x10000 0x10000>;
0364                                 interrupts = <GIC_SPI 71 IRQ_TYPE_LEVEL_HIGH>;
0365                         };
0366 
0367                         sec_jr1: jr@20000 {
0368                                 compatible = "fsl,sec-v5.4-job-ring",
0369                                              "fsl,sec-v5.0-job-ring",
0370                                              "fsl,sec-v4.0-job-ring";
0371                                 reg = <0x20000 0x10000>;
0372                                 interrupts = <GIC_SPI 72 IRQ_TYPE_LEVEL_HIGH>;
0373                         };
0374 
0375                         sec_jr2: jr@30000 {
0376                                 compatible = "fsl,sec-v5.4-job-ring",
0377                                              "fsl,sec-v5.0-job-ring",
0378                                              "fsl,sec-v4.0-job-ring";
0379                                 reg = <0x30000 0x10000>;
0380                                 interrupts = <GIC_SPI 73 IRQ_TYPE_LEVEL_HIGH>;
0381                         };
0382 
0383                         sec_jr3: jr@40000 {
0384                                 compatible = "fsl,sec-v5.4-job-ring",
0385                                              "fsl,sec-v5.0-job-ring",
0386                                              "fsl,sec-v4.0-job-ring";
0387                                 reg = <0x40000 0x10000>;
0388                                 interrupts = <GIC_SPI 74 IRQ_TYPE_LEVEL_HIGH>;
0389                         };
0390                 };
0391 
0392                 qman: qman@1880000 {
0393                         compatible = "fsl,qman";
0394                         reg = <0x0 0x1880000 0x0 0x10000>;
0395                         interrupts = <GIC_SPI 45 IRQ_TYPE_LEVEL_HIGH>;
0396                         memory-region = <&qman_fqd &qman_pfdr>;
0397 
0398                 };
0399 
0400                 bman: bman@1890000 {
0401                         compatible = "fsl,bman";
0402                         reg = <0x0 0x1890000 0x0 0x10000>;
0403                         interrupts = <GIC_SPI 45 IRQ_TYPE_LEVEL_HIGH>;
0404                         memory-region = <&bman_fbpr>;
0405 
0406                 };
0407 
0408                 qportals: qman-portals@500000000 {
0409                         ranges = <0x0 0x5 0x00000000 0x8000000>;
0410                 };
0411 
0412                 bportals: bman-portals@508000000 {
0413                         ranges = <0x0 0x5 0x08000000 0x8000000>;
0414                 };
0415 
0416                 sfp: efuse@1e80000 {
0417                         compatible = "fsl,ls1021a-sfp";
0418                         reg = <0x0 0x1e80000 0x0 0x10000>;
0419                         clocks = <&clockgen QORIQ_CLK_PLATFORM_PLL
0420                                             QORIQ_CLK_PLL_DIV(4)>;
0421                         clock-names = "sfp";
0422                 };
0423 
0424                 dcfg: dcfg@1ee0000 {
0425                         compatible = "fsl,ls1046a-dcfg", "syscon";
0426                         reg = <0x0 0x1ee0000 0x0 0x1000>;
0427                         big-endian;
0428                 };
0429 
0430                 clockgen: clocking@1ee1000 {
0431                         compatible = "fsl,ls1046a-clockgen";
0432                         reg = <0x0 0x1ee1000 0x0 0x1000>;
0433                         #clock-cells = <2>;
0434                         clocks = <&sysclk>;
0435                 };
0436 
0437                 tmu: tmu@1f00000 {
0438                         compatible = "fsl,qoriq-tmu";
0439                         reg = <0x0 0x1f00000 0x0 0x10000>;
0440                         interrupts = <0 33 0x4>;
0441                         fsl,tmu-range = <0xb0000 0x9002a 0x6004c 0x70062>;
0442                         fsl,tmu-calibration =
0443                                 /* Calibration data group 1 */
0444                                 <0x00000000 0x00000023
0445                                 0x00000001 0x00000029
0446                                 0x00000002 0x0000002f
0447                                 0x00000003 0x00000036
0448                                 0x00000004 0x0000003c
0449                                 0x00000005 0x00000042
0450                                 0x00000006 0x00000049
0451                                 0x00000007 0x0000004f
0452                                 0x00000008 0x00000055
0453                                 0x00000009 0x0000005c
0454                                 0x0000000a 0x00000062
0455                                 0x0000000b 0x00000068
0456                                 /* Calibration data group 2 */
0457                                 0x00010000 0x00000022
0458                                 0x00010001 0x0000002a
0459                                 0x00010002 0x00000032
0460                                 0x00010003 0x0000003a
0461                                 0x00010004 0x00000042
0462                                 0x00010005 0x0000004a
0463                                 0x00010006 0x00000052
0464                                 0x00010007 0x0000005a
0465                                 0x00010008 0x00000062
0466                                 0x00010009 0x0000006a
0467                                 /* Calibration data group 3 */
0468                                 0x00020000 0x00000021
0469                                 0x00020001 0x0000002b
0470                                 0x00020002 0x00000035
0471                                 0x00020003 0x0000003e
0472                                 0x00020004 0x00000048
0473                                 0x00020005 0x00000052
0474                                 0x00020006 0x0000005c
0475                                 /* Calibration data group 4 */
0476                                 0x00030000 0x00000011
0477                                 0x00030001 0x0000001a
0478                                 0x00030002 0x00000024
0479                                 0x00030003 0x0000002e
0480                                 0x00030004 0x00000038
0481                                 0x00030005 0x00000042
0482                                 0x00030006 0x0000004c
0483                                 0x00030007 0x00000056>;
0484                         big-endian;
0485                         #thermal-sensor-cells = <1>;
0486                 };
0487 
0488                 dspi: spi@2100000 {
0489                         compatible = "fsl,ls1021a-v1.0-dspi";
0490                         #address-cells = <1>;
0491                         #size-cells = <0>;
0492                         reg = <0x0 0x2100000 0x0 0x10000>;
0493                         interrupts = <GIC_SPI 64 IRQ_TYPE_LEVEL_HIGH>;
0494                         clock-names = "dspi";
0495                         clocks = <&clockgen QORIQ_CLK_PLATFORM_PLL
0496                                             QORIQ_CLK_PLL_DIV(2)>;
0497                         spi-num-chipselects = <5>;
0498                         big-endian;
0499                         status = "disabled";
0500                 };
0501 
0502                 i2c0: i2c@2180000 {
0503                         compatible = "fsl,vf610-i2c";
0504                         #address-cells = <1>;
0505                         #size-cells = <0>;
0506                         reg = <0x0 0x2180000 0x0 0x10000>;
0507                         interrupts = <GIC_SPI 56 IRQ_TYPE_LEVEL_HIGH>;
0508                         clocks = <&clockgen QORIQ_CLK_PLATFORM_PLL
0509                                             QORIQ_CLK_PLL_DIV(2)>;
0510                         dmas = <&edma0 1 38>,
0511                                <&edma0 1 39>;
0512                         dma-names = "rx", "tx";
0513                         status = "disabled";
0514                 };
0515 
0516                 i2c1: i2c@2190000 {
0517                         compatible = "fsl,vf610-i2c";
0518                         #address-cells = <1>;
0519                         #size-cells = <0>;
0520                         reg = <0x0 0x2190000 0x0 0x10000>;
0521                         interrupts = <GIC_SPI 57 IRQ_TYPE_LEVEL_HIGH>;
0522                         clocks = <&clockgen QORIQ_CLK_PLATFORM_PLL
0523                                             QORIQ_CLK_PLL_DIV(2)>;
0524                         status = "disabled";
0525                 };
0526 
0527                 i2c2: i2c@21a0000 {
0528                         compatible = "fsl,vf610-i2c";
0529                         #address-cells = <1>;
0530                         #size-cells = <0>;
0531                         reg = <0x0 0x21a0000 0x0 0x10000>;
0532                         interrupts = <GIC_SPI 58 IRQ_TYPE_LEVEL_HIGH>;
0533                         clocks = <&clockgen QORIQ_CLK_PLATFORM_PLL
0534                                             QORIQ_CLK_PLL_DIV(2)>;
0535                         status = "disabled";
0536                 };
0537 
0538                 i2c3: i2c@21b0000 {
0539                         compatible = "fsl,vf610-i2c";
0540                         #address-cells = <1>;
0541                         #size-cells = <0>;
0542                         reg = <0x0 0x21b0000 0x0 0x10000>;
0543                         interrupts = <GIC_SPI 59 IRQ_TYPE_LEVEL_HIGH>;
0544                         clocks = <&clockgen QORIQ_CLK_PLATFORM_PLL
0545                                             QORIQ_CLK_PLL_DIV(2)>;
0546                         status = "disabled";
0547                 };
0548 
0549                 duart0: serial@21c0500 {
0550                         compatible = "fsl,ns16550", "ns16550a";
0551                         reg = <0x00 0x21c0500 0x0 0x100>;
0552                         interrupts = <GIC_SPI 54 IRQ_TYPE_LEVEL_HIGH>;
0553                         clocks = <&clockgen QORIQ_CLK_PLATFORM_PLL
0554                                             QORIQ_CLK_PLL_DIV(2)>;
0555                         status = "disabled";
0556                 };
0557 
0558                 duart1: serial@21c0600 {
0559                         compatible = "fsl,ns16550", "ns16550a";
0560                         reg = <0x00 0x21c0600 0x0 0x100>;
0561                         interrupts = <GIC_SPI 54 IRQ_TYPE_LEVEL_HIGH>;
0562                         clocks = <&clockgen QORIQ_CLK_PLATFORM_PLL
0563                                             QORIQ_CLK_PLL_DIV(2)>;
0564                         status = "disabled";
0565                 };
0566 
0567                 duart2: serial@21d0500 {
0568                         compatible = "fsl,ns16550", "ns16550a";
0569                         reg = <0x0 0x21d0500 0x0 0x100>;
0570                         interrupts = <GIC_SPI 55 IRQ_TYPE_LEVEL_HIGH>;
0571                         clocks = <&clockgen QORIQ_CLK_PLATFORM_PLL
0572                                             QORIQ_CLK_PLL_DIV(2)>;
0573                         status = "disabled";
0574                 };
0575 
0576                 duart3: serial@21d0600 {
0577                         compatible = "fsl,ns16550", "ns16550a";
0578                         reg = <0x0 0x21d0600 0x0 0x100>;
0579                         interrupts = <GIC_SPI 55 IRQ_TYPE_LEVEL_HIGH>;
0580                         clocks = <&clockgen QORIQ_CLK_PLATFORM_PLL
0581                                             QORIQ_CLK_PLL_DIV(2)>;
0582                         status = "disabled";
0583                 };
0584 
0585                 gpio0: gpio@2300000 {
0586                         compatible = "fsl,qoriq-gpio";
0587                         reg = <0x0 0x2300000 0x0 0x10000>;
0588                         interrupts = <GIC_SPI 66 IRQ_TYPE_LEVEL_HIGH>;
0589                         gpio-controller;
0590                         #gpio-cells = <2>;
0591                         interrupt-controller;
0592                         #interrupt-cells = <2>;
0593                 };
0594 
0595                 gpio1: gpio@2310000 {
0596                         compatible = "fsl,qoriq-gpio";
0597                         reg = <0x0 0x2310000 0x0 0x10000>;
0598                         interrupts = <GIC_SPI 67 IRQ_TYPE_LEVEL_HIGH>;
0599                         gpio-controller;
0600                         #gpio-cells = <2>;
0601                         interrupt-controller;
0602                         #interrupt-cells = <2>;
0603                 };
0604 
0605                 gpio2: gpio@2320000 {
0606                         compatible = "fsl,qoriq-gpio";
0607                         reg = <0x0 0x2320000 0x0 0x10000>;
0608                         interrupts = <GIC_SPI 68 IRQ_TYPE_LEVEL_HIGH>;
0609                         gpio-controller;
0610                         #gpio-cells = <2>;
0611                         interrupt-controller;
0612                         #interrupt-cells = <2>;
0613                 };
0614 
0615                 gpio3: gpio@2330000 {
0616                         compatible = "fsl,qoriq-gpio";
0617                         reg = <0x0 0x2330000 0x0 0x10000>;
0618                         interrupts = <GIC_SPI 134 IRQ_TYPE_LEVEL_HIGH>;
0619                         gpio-controller;
0620                         #gpio-cells = <2>;
0621                         interrupt-controller;
0622                         #interrupt-cells = <2>;
0623                 };
0624 
0625                 lpuart0: serial@2950000 {
0626                         compatible = "fsl,ls1021a-lpuart";
0627                         reg = <0x0 0x2950000 0x0 0x1000>;
0628                         interrupts = <GIC_SPI 48 IRQ_TYPE_LEVEL_HIGH>;
0629                         clocks = <&clockgen QORIQ_CLK_PLATFORM_PLL
0630                                             QORIQ_CLK_PLL_DIV(1)>;
0631                         clock-names = "ipg";
0632                         status = "disabled";
0633                 };
0634 
0635                 lpuart1: serial@2960000 {
0636                         compatible = "fsl,ls1021a-lpuart";
0637                         reg = <0x0 0x2960000 0x0 0x1000>;
0638                         interrupts = <GIC_SPI 49 IRQ_TYPE_LEVEL_HIGH>;
0639                         clocks = <&clockgen QORIQ_CLK_PLATFORM_PLL
0640                                             QORIQ_CLK_PLL_DIV(2)>;
0641                         clock-names = "ipg";
0642                         status = "disabled";
0643                 };
0644 
0645                 lpuart2: serial@2970000 {
0646                         compatible = "fsl,ls1021a-lpuart";
0647                         reg = <0x0 0x2970000 0x0 0x1000>;
0648                         interrupts = <GIC_SPI 50 IRQ_TYPE_LEVEL_HIGH>;
0649                         clocks = <&clockgen QORIQ_CLK_PLATFORM_PLL
0650                                             QORIQ_CLK_PLL_DIV(2)>;
0651                         clock-names = "ipg";
0652                         status = "disabled";
0653                 };
0654 
0655                 lpuart3: serial@2980000 {
0656                         compatible = "fsl,ls1021a-lpuart";
0657                         reg = <0x0 0x2980000 0x0 0x1000>;
0658                         interrupts = <GIC_SPI 51 IRQ_TYPE_LEVEL_HIGH>;
0659                         clocks = <&clockgen QORIQ_CLK_PLATFORM_PLL
0660                                             QORIQ_CLK_PLL_DIV(2)>;
0661                         clock-names = "ipg";
0662                         status = "disabled";
0663                 };
0664 
0665                 lpuart4: serial@2990000 {
0666                         compatible = "fsl,ls1021a-lpuart";
0667                         reg = <0x0 0x2990000 0x0 0x1000>;
0668                         interrupts = <GIC_SPI 52 IRQ_TYPE_LEVEL_HIGH>;
0669                         clocks = <&clockgen QORIQ_CLK_PLATFORM_PLL
0670                                             QORIQ_CLK_PLL_DIV(2)>;
0671                         clock-names = "ipg";
0672                         status = "disabled";
0673                 };
0674 
0675                 lpuart5: serial@29a0000 {
0676                         compatible = "fsl,ls1021a-lpuart";
0677                         reg = <0x0 0x29a0000 0x0 0x1000>;
0678                         interrupts = <GIC_SPI 53 IRQ_TYPE_LEVEL_HIGH>;
0679                         clocks = <&clockgen QORIQ_CLK_PLATFORM_PLL
0680                                             QORIQ_CLK_PLL_DIV(2)>;
0681                         clock-names = "ipg";
0682                         status = "disabled";
0683                 };
0684 
0685                 wdog0: watchdog@2ad0000 {
0686                         compatible = "fsl,imx21-wdt";
0687                         reg = <0x0 0x2ad0000 0x0 0x10000>;
0688                         interrupts = <GIC_SPI 83 IRQ_TYPE_LEVEL_HIGH>;
0689                         clocks = <&clockgen QORIQ_CLK_PLATFORM_PLL
0690                                             QORIQ_CLK_PLL_DIV(2)>;
0691                         big-endian;
0692                 };
0693 
0694                 edma0: dma-controller@2c00000 {
0695                         #dma-cells = <2>;
0696                         compatible = "fsl,vf610-edma";
0697                         reg = <0x0 0x2c00000 0x0 0x10000>,
0698                               <0x0 0x2c10000 0x0 0x10000>,
0699                               <0x0 0x2c20000 0x0 0x10000>;
0700                         interrupts = <GIC_SPI 103 IRQ_TYPE_LEVEL_HIGH>,
0701                                      <GIC_SPI 103 IRQ_TYPE_LEVEL_HIGH>;
0702                         interrupt-names = "edma-tx", "edma-err";
0703                         dma-channels = <32>;
0704                         big-endian;
0705                         clock-names = "dmamux0", "dmamux1";
0706                         clocks = <&clockgen QORIQ_CLK_PLATFORM_PLL
0707                                             QORIQ_CLK_PLL_DIV(2)>,
0708                                  <&clockgen QORIQ_CLK_PLATFORM_PLL
0709                                             QORIQ_CLK_PLL_DIV(2)>;
0710                 };
0711 
0712                 usb0: usb@2f00000 {
0713                         compatible = "snps,dwc3";
0714                         reg = <0x0 0x2f00000 0x0 0x10000>;
0715                         interrupts = <GIC_SPI 60 IRQ_TYPE_LEVEL_HIGH>;
0716                         dr_mode = "host";
0717                         snps,quirk-frame-length-adjustment = <0x20>;
0718                         snps,dis_rxdet_inp3_quirk;
0719                         snps,incr-burst-type-adjustment = <1>, <4>, <8>, <16>;
0720                 };
0721 
0722                 usb1: usb@3000000 {
0723                         compatible = "snps,dwc3";
0724                         reg = <0x0 0x3000000 0x0 0x10000>;
0725                         interrupts = <GIC_SPI 61 IRQ_TYPE_LEVEL_HIGH>;
0726                         dr_mode = "host";
0727                         snps,quirk-frame-length-adjustment = <0x20>;
0728                         snps,dis_rxdet_inp3_quirk;
0729                         snps,incr-burst-type-adjustment = <1>, <4>, <8>, <16>;
0730                 };
0731 
0732                 usb2: usb@3100000 {
0733                         compatible = "snps,dwc3";
0734                         reg = <0x0 0x3100000 0x0 0x10000>;
0735                         interrupts = <GIC_SPI 63 IRQ_TYPE_LEVEL_HIGH>;
0736                         dr_mode = "host";
0737                         snps,quirk-frame-length-adjustment = <0x20>;
0738                         snps,dis_rxdet_inp3_quirk;
0739                         snps,incr-burst-type-adjustment = <1>, <4>, <8>, <16>;
0740                 };
0741 
0742                 sata: sata@3200000 {
0743                         compatible = "fsl,ls1046a-ahci";
0744                         reg = <0x0 0x3200000 0x0 0x10000>,
0745                                 <0x0 0x20140520 0x0 0x4>;
0746                         reg-names = "ahci", "sata-ecc";
0747                         interrupts = <GIC_SPI 69 IRQ_TYPE_LEVEL_HIGH>;
0748                         clocks = <&clockgen QORIQ_CLK_PLATFORM_PLL
0749                                             QORIQ_CLK_PLL_DIV(2)>;
0750                 };
0751 
0752                 msi1: msi-controller@1580000 {
0753                         compatible = "fsl,ls1046a-msi";
0754                         msi-controller;
0755                         reg = <0x0 0x1580000 0x0 0x10000>;
0756                         interrupts = <GIC_SPI 116 IRQ_TYPE_LEVEL_HIGH>,
0757                                      <GIC_SPI 111 IRQ_TYPE_LEVEL_HIGH>,
0758                                      <GIC_SPI 112 IRQ_TYPE_LEVEL_HIGH>,
0759                                      <GIC_SPI 113 IRQ_TYPE_LEVEL_HIGH>;
0760                 };
0761 
0762                 msi2: msi-controller@1590000 {
0763                         compatible = "fsl,ls1046a-msi";
0764                         msi-controller;
0765                         reg = <0x0 0x1590000 0x0 0x10000>;
0766                         interrupts = <GIC_SPI 126 IRQ_TYPE_LEVEL_HIGH>,
0767                                      <GIC_SPI 121 IRQ_TYPE_LEVEL_HIGH>,
0768                                      <GIC_SPI 122 IRQ_TYPE_LEVEL_HIGH>,
0769                                      <GIC_SPI 123 IRQ_TYPE_LEVEL_HIGH>;
0770                 };
0771 
0772                 msi3: msi-controller@15a0000 {
0773                         compatible = "fsl,ls1046a-msi";
0774                         msi-controller;
0775                         reg = <0x0 0x15a0000 0x0 0x10000>;
0776                         interrupts = <GIC_SPI 160 IRQ_TYPE_LEVEL_HIGH>,
0777                                      <GIC_SPI 155 IRQ_TYPE_LEVEL_HIGH>,
0778                                      <GIC_SPI 156 IRQ_TYPE_LEVEL_HIGH>,
0779                                      <GIC_SPI 157 IRQ_TYPE_LEVEL_HIGH>;
0780                 };
0781 
0782                 pcie1: pcie@3400000 {
0783                         compatible = "fsl,ls1046a-pcie";
0784                         reg = <0x00 0x03400000 0x0 0x00100000>, /* controller registers */
0785                               <0x40 0x00000000 0x0 0x00002000>; /* configuration space */
0786                         reg-names = "regs", "config";
0787                         interrupts = <GIC_SPI 118 IRQ_TYPE_LEVEL_HIGH>, /* controller interrupt */
0788                                      <GIC_SPI 117 IRQ_TYPE_LEVEL_HIGH>; /* PME interrupt */
0789                         interrupt-names = "aer", "pme";
0790                         #address-cells = <3>;
0791                         #size-cells = <2>;
0792                         device_type = "pci";
0793                         dma-coherent;
0794                         num-viewport = <8>;
0795                         bus-range = <0x0 0xff>;
0796                         ranges = <0x81000000 0x0 0x00000000 0x40 0x00010000 0x0 0x00010000   /* downstream I/O */
0797                                   0x82000000 0x0 0x40000000 0x40 0x40000000 0x0 0x40000000>; /* non-prefetchable memory */
0798                         msi-parent = <&msi1>, <&msi2>, <&msi3>;
0799                         #interrupt-cells = <1>;
0800                         interrupt-map-mask = <0 0 0 7>;
0801                         interrupt-map = <0000 0 0 1 &gic GIC_SPI 110 IRQ_TYPE_LEVEL_HIGH>,
0802                                         <0000 0 0 2 &gic GIC_SPI 110 IRQ_TYPE_LEVEL_HIGH>,
0803                                         <0000 0 0 3 &gic GIC_SPI 110 IRQ_TYPE_LEVEL_HIGH>,
0804                                         <0000 0 0 4 &gic GIC_SPI 110 IRQ_TYPE_LEVEL_HIGH>;
0805                         status = "disabled";
0806                 };
0807 
0808                 pcie_ep1: pcie_ep@3400000 {
0809                         compatible = "fsl,ls1046a-pcie-ep","fsl,ls-pcie-ep";
0810                         reg = <0x00 0x03400000 0x0 0x00100000>,
0811                               <0x40 0x00000000 0x8 0x00000000>;
0812                         reg-names = "regs", "addr_space";
0813                         num-ib-windows = <6>;
0814                         num-ob-windows = <8>;
0815                         status = "disabled";
0816                 };
0817 
0818                 pcie2: pcie@3500000 {
0819                         compatible = "fsl,ls1046a-pcie";
0820                         reg = <0x00 0x03500000 0x0 0x00100000>, /* controller registers */
0821                               <0x48 0x00000000 0x0 0x00002000>; /* configuration space */
0822                         reg-names = "regs", "config";
0823                         interrupts = <GIC_SPI 128 IRQ_TYPE_LEVEL_HIGH>, /* controller interrupt */
0824                                      <GIC_SPI 127 IRQ_TYPE_LEVEL_HIGH>; /* PME interrupt */
0825                         interrupt-names = "aer", "pme";
0826                         #address-cells = <3>;
0827                         #size-cells = <2>;
0828                         device_type = "pci";
0829                         dma-coherent;
0830                         num-viewport = <8>;
0831                         bus-range = <0x0 0xff>;
0832                         ranges = <0x81000000 0x0 0x00000000 0x48 0x00010000 0x0 0x00010000   /* downstream I/O */
0833                                   0x82000000 0x0 0x40000000 0x48 0x40000000 0x0 0x40000000>; /* non-prefetchable memory */
0834                         msi-parent = <&msi2>, <&msi3>, <&msi1>;
0835                         #interrupt-cells = <1>;
0836                         interrupt-map-mask = <0 0 0 7>;
0837                         interrupt-map = <0000 0 0 1 &gic GIC_SPI 120 IRQ_TYPE_LEVEL_HIGH>,
0838                                         <0000 0 0 2 &gic GIC_SPI 120 IRQ_TYPE_LEVEL_HIGH>,
0839                                         <0000 0 0 3 &gic GIC_SPI 120 IRQ_TYPE_LEVEL_HIGH>,
0840                                         <0000 0 0 4 &gic GIC_SPI 120 IRQ_TYPE_LEVEL_HIGH>;
0841                         status = "disabled";
0842                 };
0843 
0844                 pcie_ep2: pcie_ep@3500000 {
0845                         compatible = "fsl,ls1046a-pcie-ep","fsl,ls-pcie-ep";
0846                         reg = <0x00 0x03500000 0x0 0x00100000>,
0847                               <0x48 0x00000000 0x8 0x00000000>;
0848                         reg-names = "regs", "addr_space";
0849                         num-ib-windows = <6>;
0850                         num-ob-windows = <8>;
0851                         status = "disabled";
0852                 };
0853 
0854                 pcie3: pcie@3600000 {
0855                         compatible = "fsl,ls1046a-pcie";
0856                         reg = <0x00 0x03600000 0x0 0x00100000>, /* controller registers */
0857                               <0x50 0x00000000 0x0 0x00002000>; /* configuration space */
0858                         reg-names = "regs", "config";
0859                         interrupts = <GIC_SPI 162 IRQ_TYPE_LEVEL_HIGH>, /* controller interrupt */
0860                                      <GIC_SPI 161 IRQ_TYPE_LEVEL_HIGH>; /* PME interrupt */
0861                         interrupt-names = "aer", "pme";
0862                         #address-cells = <3>;
0863                         #size-cells = <2>;
0864                         device_type = "pci";
0865                         dma-coherent;
0866                         num-viewport = <8>;
0867                         bus-range = <0x0 0xff>;
0868                         ranges = <0x81000000 0x0 0x00000000 0x50 0x00010000 0x0 0x00010000   /* downstream I/O */
0869                                   0x82000000 0x0 0x40000000 0x50 0x40000000 0x0 0x40000000>; /* non-prefetchable memory */
0870                         msi-parent = <&msi3>, <&msi1>, <&msi2>;
0871                         #interrupt-cells = <1>;
0872                         interrupt-map-mask = <0 0 0 7>;
0873                         interrupt-map = <0000 0 0 1 &gic GIC_SPI 154 IRQ_TYPE_LEVEL_HIGH>,
0874                                         <0000 0 0 2 &gic GIC_SPI 154 IRQ_TYPE_LEVEL_HIGH>,
0875                                         <0000 0 0 3 &gic GIC_SPI 154 IRQ_TYPE_LEVEL_HIGH>,
0876                                         <0000 0 0 4 &gic GIC_SPI 154 IRQ_TYPE_LEVEL_HIGH>;
0877                         status = "disabled";
0878                 };
0879 
0880                 pcie_ep3: pcie_ep@3600000 {
0881                         compatible = "fsl,ls1046a-pcie-ep", "fsl,ls-pcie-ep";
0882                         reg = <0x00 0x03600000 0x0 0x00100000>,
0883                               <0x50 0x00000000 0x8 0x00000000>;
0884                         reg-names = "regs", "addr_space";
0885                         num-ib-windows = <6>;
0886                         num-ob-windows = <8>;
0887                         status = "disabled";
0888                 };
0889 
0890                 qdma: dma-controller@8380000 {
0891                         compatible = "fsl,ls1046a-qdma", "fsl,ls1021a-qdma";
0892                         reg = <0x0 0x8380000 0x0 0x1000>, /* Controller regs */
0893                               <0x0 0x8390000 0x0 0x10000>, /* Status regs */
0894                               <0x0 0x83a0000 0x0 0x40000>; /* Block regs */
0895                         interrupts = <GIC_SPI 153 IRQ_TYPE_LEVEL_HIGH>,
0896                                      <GIC_SPI 39 IRQ_TYPE_LEVEL_HIGH>,
0897                                      <GIC_SPI 40 IRQ_TYPE_LEVEL_HIGH>,
0898                                      <GIC_SPI 41 IRQ_TYPE_LEVEL_HIGH>,
0899                                      <GIC_SPI 42 IRQ_TYPE_LEVEL_HIGH>;
0900                         interrupt-names = "qdma-error", "qdma-queue0",
0901                                 "qdma-queue1", "qdma-queue2", "qdma-queue3";
0902                         dma-channels = <8>;
0903                         block-number = <1>;
0904                         block-offset = <0x10000>;
0905                         fsl,dma-queues = <2>;
0906                         status-sizes = <64>;
0907                         queue-sizes = <64 64>;
0908                         big-endian;
0909                 };
0910 
0911                 rcpm: power-controller@1ee2140 {
0912                         compatible = "fsl,ls1046a-rcpm", "fsl,qoriq-rcpm-2.1+";
0913                         reg = <0x0 0x1ee2140 0x0 0x4>;
0914                         #fsl,rcpm-wakeup-cells = <1>;
0915                 };
0916 
0917                 ftm_alarm0: timer@29d0000 {
0918                         compatible = "fsl,ls1046a-ftm-alarm";
0919                         reg = <0x0 0x29d0000 0x0 0x10000>;
0920                         fsl,rcpm-wakeup = <&rcpm 0x20000>;
0921                         interrupts = <GIC_SPI 86 IRQ_TYPE_LEVEL_HIGH>;
0922                         big-endian;
0923                 };
0924         };
0925 
0926         reserved-memory {
0927                 #address-cells = <2>;
0928                 #size-cells = <2>;
0929                 ranges;
0930 
0931                 bman_fbpr: bman-fbpr {
0932                         compatible = "shared-dma-pool";
0933                         size = <0 0x1000000>;
0934                         alignment = <0 0x1000000>;
0935                         no-map;
0936                 };
0937 
0938                 qman_fqd: qman-fqd {
0939                         compatible = "shared-dma-pool";
0940                         size = <0 0x800000>;
0941                         alignment = <0 0x800000>;
0942                         no-map;
0943                 };
0944 
0945                 qman_pfdr: qman-pfdr {
0946                         compatible = "shared-dma-pool";
0947                         size = <0 0x2000000>;
0948                         alignment = <0 0x2000000>;
0949                         no-map;
0950                 };
0951         };
0952 
0953         firmware {
0954                 optee {
0955                         compatible = "linaro,optee-tz";
0956                         method = "smc";
0957                 };
0958         };
0959 };
0960 
0961 #include "qoriq-qman-portals.dtsi"
0962 #include "qoriq-bman-portals.dtsi"