/*
 * B4860 Silicon/SoC Device Tree Source (post include)
 *
 * Copyright 2012 - 2015 Freescale Semiconductor Inc.
 *
 * Redistribution and use in source and binary forms, with or without
 * modification, are permitted provided that the following conditions are met:
 *     * Redistributions of source code must retain the above copyright
 *       notice, this list of conditions and the following disclaimer.
 *     * Redistributions in binary form must reproduce the above copyright
 *       notice, this list of conditions and the following disclaimer in the
 *       documentation and/or other materials provided with the distribution.
 *     * Neither the name of Freescale Semiconductor nor the
 *       names of its contributors may be used to endorse or promote products
 *       derived from this software without specific prior written permission.
 *
 *
 * ALTERNATIVELY, this software may be distributed under the terms of the
 * GNU General Public License ("GPL") as published by the Free Software
 * Foundation, either version 2 of that License or (at your option) any
 * later version.
 *
 * THIS SOFTWARE IS PROVIDED BY Freescale Semiconductor ``AS IS'' AND ANY
 * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
 * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
 * DISCLAIMED. IN NO EVENT SHALL Freescale Semiconductor BE LIABLE FOR ANY
 * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
 * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
 * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
 * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
 * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 */

/include/ "b4si-post.dtsi"

/* controller at 0x200000 */
&pci0 {
	compatible = "fsl,b4860-pcie", "fsl,qoriq-pcie-v2.4";
};

&rio {
	compatible = "fsl,srio";
	interrupts = <16 2 1 20>;
	#address-cells = <2>;
	#size-cells = <2>;
	fsl,iommu-parent = <&pamu0>;
	ranges;

	port1 {
		#address-cells = <2>;
		#size-cells = <2>;
		cell-index = <1>;
	};

	port2 {
		#address-cells = <2>;
		#size-cells = <2>;
		cell-index = <2>;
	};
};

&dcsr {
	dcsr-epu@0 {
		compatible = "fsl,b4860-dcsr-epu", "fsl,dcsr-epu";
	};
	dcsr-npc {
		compatible = "fsl,b4860-dcsr-cnpc", "fsl,dcsr-cnpc";
	};
	dcsr-dpaa@9000 {
		compatible = "fsl,b4860-dcsr-dpaa", "fsl,dcsr-dpaa";
	};
	dcsr-ocn@11000 {
		compatible = "fsl,b4860-dcsr-ocn", "fsl,dcsr-ocn";
	};
	dcsr-ddr@13000 {
		compatible = "fsl,dcsr-ddr";
		dev-handle = <&ddr2>;
		reg = <0x13000 0x1000>;
	};
	dcsr-nal@18000 {
		compatible = "fsl,b4860-dcsr-nal", "fsl,dcsr-nal";
	};
	dcsr-rcpm@22000 {
		compatible = "fsl,b4860-dcsr-rcpm", "fsl,dcsr-rcpm";
	};
	dcsr-snpc@30000 {
		compatible = "fsl,b4860-dcsr-snpc", "fsl,dcsr-snpc";
	};
	dcsr-snpc@31000 {
		compatible = "fsl,b4860-dcsr-snpc", "fsl,dcsr-snpc";
	};
	dcsr-cpu-sb-proxy@108000 {
		compatible = "fsl,dcsr-e6500-sb-proxy", "fsl,dcsr-cpu-sb-proxy";
		cpu-handle = <&cpu1>;
		reg = <0x108000 0x1000 0x109000 0x1000>;
	};
	dcsr-cpu-sb-proxy@110000 {
		compatible = "fsl,dcsr-e6500-sb-proxy", "fsl,dcsr-cpu-sb-proxy";
		cpu-handle = <&cpu2>;
		reg = <0x110000 0x1000 0x111000 0x1000>;
	};
	dcsr-cpu-sb-proxy@118000 {
		compatible = "fsl,dcsr-e6500-sb-proxy", "fsl,dcsr-cpu-sb-proxy";
		cpu-handle = <&cpu3>;
		reg = <0x118000 0x1000 0x119000 0x1000>;
	};
};

&bportals {
	bman-portal@38000 {
		compatible = "fsl,bman-portal";
		reg = <0x38000 0x4000>, <0x100e000 0x1000>;
		interrupts = <133 2 0 0>;
	};
	bman-portal@3c000 {
		compatible = "fsl,bman-portal";
		reg = <0x3c000 0x4000>, <0x100f000 0x1000>;
		interrupts = <135 2 0 0>;
	};
	bman-portal@40000 {
		compatible = "fsl,bman-portal";
		reg = <0x40000 0x4000>, <0x1010000 0x1000>;
		interrupts = <137 2 0 0>;
	};
	bman-portal@44000 {
		compatible = "fsl,bman-portal";
		reg = <0x44000 0x4000>, <0x1011000 0x1000>;
		interrupts = <139 2 0 0>;
	};
	bman-portal@48000 {
		compatible = "fsl,bman-portal";
		reg = <0x48000 0x4000>, <0x1012000 0x1000>;
		interrupts = <141 2 0 0>;
	};
	bman-portal@4c000 {
		compatible = "fsl,bman-portal";
		reg = <0x4c000 0x4000>, <0x1013000 0x1000>;
		interrupts = <143 2 0 0>;
	};
	bman-portal@50000 {
		compatible = "fsl,bman-portal";
		reg = <0x50000 0x4000>, <0x1014000 0x1000>;
		interrupts = <145 2 0 0>;
	};
	bman-portal@54000 {
		compatible = "fsl,bman-portal";
		reg = <0x54000 0x4000>, <0x1015000 0x1000>;
		interrupts = <147 2 0 0>;
	};
	bman-portal@58000 {
		compatible = "fsl,bman-portal";
		reg = <0x58000 0x4000>, <0x1016000 0x1000>;
		interrupts = <149 2 0 0>;
	};
	bman-portal@5c000 {
		compatible = "fsl,bman-portal";
		reg = <0x5c000 0x4000>, <0x1017000 0x1000>;
		interrupts = <151 2 0 0>;
	};
	bman-portal@60000 {
		compatible = "fsl,bman-portal";
		reg = <0x60000 0x4000>, <0x1018000 0x1000>;
		interrupts = <153 2 0 0>;
	};
};

&qportals {
	qportal14: qman-portal@38000 {
		compatible = "fsl,qman-portal";
		reg = <0x38000 0x4000>, <0x100e000 0x1000>;
		interrupts = <132 0x2 0 0>;
		cell-index = <0xe>;
	};
	qportal15: qman-portal@3c000 {
		compatible = "fsl,qman-portal";
		reg = <0x3c000 0x4000>, <0x100f000 0x1000>;
		interrupts = <134 0x2 0 0>;
		cell-index = <0xf>;
	};
	qportal16: qman-portal@40000 {
		compatible = "fsl,qman-portal";
		reg = <0x40000 0x4000>, <0x1010000 0x1000>;
		interrupts = <136 0x2 0 0>;
		cell-index = <0x10>;
	};
	qportal17: qman-portal@44000 {
		compatible = "fsl,qman-portal";
		reg = <0x44000 0x4000>, <0x1011000 0x1000>;
		interrupts = <138 0x2 0 0>;
		cell-index = <0x11>;
	};
	qportal18: qman-portal@48000 {
		compatible = "fsl,qman-portal";
		reg = <0x48000 0x4000>, <0x1012000 0x1000>;
		interrupts = <140 0x2 0 0>;
		cell-index = <0x12>;
	};
	qportal19: qman-portal@4c000 {
		compatible = "fsl,qman-portal";
		reg = <0x4c000 0x4000>, <0x1013000 0x1000>;
		interrupts = <142 0x2 0 0>;
		cell-index = <0x13>;
	};
	qportal20: qman-portal@50000 {
		compatible = "fsl,qman-portal";
		reg = <0x50000 0x4000>, <0x1014000 0x1000>;
		interrupts = <144 0x2 0 0>;
		cell-index = <0x14>;
	};
	qportal21: qman-portal@54000 {
		compatible = "fsl,qman-portal";
		reg = <0x54000 0x4000>, <0x1015000 0x1000>;
		interrupts = <146 0x2 0 0>;
		cell-index = <0x15>;
	};
	qportal22: qman-portal@58000 {
		compatible = "fsl,qman-portal";
		reg = <0x58000 0x4000>, <0x1016000 0x1000>;
		interrupts = <148 0x2 0 0>;
		cell-index = <0x16>;
	};
	qportal23: qman-portal@5c000 {
		compatible = "fsl,qman-portal";
		reg = <0x5c000 0x4000>, <0x1017000 0x1000>;
		interrupts = <150 0x2 0 0>;
		cell-index = <0x17>;
	};
	qportal24: qman-portal@60000 {
		compatible = "fsl,qman-portal";
		reg = <0x60000 0x4000>, <0x1018000 0x1000>;
		interrupts = <152 0x2 0 0>;
		cell-index = <0x18>;
	};
};

&soc {
	ddr2: memory-controller@9000 {
		compatible = "fsl,qoriq-memory-controller-v4.5", "fsl,qoriq-memory-controller";
		reg = <0x9000 0x1000>;
		interrupts = <16 2 1 9>;
	};

	cpc: l3-cache-controller@10000 {
		compatible = "fsl,b4860-l3-cache-controller", "cache";
	};

	guts: global-utilities@e0000 {
		compatible = "fsl,b4860-device-config", "fsl,qoriq-device-config-2.0";
	};

	global-utilities@e1000 {
		compatible = "fsl,b4860-clockgen", "fsl,b4-clockgen",
			      "fsl,qoriq-clockgen-2.0";
	};

	rcpm: global-utilities@e2000 {
		compatible = "fsl,b4860-rcpm", "fsl,qoriq-rcpm-2.0";
	};

/include/ "qoriq-fman3-0-1g-4.dtsi"
/include/ "qoriq-fman3-0-1g-5.dtsi"
/include/ "qoriq-fman3-0-10g-0.dtsi"
/include/ "qoriq-fman3-0-10g-1.dtsi"
	fman@400000 {
		enet4: ethernet@e8000 {
		};

		enet5: ethernet@ea000 {
		};

		enet6: ethernet@f0000 {
		};

		enet7: ethernet@f2000 {
		};
	};

	L2_1: l2-cache-controller@c20000 {
		compatible = "fsl,b4860-l2-cache-controller";
		reg = <0xc20000 0x40000>;
		next-level-cache = <&cpc>;
	};
};