162306a36Sopenharmony_ci/*
262306a36Sopenharmony_ci * MPC8569 Silicon/SoC Device Tree Source (post include)
362306a36Sopenharmony_ci *
462306a36Sopenharmony_ci * Copyright 2011 Freescale Semiconductor Inc.
562306a36Sopenharmony_ci *
662306a36Sopenharmony_ci * Redistribution and use in source and binary forms, with or without
762306a36Sopenharmony_ci * modification, are permitted provided that the following conditions are met:
862306a36Sopenharmony_ci *     * Redistributions of source code must retain the above copyright
962306a36Sopenharmony_ci *       notice, this list of conditions and the following disclaimer.
1062306a36Sopenharmony_ci *     * Redistributions in binary form must reproduce the above copyright
1162306a36Sopenharmony_ci *       notice, this list of conditions and the following disclaimer in the
1262306a36Sopenharmony_ci *       documentation and/or other materials provided with the distribution.
1362306a36Sopenharmony_ci *     * Neither the name of Freescale Semiconductor nor the
1462306a36Sopenharmony_ci *       names of its contributors may be used to endorse or promote products
1562306a36Sopenharmony_ci *       derived from this software without specific prior written permission.
1662306a36Sopenharmony_ci *
1762306a36Sopenharmony_ci *
1862306a36Sopenharmony_ci * ALTERNATIVELY, this software may be distributed under the terms of the
1962306a36Sopenharmony_ci * GNU General Public License ("GPL") as published by the Free Software
2062306a36Sopenharmony_ci * Foundation, either version 2 of that License or (at your option) any
2162306a36Sopenharmony_ci * later version.
2262306a36Sopenharmony_ci *
2362306a36Sopenharmony_ci * THIS SOFTWARE IS PROVIDED BY Freescale Semiconductor ``AS IS'' AND ANY
2462306a36Sopenharmony_ci * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
2562306a36Sopenharmony_ci * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
2662306a36Sopenharmony_ci * DISCLAIMED. IN NO EVENT SHALL Freescale Semiconductor BE LIABLE FOR ANY
2762306a36Sopenharmony_ci * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
2862306a36Sopenharmony_ci * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
2962306a36Sopenharmony_ci * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
3062306a36Sopenharmony_ci * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
3162306a36Sopenharmony_ci * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
3262306a36Sopenharmony_ci * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
3362306a36Sopenharmony_ci */
3462306a36Sopenharmony_ci
3562306a36Sopenharmony_ci&lbc {
3662306a36Sopenharmony_ci	#address-cells = <2>;
3762306a36Sopenharmony_ci	#size-cells = <1>;
3862306a36Sopenharmony_ci	compatible = "fsl,mpc8569-elbc", "fsl,elbc", "simple-bus";
3962306a36Sopenharmony_ci	interrupts = <19 2 0 0>;
4062306a36Sopenharmony_ci	sleep = <&pmc 0x08000000>;
4162306a36Sopenharmony_ci};
4262306a36Sopenharmony_ci
4362306a36Sopenharmony_ci/* controller at 0xa000 */
4462306a36Sopenharmony_ci&pci1 {
4562306a36Sopenharmony_ci	compatible = "fsl,mpc8548-pcie";
4662306a36Sopenharmony_ci	device_type = "pci";
4762306a36Sopenharmony_ci	#size-cells = <2>;
4862306a36Sopenharmony_ci	#address-cells = <3>;
4962306a36Sopenharmony_ci	bus-range = <0 255>;
5062306a36Sopenharmony_ci	clock-frequency = <33333333>;
5162306a36Sopenharmony_ci	interrupts = <26 2 0 0>;
5262306a36Sopenharmony_ci	sleep = <&pmc 0x20000000>;
5362306a36Sopenharmony_ci
5462306a36Sopenharmony_ci	pcie@0 {
5562306a36Sopenharmony_ci		reg = <0 0 0 0 0>;
5662306a36Sopenharmony_ci		#interrupt-cells = <1>;
5762306a36Sopenharmony_ci		#size-cells = <2>;
5862306a36Sopenharmony_ci		#address-cells = <3>;
5962306a36Sopenharmony_ci		device_type = "pci";
6062306a36Sopenharmony_ci		interrupts = <26 2 0 0>;
6162306a36Sopenharmony_ci		interrupt-map-mask = <0xf800 0 0 7>;
6262306a36Sopenharmony_ci		interrupt-map = <
6362306a36Sopenharmony_ci			/* IDSEL 0x0 */
6462306a36Sopenharmony_ci			0000 0x0 0x0 0x1 &mpic 0x0 0x1 0x0 0x0
6562306a36Sopenharmony_ci			0000 0x0 0x0 0x2 &mpic 0x1 0x1 0x0 0x0
6662306a36Sopenharmony_ci			0000 0x0 0x0 0x3 &mpic 0x2 0x1 0x0 0x0
6762306a36Sopenharmony_ci			0000 0x0 0x0 0x4 &mpic 0x3 0x1 0x0 0x0
6862306a36Sopenharmony_ci			>;
6962306a36Sopenharmony_ci	};
7062306a36Sopenharmony_ci};
7162306a36Sopenharmony_ci
7262306a36Sopenharmony_ci&rio {
7362306a36Sopenharmony_ci	compatible = "fsl,srio";
7462306a36Sopenharmony_ci	interrupts = <48 2 0 0>;
7562306a36Sopenharmony_ci	#address-cells = <2>;
7662306a36Sopenharmony_ci	#size-cells = <2>;
7762306a36Sopenharmony_ci	fsl,srio-rmu-handle = <&rmu>;
7862306a36Sopenharmony_ci	sleep = <&pmc 0x00080000>;
7962306a36Sopenharmony_ci	ranges;
8062306a36Sopenharmony_ci
8162306a36Sopenharmony_ci	port1 {
8262306a36Sopenharmony_ci		#address-cells = <2>;
8362306a36Sopenharmony_ci		#size-cells = <2>;
8462306a36Sopenharmony_ci		cell-index = <1>;
8562306a36Sopenharmony_ci	};
8662306a36Sopenharmony_ci
8762306a36Sopenharmony_ci	port2 {
8862306a36Sopenharmony_ci		#address-cells = <2>;
8962306a36Sopenharmony_ci		#size-cells = <2>;
9062306a36Sopenharmony_ci		cell-index = <2>;
9162306a36Sopenharmony_ci	};
9262306a36Sopenharmony_ci};
9362306a36Sopenharmony_ci
9462306a36Sopenharmony_ci&soc {
9562306a36Sopenharmony_ci	#address-cells = <1>;
9662306a36Sopenharmony_ci	#size-cells = <1>;
9762306a36Sopenharmony_ci	device_type = "soc";
9862306a36Sopenharmony_ci	compatible = "fsl,mpc8569-immr", "simple-bus";
9962306a36Sopenharmony_ci	bus-frequency = <0>;		// Filled out by uboot.
10062306a36Sopenharmony_ci
10162306a36Sopenharmony_ci	ecm-law@0 {
10262306a36Sopenharmony_ci		compatible = "fsl,ecm-law";
10362306a36Sopenharmony_ci		reg = <0x0 0x1000>;
10462306a36Sopenharmony_ci		fsl,num-laws = <10>;
10562306a36Sopenharmony_ci	};
10662306a36Sopenharmony_ci
10762306a36Sopenharmony_ci	ecm@1000 {
10862306a36Sopenharmony_ci		compatible = "fsl,mpc8569-ecm", "fsl,ecm";
10962306a36Sopenharmony_ci		reg = <0x1000 0x1000>;
11062306a36Sopenharmony_ci		interrupts = <17 2 0 0>;
11162306a36Sopenharmony_ci	};
11262306a36Sopenharmony_ci
11362306a36Sopenharmony_ci	memory-controller@2000 {
11462306a36Sopenharmony_ci		compatible = "fsl,mpc8569-memory-controller";
11562306a36Sopenharmony_ci		reg = <0x2000 0x1000>;
11662306a36Sopenharmony_ci		interrupts = <18 2 0 0>;
11762306a36Sopenharmony_ci	};
11862306a36Sopenharmony_ci
11962306a36Sopenharmony_ci	i2c-sleep-nexus {
12062306a36Sopenharmony_ci		#address-cells = <1>;
12162306a36Sopenharmony_ci		#size-cells = <1>;
12262306a36Sopenharmony_ci		compatible = "simple-bus";
12362306a36Sopenharmony_ci		sleep = <&pmc 0x00000004>;
12462306a36Sopenharmony_ci		ranges;
12562306a36Sopenharmony_ci
12662306a36Sopenharmony_ci/include/ "pq3-i2c-0.dtsi"
12762306a36Sopenharmony_ci/include/ "pq3-i2c-1.dtsi"
12862306a36Sopenharmony_ci
12962306a36Sopenharmony_ci	};
13062306a36Sopenharmony_ci
13162306a36Sopenharmony_ci	duart-sleep-nexus {
13262306a36Sopenharmony_ci		#address-cells = <1>;
13362306a36Sopenharmony_ci		#size-cells = <1>;
13462306a36Sopenharmony_ci		compatible = "simple-bus";
13562306a36Sopenharmony_ci		sleep = <&pmc 0x00000002>;
13662306a36Sopenharmony_ci		ranges;
13762306a36Sopenharmony_ci
13862306a36Sopenharmony_ci/include/ "pq3-duart-0.dtsi"
13962306a36Sopenharmony_ci
14062306a36Sopenharmony_ci	};
14162306a36Sopenharmony_ci
14262306a36Sopenharmony_ci	L2: l2-cache-controller@20000 {
14362306a36Sopenharmony_ci		compatible = "fsl,mpc8569-l2-cache-controller";
14462306a36Sopenharmony_ci		reg = <0x20000 0x1000>;
14562306a36Sopenharmony_ci		cache-line-size = <32>;	// 32 bytes
14662306a36Sopenharmony_ci		cache-size = <0x80000>; // L2, 512K
14762306a36Sopenharmony_ci		interrupts = <16 2 0 0>;
14862306a36Sopenharmony_ci	};
14962306a36Sopenharmony_ci
15062306a36Sopenharmony_ci/include/ "pq3-dma-0.dtsi"
15162306a36Sopenharmony_ci/include/ "pq3-esdhc-0.dtsi"
15262306a36Sopenharmony_ci	sdhc@2e000 {
15362306a36Sopenharmony_ci		sleep = <&pmc 0x00200000>;
15462306a36Sopenharmony_ci	};
15562306a36Sopenharmony_ci
15662306a36Sopenharmony_ci	par_io@e0100 {
15762306a36Sopenharmony_ci		#address-cells = <1>;
15862306a36Sopenharmony_ci		#size-cells = <1>;
15962306a36Sopenharmony_ci		reg = <0xe0100 0x100>;
16062306a36Sopenharmony_ci		ranges = <0x0 0xe0100 0x100>;
16162306a36Sopenharmony_ci		device_type = "par_io";
16262306a36Sopenharmony_ci	};
16362306a36Sopenharmony_ci
16462306a36Sopenharmony_ci/include/ "pq3-sec3.1-0.dtsi"
16562306a36Sopenharmony_ci	crypto@30000 {
16662306a36Sopenharmony_ci		sleep = <&pmc 0x01000000>;
16762306a36Sopenharmony_ci	};
16862306a36Sopenharmony_ci
16962306a36Sopenharmony_ci/include/ "pq3-mpic.dtsi"
17062306a36Sopenharmony_ci/include/ "pq3-rmu-0.dtsi"
17162306a36Sopenharmony_ci	rmu@d3000 {
17262306a36Sopenharmony_ci		sleep = <&pmc 0x00040000>;
17362306a36Sopenharmony_ci	};
17462306a36Sopenharmony_ci
17562306a36Sopenharmony_ci	global-utilities@e0000 {
17662306a36Sopenharmony_ci		#address-cells = <1>;
17762306a36Sopenharmony_ci		#size-cells = <1>;
17862306a36Sopenharmony_ci		compatible = "fsl,mpc8569-guts", "fsl,mpc8548-guts";
17962306a36Sopenharmony_ci		reg = <0xe0000 0x1000>;
18062306a36Sopenharmony_ci		ranges = <0 0xe0000 0x1000>;
18162306a36Sopenharmony_ci		fsl,has-rstcr;
18262306a36Sopenharmony_ci
18362306a36Sopenharmony_ci		pmc: power@70 {
18462306a36Sopenharmony_ci			compatible = "fsl,mpc8569-pmc",
18562306a36Sopenharmony_ci				     "fsl,mpc8548-pmc";
18662306a36Sopenharmony_ci			reg = <0x70 0x20>;
18762306a36Sopenharmony_ci		};
18862306a36Sopenharmony_ci	};
18962306a36Sopenharmony_ci};
19062306a36Sopenharmony_ci
19162306a36Sopenharmony_ci&qe {
19262306a36Sopenharmony_ci	#address-cells = <1>;
19362306a36Sopenharmony_ci	#size-cells = <1>;
19462306a36Sopenharmony_ci	device_type = "qe";
19562306a36Sopenharmony_ci	compatible = "fsl,qe";
19662306a36Sopenharmony_ci	sleep = <&pmc 0x00000800>;
19762306a36Sopenharmony_ci	brg-frequency = <0>;
19862306a36Sopenharmony_ci	bus-frequency = <0>;
19962306a36Sopenharmony_ci	fsl,qe-num-riscs = <4>;
20062306a36Sopenharmony_ci	fsl,qe-num-snums = <46>;
20162306a36Sopenharmony_ci
20262306a36Sopenharmony_ci	qeic: interrupt-controller@80 {
20362306a36Sopenharmony_ci		interrupt-controller;
20462306a36Sopenharmony_ci		compatible = "fsl,qe-ic";
20562306a36Sopenharmony_ci		#address-cells = <0>;
20662306a36Sopenharmony_ci		#interrupt-cells = <1>;
20762306a36Sopenharmony_ci		reg = <0x80 0x80>;
20862306a36Sopenharmony_ci		interrupts = <46 2 0 0 46 2 0 0>; //high:30 low:30
20962306a36Sopenharmony_ci		interrupt-parent = <&mpic>;
21062306a36Sopenharmony_ci	};
21162306a36Sopenharmony_ci
21262306a36Sopenharmony_ci	timer@440 {
21362306a36Sopenharmony_ci		compatible = "fsl,mpc8569-qe-gtm",
21462306a36Sopenharmony_ci			     "fsl,qe-gtm", "fsl,gtm";
21562306a36Sopenharmony_ci		reg = <0x440 0x40>;
21662306a36Sopenharmony_ci		interrupts = <12 13 14 15>;
21762306a36Sopenharmony_ci		interrupt-parent = <&qeic>;
21862306a36Sopenharmony_ci		/* Filled in by U-Boot */
21962306a36Sopenharmony_ci		clock-frequency = <0>;
22062306a36Sopenharmony_ci	};
22162306a36Sopenharmony_ci
22262306a36Sopenharmony_ci	spi@4c0 {
22362306a36Sopenharmony_ci		#address-cells = <1>;
22462306a36Sopenharmony_ci		#size-cells = <0>;
22562306a36Sopenharmony_ci		compatible = "fsl,mpc8569-qe-spi", "fsl,spi";
22662306a36Sopenharmony_ci		reg = <0x4c0 0x40>;
22762306a36Sopenharmony_ci		cell-index = <0>;
22862306a36Sopenharmony_ci		interrupts = <2>;
22962306a36Sopenharmony_ci		interrupt-parent = <&qeic>;
23062306a36Sopenharmony_ci	};
23162306a36Sopenharmony_ci
23262306a36Sopenharmony_ci	spi@500 {
23362306a36Sopenharmony_ci		#address-cells = <1>;
23462306a36Sopenharmony_ci		#size-cells = <0>;
23562306a36Sopenharmony_ci		cell-index = <1>;
23662306a36Sopenharmony_ci		compatible = "fsl,spi";
23762306a36Sopenharmony_ci		reg = <0x500 0x40>;
23862306a36Sopenharmony_ci		interrupts = <1>;
23962306a36Sopenharmony_ci		interrupt-parent = <&qeic>;
24062306a36Sopenharmony_ci	};
24162306a36Sopenharmony_ci
24262306a36Sopenharmony_ci	usb@6c0 {
24362306a36Sopenharmony_ci		compatible = "fsl,mpc8569-qe-usb",
24462306a36Sopenharmony_ci			     "fsl,mpc8323-qe-usb";
24562306a36Sopenharmony_ci		reg = <0x6c0 0x40 0x8b00 0x100>;
24662306a36Sopenharmony_ci		interrupts = <11>;
24762306a36Sopenharmony_ci		interrupt-parent = <&qeic>;
24862306a36Sopenharmony_ci	};
24962306a36Sopenharmony_ci
25062306a36Sopenharmony_ci	ucc@2000 {
25162306a36Sopenharmony_ci		cell-index = <1>;
25262306a36Sopenharmony_ci		reg = <0x2000 0x200>;
25362306a36Sopenharmony_ci		interrupts = <32>;
25462306a36Sopenharmony_ci		interrupt-parent = <&qeic>;
25562306a36Sopenharmony_ci	};
25662306a36Sopenharmony_ci
25762306a36Sopenharmony_ci	ucc@2200 {
25862306a36Sopenharmony_ci		cell-index = <3>;
25962306a36Sopenharmony_ci		reg = <0x2200 0x200>;
26062306a36Sopenharmony_ci		interrupts = <34>;
26162306a36Sopenharmony_ci		interrupt-parent = <&qeic>;
26262306a36Sopenharmony_ci	};
26362306a36Sopenharmony_ci
26462306a36Sopenharmony_ci	ucc@3000 {
26562306a36Sopenharmony_ci		cell-index = <2>;
26662306a36Sopenharmony_ci		reg = <0x3000 0x200>;
26762306a36Sopenharmony_ci		interrupts = <33>;
26862306a36Sopenharmony_ci		interrupt-parent = <&qeic>;
26962306a36Sopenharmony_ci	};
27062306a36Sopenharmony_ci
27162306a36Sopenharmony_ci	ucc@3200 {
27262306a36Sopenharmony_ci		cell-index = <4>;
27362306a36Sopenharmony_ci		reg = <0x3200 0x200>;
27462306a36Sopenharmony_ci		interrupts = <35>;
27562306a36Sopenharmony_ci		interrupt-parent = <&qeic>;
27662306a36Sopenharmony_ci	};
27762306a36Sopenharmony_ci
27862306a36Sopenharmony_ci	ucc@3400 {
27962306a36Sopenharmony_ci		cell-index = <6>;
28062306a36Sopenharmony_ci		reg = <0x3400 0x200>;
28162306a36Sopenharmony_ci		interrupts = <41>;
28262306a36Sopenharmony_ci		interrupt-parent = <&qeic>;
28362306a36Sopenharmony_ci	};
28462306a36Sopenharmony_ci
28562306a36Sopenharmony_ci	ucc@3600 {
28662306a36Sopenharmony_ci		cell-index = <8>;
28762306a36Sopenharmony_ci		reg = <0x3600 0x200>;
28862306a36Sopenharmony_ci		interrupts = <43>;
28962306a36Sopenharmony_ci		interrupt-parent = <&qeic>;
29062306a36Sopenharmony_ci	};
29162306a36Sopenharmony_ci
29262306a36Sopenharmony_ci	muram@10000 {
29362306a36Sopenharmony_ci		#address-cells = <1>;
29462306a36Sopenharmony_ci		#size-cells = <1>;
29562306a36Sopenharmony_ci		compatible = "fsl,qe-muram", "fsl,cpm-muram";
29662306a36Sopenharmony_ci		ranges = <0x0 0x10000 0x20000>;
29762306a36Sopenharmony_ci
29862306a36Sopenharmony_ci		data-only@0 {
29962306a36Sopenharmony_ci			compatible = "fsl,qe-muram-data",
30062306a36Sopenharmony_ci				     "fsl,cpm-muram-data";
30162306a36Sopenharmony_ci			reg = <0x0 0x20000>;
30262306a36Sopenharmony_ci		};
30362306a36Sopenharmony_ci	};
30462306a36Sopenharmony_ci};
305