0001 /*
0002 * P5020/5010 Silicon/SoC Device Tree Source (post include)
0003 *
0004 * Copyright 2011 - 2015 Freescale Semiconductor Inc.
0005 *
0006 * Redistribution and use in source and binary forms, with or without
0007 * modification, are permitted provided that the following conditions are met:
0008 * * Redistributions of source code must retain the above copyright
0009 * notice, this list of conditions and the following disclaimer.
0010 * * Redistributions in binary form must reproduce the above copyright
0011 * notice, this list of conditions and the following disclaimer in the
0012 * documentation and/or other materials provided with the distribution.
0013 * * Neither the name of Freescale Semiconductor nor the
0014 * names of its contributors may be used to endorse or promote products
0015 * derived from this software without specific prior written permission.
0016 *
0017 *
0018 * ALTERNATIVELY, this software may be distributed under the terms of the
0019 * GNU General Public License ("GPL") as published by the Free Software
0020 * Foundation, either version 2 of that License or (at your option) any
0021 * later version.
0022 *
0023 * THIS SOFTWARE IS PROVIDED BY Freescale Semiconductor ``AS IS'' AND ANY
0024 * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
0025 * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
0026 * DISCLAIMED. IN NO EVENT SHALL Freescale Semiconductor BE LIABLE FOR ANY
0027 * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
0028 * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
0029 * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
0030 * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
0031 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
0032 * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
0033 */
0034
0035 &bman_fbpr {
0036 compatible = "fsl,bman-fbpr";
0037 alloc-ranges = <0 0 0x10000 0>;
0038 };
0039
0040 &qman_fqd {
0041 compatible = "fsl,qman-fqd";
0042 alloc-ranges = <0 0 0x10000 0>;
0043 };
0044
0045 &qman_pfdr {
0046 compatible = "fsl,qman-pfdr";
0047 alloc-ranges = <0 0 0x10000 0>;
0048 };
0049
0050 &lbc {
0051 compatible = "fsl,p5020-elbc", "fsl,elbc", "simple-bus";
0052 interrupts = <25 2 0 0>;
0053 #address-cells = <2>;
0054 #size-cells = <1>;
0055 };
0056
0057 /* controller at 0x200000 */
0058 &pci0 {
0059 compatible = "fsl,p5020-pcie", "fsl,qoriq-pcie-v2.2";
0060 device_type = "pci";
0061 #size-cells = <2>;
0062 #address-cells = <3>;
0063 bus-range = <0x0 0xff>;
0064 clock-frequency = <33333333>;
0065 interrupts = <16 2 1 15>;
0066 fsl,iommu-parent = <&pamu0>;
0067 fsl,liodn-reg = <&guts 0x500>; /* PEX1LIODNR */
0068 pcie@0 {
0069 reg = <0 0 0 0 0>;
0070 #interrupt-cells = <1>;
0071 #size-cells = <2>;
0072 #address-cells = <3>;
0073 device_type = "pci";
0074 interrupts = <16 2 1 15>;
0075 interrupt-map-mask = <0xf800 0 0 7>;
0076 interrupt-map = <
0077 /* IDSEL 0x0 */
0078 0000 0 0 1 &mpic 40 1 0 0
0079 0000 0 0 2 &mpic 1 1 0 0
0080 0000 0 0 3 &mpic 2 1 0 0
0081 0000 0 0 4 &mpic 3 1 0 0
0082 >;
0083 };
0084 };
0085
0086 /* controller at 0x201000 */
0087 &pci1 {
0088 compatible = "fsl,p5020-pcie", "fsl,qoriq-pcie-v2.2";
0089 device_type = "pci";
0090 #size-cells = <2>;
0091 #address-cells = <3>;
0092 bus-range = <0 0xff>;
0093 clock-frequency = <33333333>;
0094 interrupts = <16 2 1 14>;
0095 fsl,iommu-parent = <&pamu0>;
0096 fsl,liodn-reg = <&guts 0x504>; /* PEX2LIODNR */
0097 pcie@0 {
0098 reg = <0 0 0 0 0>;
0099 #interrupt-cells = <1>;
0100 #size-cells = <2>;
0101 #address-cells = <3>;
0102 device_type = "pci";
0103 interrupts = <16 2 1 14>;
0104 interrupt-map-mask = <0xf800 0 0 7>;
0105 interrupt-map = <
0106 /* IDSEL 0x0 */
0107 0000 0 0 1 &mpic 41 1 0 0
0108 0000 0 0 2 &mpic 5 1 0 0
0109 0000 0 0 3 &mpic 6 1 0 0
0110 0000 0 0 4 &mpic 7 1 0 0
0111 >;
0112 };
0113 };
0114
0115 /* controller at 0x202000 */
0116 &pci2 {
0117 compatible = "fsl,p5020-pcie", "fsl,qoriq-pcie-v2.2";
0118 device_type = "pci";
0119 #size-cells = <2>;
0120 #address-cells = <3>;
0121 bus-range = <0x0 0xff>;
0122 clock-frequency = <33333333>;
0123 interrupts = <16 2 1 13>;
0124 fsl,iommu-parent = <&pamu0>;
0125 fsl,liodn-reg = <&guts 0x508>; /* PEX3LIODNR */
0126 pcie@0 {
0127 reg = <0 0 0 0 0>;
0128 #interrupt-cells = <1>;
0129 #size-cells = <2>;
0130 #address-cells = <3>;
0131 device_type = "pci";
0132 interrupts = <16 2 1 13>;
0133 interrupt-map-mask = <0xf800 0 0 7>;
0134 interrupt-map = <
0135 /* IDSEL 0x0 */
0136 0000 0 0 1 &mpic 42 1 0 0
0137 0000 0 0 2 &mpic 9 1 0 0
0138 0000 0 0 3 &mpic 10 1 0 0
0139 0000 0 0 4 &mpic 11 1 0 0
0140 >;
0141 };
0142 };
0143
0144 /* controller at 0x203000 */
0145 &pci3 {
0146 compatible = "fsl,p5020-pcie", "fsl,qoriq-pcie-v2.2";
0147 device_type = "pci";
0148 #size-cells = <2>;
0149 #address-cells = <3>;
0150 bus-range = <0x0 0xff>;
0151 clock-frequency = <33333333>;
0152 interrupts = <16 2 1 12>;
0153 fsl,iommu-parent = <&pamu0>;
0154 fsl,liodn-reg = <&guts 0x50c>; /* PEX4LIODNR */
0155 pcie@0 {
0156 reg = <0 0 0 0 0>;
0157 #interrupt-cells = <1>;
0158 #size-cells = <2>;
0159 #address-cells = <3>;
0160 device_type = "pci";
0161 interrupts = <16 2 1 12>;
0162 interrupt-map-mask = <0xf800 0 0 7>;
0163 interrupt-map = <
0164 /* IDSEL 0x0 */
0165 0000 0 0 1 &mpic 43 1 0 0
0166 0000 0 0 2 &mpic 0 1 0 0
0167 0000 0 0 3 &mpic 4 1 0 0
0168 0000 0 0 4 &mpic 8 1 0 0
0169 >;
0170 };
0171 };
0172
0173 &rio {
0174 compatible = "fsl,srio";
0175 interrupts = <16 2 1 11>;
0176 #address-cells = <2>;
0177 #size-cells = <2>;
0178 fsl,iommu-parent = <&pamu0>;
0179 ranges;
0180
0181 port1 {
0182 #address-cells = <2>;
0183 #size-cells = <2>;
0184 cell-index = <1>;
0185 fsl,liodn-reg = <&guts 0x510>; /* RIO1LIODNR */
0186 };
0187
0188 port2 {
0189 #address-cells = <2>;
0190 #size-cells = <2>;
0191 cell-index = <2>;
0192 fsl,liodn-reg = <&guts 0x514>; /* RIO2LIODNR */
0193 };
0194 };
0195
0196 &dcsr {
0197 #address-cells = <1>;
0198 #size-cells = <1>;
0199 compatible = "fsl,dcsr", "simple-bus";
0200
0201 dcsr-epu@0 {
0202 compatible = "fsl,p5020-dcsr-epu", "fsl,dcsr-epu";
0203 interrupts = <52 2 0 0
0204 84 2 0 0
0205 85 2 0 0>;
0206 reg = <0x0 0x1000>;
0207 };
0208 dcsr-npc {
0209 compatible = "fsl,dcsr-npc";
0210 reg = <0x1000 0x1000 0x1000000 0x8000>;
0211 };
0212 dcsr-nxc@2000 {
0213 compatible = "fsl,dcsr-nxc";
0214 reg = <0x2000 0x1000>;
0215 };
0216 dcsr-corenet {
0217 compatible = "fsl,dcsr-corenet";
0218 reg = <0x8000 0x1000 0xB0000 0x1000>;
0219 };
0220 dcsr-dpaa@9000 {
0221 compatible = "fsl,p5020-dcsr-dpaa", "fsl,dcsr-dpaa";
0222 reg = <0x9000 0x1000>;
0223 };
0224 dcsr-ocn@11000 {
0225 compatible = "fsl,p5020-dcsr-ocn", "fsl,dcsr-ocn";
0226 reg = <0x11000 0x1000>;
0227 };
0228 dcsr-ddr@12000 {
0229 compatible = "fsl,dcsr-ddr";
0230 dev-handle = <&ddr1>;
0231 reg = <0x12000 0x1000>;
0232 };
0233 dcsr-ddr@13000 {
0234 compatible = "fsl,dcsr-ddr";
0235 dev-handle = <&ddr2>;
0236 reg = <0x13000 0x1000>;
0237 };
0238 dcsr-nal@18000 {
0239 compatible = "fsl,p5020-dcsr-nal", "fsl,dcsr-nal";
0240 reg = <0x18000 0x1000>;
0241 };
0242 dcsr-rcpm@22000 {
0243 compatible = "fsl,p5020-dcsr-rcpm", "fsl,dcsr-rcpm";
0244 reg = <0x22000 0x1000>;
0245 };
0246 dcsr-cpu-sb-proxy@40000 {
0247 compatible = "fsl,dcsr-e5500-sb-proxy", "fsl,dcsr-cpu-sb-proxy";
0248 cpu-handle = <&cpu0>;
0249 reg = <0x40000 0x1000>;
0250 };
0251 dcsr-cpu-sb-proxy@41000 {
0252 compatible = "fsl,dcsr-e5500-sb-proxy", "fsl,dcsr-cpu-sb-proxy";
0253 cpu-handle = <&cpu1>;
0254 reg = <0x41000 0x1000>;
0255 };
0256 };
0257
0258 /include/ "qoriq-bman1-portals.dtsi"
0259
0260 /include/ "qoriq-qman1-portals.dtsi"
0261
0262 &soc {
0263 #address-cells = <1>;
0264 #size-cells = <1>;
0265 device_type = "soc";
0266 compatible = "simple-bus";
0267
0268 soc-sram-error {
0269 compatible = "fsl,soc-sram-error";
0270 interrupts = <16 2 1 29>;
0271 };
0272
0273 corenet-law@0 {
0274 compatible = "fsl,corenet-law";
0275 reg = <0x0 0x1000>;
0276 fsl,num-laws = <32>;
0277 };
0278
0279 ddr1: memory-controller@8000 {
0280 compatible = "fsl,qoriq-memory-controller-v4.5", "fsl,qoriq-memory-controller";
0281 reg = <0x8000 0x1000>;
0282 interrupts = <16 2 1 23>;
0283 };
0284
0285 ddr2: memory-controller@9000 {
0286 compatible = "fsl,qoriq-memory-controller-v4.5","fsl,qoriq-memory-controller";
0287 reg = <0x9000 0x1000>;
0288 interrupts = <16 2 1 22>;
0289 };
0290
0291 cpc: l3-cache-controller@10000 {
0292 compatible = "fsl,p5020-l3-cache-controller", "fsl,p4080-l3-cache-controller", "cache";
0293 reg = <0x10000 0x1000
0294 0x11000 0x1000>;
0295 interrupts = <16 2 1 27
0296 16 2 1 26>;
0297 };
0298
0299 corenet-cf@18000 {
0300 compatible = "fsl,corenet1-cf", "fsl,corenet-cf";
0301 reg = <0x18000 0x1000>;
0302 interrupts = <16 2 1 31>;
0303 fsl,ccf-num-csdids = <32>;
0304 fsl,ccf-num-snoopids = <32>;
0305 };
0306
0307 iommu@20000 {
0308 compatible = "fsl,pamu-v1.0", "fsl,pamu";
0309 reg = <0x20000 0x4000>; /* for compatibility with older PAMU drivers */
0310 ranges = <0 0x20000 0x4000>;
0311 #address-cells = <1>;
0312 #size-cells = <1>;
0313 interrupts = <
0314 24 2 0 0
0315 16 2 1 30>;
0316 fsl,portid-mapping = <0x3c000000>;
0317
0318 pamu0: pamu@0 {
0319 reg = <0 0x1000>;
0320 fsl,primary-cache-geometry = <32 1>;
0321 fsl,secondary-cache-geometry = <128 2>;
0322 };
0323
0324 pamu1: pamu@1000 {
0325 reg = <0x1000 0x1000>;
0326 fsl,primary-cache-geometry = <32 1>;
0327 fsl,secondary-cache-geometry = <128 2>;
0328 };
0329
0330 pamu2: pamu@2000 {
0331 reg = <0x2000 0x1000>;
0332 fsl,primary-cache-geometry = <32 1>;
0333 fsl,secondary-cache-geometry = <128 2>;
0334 };
0335
0336 pamu3: pamu@3000 {
0337 reg = <0x3000 0x1000>;
0338 fsl,primary-cache-geometry = <32 1>;
0339 fsl,secondary-cache-geometry = <128 2>;
0340 };
0341 };
0342
0343 /include/ "qoriq-mpic.dtsi"
0344
0345 guts: global-utilities@e0000 {
0346 compatible = "fsl,qoriq-device-config-1.0";
0347 reg = <0xe0000 0xe00>;
0348 fsl,has-rstcr;
0349 #sleep-cells = <1>;
0350 fsl,liodn-bits = <12>;
0351 };
0352
0353 pins: global-utilities@e0e00 {
0354 compatible = "fsl,qoriq-pin-control-1.0";
0355 reg = <0xe0e00 0x200>;
0356 #sleep-cells = <2>;
0357 };
0358
0359 /include/ "qoriq-clockgen1.dtsi"
0360 global-utilities@e1000 {
0361 compatible = "fsl,p5020-clockgen", "fsl,qoriq-clockgen-1.0";
0362 };
0363
0364 rcpm: global-utilities@e2000 {
0365 compatible = "fsl,qoriq-rcpm-1.0";
0366 reg = <0xe2000 0x1000>;
0367 #sleep-cells = <1>;
0368 };
0369
0370 sfp: sfp@e8000 {
0371 compatible = "fsl,p5020-sfp", "fsl,qoriq-sfp-1.0";
0372 reg = <0xe8000 0x1000>;
0373 };
0374
0375 serdes: serdes@ea000 {
0376 compatible = "fsl,p5020-serdes";
0377 reg = <0xea000 0x1000>;
0378 };
0379
0380 /include/ "qoriq-dma-0.dtsi"
0381 dma@100300 {
0382 fsl,iommu-parent = <&pamu0>;
0383 fsl,liodn-reg = <&guts 0x580>; /* DMA1LIODNR */
0384 };
0385
0386 /include/ "qoriq-dma-1.dtsi"
0387 dma@101300 {
0388 fsl,iommu-parent = <&pamu0>;
0389 fsl,liodn-reg = <&guts 0x584>; /* DMA2LIODNR */
0390 };
0391
0392 /include/ "qoriq-espi-0.dtsi"
0393 spi@110000 {
0394 fsl,espi-num-chipselects = <4>;
0395 };
0396
0397 /include/ "qoriq-esdhc-0.dtsi"
0398 sdhc@114000 {
0399 compatible = "fsl,p5020-esdhc", "fsl,esdhc";
0400 fsl,iommu-parent = <&pamu1>;
0401 fsl,liodn-reg = <&guts 0x530>; /* eSDHCLIODNR */
0402 sdhci,auto-cmd12;
0403 };
0404
0405 /include/ "qoriq-i2c-0.dtsi"
0406 /include/ "qoriq-i2c-1.dtsi"
0407 /include/ "qoriq-duart-0.dtsi"
0408 /include/ "qoriq-duart-1.dtsi"
0409 /include/ "qoriq-gpio-0.dtsi"
0410 /include/ "qoriq-usb2-mph-0.dtsi"
0411 usb0: usb@210000 {
0412 compatible = "fsl-usb2-mph-v1.6", "fsl,mpc85xx-usb2-mph", "fsl-usb2-mph";
0413 fsl,iommu-parent = <&pamu1>;
0414 fsl,liodn-reg = <&guts 0x520>; /* USB1LIODNR */
0415 phy_type = "utmi";
0416 port0;
0417 };
0418
0419 /include/ "qoriq-usb2-dr-0.dtsi"
0420 usb1: usb@211000 {
0421 compatible = "fsl-usb2-dr-v1.6", "fsl,mpc85xx-usb2-dr", "fsl-usb2-dr";
0422 fsl,iommu-parent = <&pamu1>;
0423 fsl,liodn-reg = <&guts 0x524>; /* USB2LIODNR */
0424 dr_mode = "host";
0425 phy_type = "utmi";
0426 };
0427
0428 /include/ "qoriq-sata2-0.dtsi"
0429 sata@220000 {
0430 fsl,iommu-parent = <&pamu1>;
0431 fsl,liodn-reg = <&guts 0x550>; /* SATA1LIODNR */
0432 };
0433
0434 /include/ "qoriq-sata2-1.dtsi"
0435 sata@221000 {
0436 fsl,iommu-parent = <&pamu1>;
0437 fsl,liodn-reg = <&guts 0x554>; /* SATA2LIODNR */
0438 };
0439 /include/ "qoriq-sec4.2-0.dtsi"
0440 crypto@300000 {
0441 fsl,iommu-parent = <&pamu1>;
0442 };
0443
0444 /include/ "qoriq-qman1.dtsi"
0445 /include/ "qoriq-bman1.dtsi"
0446
0447 /include/ "qoriq-raid1.0-0.dtsi"
0448 raideng@320000 {
0449 fsl,iommu-parent = <&pamu1>;
0450 };
0451
0452 /include/ "qoriq-fman-0.dtsi"
0453 /include/ "qoriq-fman-0-1g-0.dtsi"
0454 /include/ "qoriq-fman-0-1g-1.dtsi"
0455 /include/ "qoriq-fman-0-1g-2.dtsi"
0456 /include/ "qoriq-fman-0-1g-3.dtsi"
0457 /include/ "qoriq-fman-0-1g-4.dtsi"
0458 /include/ "qoriq-fman-0-10g-0.dtsi"
0459 fman@400000 {
0460 enet0: ethernet@e0000 {
0461 };
0462
0463 enet1: ethernet@e2000 {
0464 };
0465
0466 enet2: ethernet@e4000 {
0467 };
0468
0469 enet3: ethernet@e6000 {
0470 };
0471
0472 enet4: ethernet@e8000 {
0473 };
0474
0475 enet5: ethernet@f0000 {
0476 };
0477 };
0478 };