/*
 * Device Tree Source for IBM Holly (PPC 750CL with TSI controller)
 * Copyright 2007, IBM Corporation
 *
 * Stephen Winiecki <stevewin@us.ibm.com>
 * Josh Boyer <jwboyer@linux.vnet.ibm.com>
 *
 * This file is licensed under the terms of the GNU General Public
 * License version 2.  This program is licensed "as is" without
 * any warranty of any kind, whether express or implied.
 */

/dts-v1/;

/ {
	model = "41K7339";
	compatible = "ibm,holly";
	#address-cells = <1>;
	#size-cells = <1>;

	cpus {
		#address-cells = <1>;
		#size-cells =<0>;
		PowerPC,750CL@0 {
			device_type = "cpu";
			reg = <0x00000000>;
			d-cache-line-size = <32>;
			i-cache-line-size = <32>;
			d-cache-size = <32768>;
			i-cache-size = <32768>;
			d-cache-sets = <128>;
			i-cache-sets = <128>;
			timebase-frequency = <50000000>;
			clock-frequency = <600000000>;
			bus-frequency = <200000000>;
		};
	};

	memory@0 {
		device_type = "memory";
		reg = <0x00000000 0x20000000>;
	};

  	tsi109@c0000000 {
		device_type = "tsi-bridge";
		compatible = "tsi109-bridge", "tsi108-bridge";
		#address-cells = <1>;
		#size-cells = <1>;
		ranges = <0x00000000 0xc0000000 0x00010000>;
		reg = <0xc0000000 0x00010000>;

		i2c@7000 {
			device_type = "i2c";
			compatible  = "tsi109-i2c", "tsi108-i2c";
			interrupt-parent = <&MPIC>;
			interrupts = <0xe 0x2>;
			reg = <0x00007000 0x00000400>;
		};

		MDIO: mdio@6000 {
			compatible = "tsi109-mdio", "tsi108-mdio";
			reg = <0x00006000 0x00000050>;
			#address-cells = <1>;
			#size-cells = <0>;

			PHY1: ethernet-phy@1 {
				compatible = "bcm5461a";
				reg = <0x00000001>;
				txc-rxc-delay-disable;
			};

			PHY2: ethernet-phy@2 {
				compatible = "bcm5461a";
				reg = <0x00000002>;
				txc-rxc-delay-disable;
			};
		};

		ethernet@6200 {
			device_type = "network";
			compatible = "tsi109-ethernet", "tsi108-ethernet";
			#address-cells = <1>;
			#size-cells = <0>;
			reg = <0x00006000 0x00000200>;
			local-mac-address = [ 00 00 00 00 00 00 ];
			interrupt-parent = <&MPIC>;
			interrupts = <0x10 0x2>;
			mdio-handle = <&MDIO>;
			phy-handle = <&PHY1>;
		};

		ethernet@6600 {
			device_type = "network";
			compatible = "tsi109-ethernet", "tsi108-ethernet";
			#address-cells = <1>;
			#size-cells = <0>;
			reg = <0x00006400 0x00000200>;
			local-mac-address = [ 00 00 00 00 00 00 ];
			interrupt-parent = <&MPIC>;
			interrupts = <0x11 0x2>;
			mdio-handle = <&MDIO>;
			phy-handle = <&PHY2>;
		};

		serial@7808 {
			device_type = "serial";
			compatible = "ns16550";
			reg = <0x00007808 0x00000200>;
			virtual-reg = <0xc0007808>;
			clock-frequency = <1067212800>;
			current-speed = <115200>;
			interrupt-parent = <&MPIC>;
			interrupts = <0xc 0x2>;
		};

		serial@7c08 {
			device_type = "serial";
			compatible = "ns16550";
			reg = <0x00007c08 0x00000200>;
			virtual-reg = <0xc0007c08>;
			clock-frequency = <1067212800>;
			current-speed = <115200>;
			interrupt-parent = <&MPIC>;
			interrupts = <0xd 0x2>;
		};

	  	MPIC: pic@7400 {
			device_type = "open-pic";
			compatible = "chrp,open-pic";
			interrupt-controller;
			#interrupt-cells = <2>;
			reg = <0x00007400 0x00000400>;
			big-endian;
		};
	};

	pci@c0001000 {
		device_type = "pci";
		compatible = "tsi109-pci", "tsi108-pci";
		#interrupt-cells = <1>;
		#size-cells = <2>;
		#address-cells = <3>;
		reg = <0xc0001000 0x00001000>;
		bus-range = <0x0 0x0>;
		/*----------------------------------------------------+
		| PCI memory range.
		| 01 denotes I/O space
		| 02 denotes 32-bit memory space
		+----------------------------------------------------*/
		ranges = <0x02000000 0x00000000 0x40000000 0x40000000 0x00000000 0x10000000
			  0x01000000 0x00000000 0x00000000 0x7e000000 0x00000000 0x00010000>;
		clock-frequency = <133333332>;
		interrupt-parent = <&MPIC>;
		interrupts = <0x17 0x2>;
		interrupt-map-mask = <0xf800 0x0 0x0 0x7>;
		/*----------------------------------------------------+
		| The INTA, INTB, INTC, INTD are shared.
		+----------------------------------------------------*/
		interrupt-map = <
			0x800 0x0 0x0 0x1 &RT0 0x24 0x0
			0x800 0x0 0x0 0x2 &RT0 0x25 0x0
			0x800 0x0 0x0 0x3 &RT0 0x26 0x0
			0x800 0x0 0x0 0x4 &RT0 0x27 0x0

			0x1000 0x0 0x0 0x1 &RT0 0x25 0x0
			0x1000 0x0 0x0 0x2 &RT0 0x26 0x0
			0x1000 0x0 0x0 0x3 &RT0 0x27 0x0
			0x1000 0x0 0x0 0x4 &RT0 0x24 0x0

			0x1800 0x0 0x0 0x1 &RT0 0x26 0x0
			0x1800 0x0 0x0 0x2 &RT0 0x27 0x0
			0x1800 0x0 0x0 0x3 &RT0 0x24 0x0
			0x1800 0x0 0x0 0x4 &RT0 0x25 0x0

			0x2000 0x0 0x0 0x1 &RT0 0x27 0x0
			0x2000 0x0 0x0 0x2 &RT0 0x24 0x0
			0x2000 0x0 0x0 0x3 &RT0 0x25 0x0
			0x2000 0x0 0x0 0x4 &RT0 0x26 0x0
			>;

		RT0: router@1180 {
			device_type = "pic-router";
			interrupt-controller;
			big-endian;
			clock-frequency = <0>;
			#address-cells = <0>;
			#interrupt-cells = <2>;
			interrupts = <0x17 0x2>;
			interrupt-parent = <&MPIC>;
		};
	};

	chosen {
		linux,stdout-path = "/tsi109@c0000000/serial@7808";
	};
};
