/*
 * MPC8536 DS Device Tree Source
 *
 * Copyright 2008 Freescale Semiconductor, Inc.
 *
 * This program is free software; you can redistribute  it and/or modify it
 * under  the terms of  the GNU General  Public License as published by the
 * Free Software Foundation;  either version 2 of the  License, or (at your
 * option) any later version.
 */

/include/ "fsl/mpc8536si-pre.dtsi"

/ {
	model = "fsl,mpc8536ds";
	compatible = "fsl,mpc8536ds";

	cpus {
		#cpus = <1>;
		#address-cells = <1>;
		#size-cells = <0>;

		PowerPC,8536@0 {
			device_type = "cpu";
			reg = <0>;
			next-level-cache = <&L2>;
		};
	};

	memory {
		device_type = "memory";
		reg = <0 0 0 0>;	// Filled by U-Boot
	};

	lbc: localbus@ffe05000 {
		reg = <0 0xffe05000 0 0x1000>;
	};

	board_soc: soc: soc@ffe00000 {
		ranges = <0x0 0 0xffe00000 0x100000>;
	};

	pci0: pci@ffe08000 {
		reg = <0 0xffe08000 0 0x1000>;
		ranges = <0x02000000 0 0x80000000 0 0x80000000 0 0x10000000
			  0x01000000 0 0x00000000 0 0xffc00000 0 0x00010000>;
		clock-frequency = <66666666>;
		interrupt-map-mask = <0xf800 0x0 0x0 0x7>;
		interrupt-map = <

			/* IDSEL 0x11 J17 Slot 1 */
			0x8800 0 0 1 &mpic 1 1 0 0
			0x8800 0 0 2 &mpic 2 1 0 0
			0x8800 0 0 3 &mpic 3 1 0 0
			0x8800 0 0 4 &mpic 4 1 0 0>;
	};

	pci1: pcie@ffe09000 {
		reg = <0 0xffe09000 0 0x1000>;
		ranges = <0x02000000 0 0x98000000 0 0x98000000 0 0x08000000
			  0x01000000 0 0x00000000 0 0xffc20000 0 0x00010000>;
		pcie@0 {
			ranges = <0x02000000 0 0x98000000
				  0x02000000 0 0x98000000
				  0 0x08000000

				  0x01000000 0 0x00000000
				  0x01000000 0 0x00000000
				  0 0x00010000>;
		};
	};

	pci2: pcie@ffe0a000 {
		reg = <0 0xffe0a000 0 0x1000>;
		ranges = <0x02000000 0 0x90000000 0 0x90000000 0 0x08000000
			  0x01000000 0 0x00000000 0 0xffc10000 0 0x00010000>;
		pcie@0 {
			ranges = <0x02000000 0 0x90000000
				  0x02000000 0 0x90000000
				  0 0x08000000

				  0x01000000 0 0x00000000
				  0x01000000 0 0x00000000
				  0 0x00010000>;
		};
	};

	pci3: pcie@ffe0b000 {
		reg = <0 0xffe0b000 0 0x1000>;
		ranges = <0x02000000 0 0xa0000000 0 0xa0000000 0 0x20000000
			  0x01000000 0 0x00000000 0 0xffc30000 0 0x00010000>;
		pcie@0 {
			ranges = <0x02000000 0 0xa0000000
				  0x02000000 0 0xa0000000
				  0 0x20000000

				  0x01000000 0 0x00000000
				  0x01000000 0 0x00000000
				  0 0x00100000>;
		};
	};
};

/include/ "fsl/mpc8536si-post.dtsi"
/include/ "mpc8536ds.dtsi"
