Back to home page

OSCL-LXR

 
 

    


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