186ad53f8SAlbert Herranz/*
286ad53f8SAlbert Herranz * arch/powerpc/boot/dts/gamecube.dts
386ad53f8SAlbert Herranz *
486ad53f8SAlbert Herranz * Nintendo GameCube platform device tree source
586ad53f8SAlbert Herranz * Copyright (C) 2007-2009 The GameCube Linux Team
686ad53f8SAlbert Herranz * Copyright (C) 2007,2008,2009 Albert Herranz
786ad53f8SAlbert Herranz *
886ad53f8SAlbert Herranz * This program is free software; you can redistribute it and/or
986ad53f8SAlbert Herranz * modify it under the terms of the GNU General Public License
1086ad53f8SAlbert Herranz * as published by the Free Software Foundation; either version 2
1186ad53f8SAlbert Herranz * of the License, or (at your option) any later version.
1286ad53f8SAlbert Herranz *
1386ad53f8SAlbert Herranz */
1486ad53f8SAlbert Herranz
1586ad53f8SAlbert Herranz/dts-v1/;
1686ad53f8SAlbert Herranz
1786ad53f8SAlbert Herranz/ {
1886ad53f8SAlbert Herranz	model = "nintendo,gamecube";
1986ad53f8SAlbert Herranz	compatible = "nintendo,gamecube";
2086ad53f8SAlbert Herranz	#address-cells = <1>;
2186ad53f8SAlbert Herranz	#size-cells = <1>;
2286ad53f8SAlbert Herranz
2386ad53f8SAlbert Herranz	chosen {
2486ad53f8SAlbert Herranz		bootargs = "root=/dev/gcnsda2 rootwait udbg-immortal";
2586ad53f8SAlbert Herranz	};
2686ad53f8SAlbert Herranz
2786ad53f8SAlbert Herranz	memory {
2886ad53f8SAlbert Herranz		device_type = "memory";
2986ad53f8SAlbert Herranz		reg = <0x00000000 0x01800000>;
3086ad53f8SAlbert Herranz	};
3186ad53f8SAlbert Herranz
3286ad53f8SAlbert Herranz	cpus {
3386ad53f8SAlbert Herranz		#address-cells = <1>;
3486ad53f8SAlbert Herranz		#size-cells = <0>;
3586ad53f8SAlbert Herranz
3686ad53f8SAlbert Herranz		PowerPC,gekko@0 {
3786ad53f8SAlbert Herranz			device_type = "cpu";
3886ad53f8SAlbert Herranz			reg = <0>;
3986ad53f8SAlbert Herranz			clock-frequency = <486000000>; /* 486MHz */
4086ad53f8SAlbert Herranz			bus-frequency = <162000000>; /* 162MHz core-to-bus 3x */
4186ad53f8SAlbert Herranz			timebase-frequency = <40500000>; /* 162MHz / 4 */
4286ad53f8SAlbert Herranz			i-cache-line-size = <32>;
4386ad53f8SAlbert Herranz			d-cache-line-size = <32>;
4486ad53f8SAlbert Herranz			i-cache-size = <32768>;
4586ad53f8SAlbert Herranz			d-cache-size = <32768>;
4686ad53f8SAlbert Herranz		};
4786ad53f8SAlbert Herranz	};
4886ad53f8SAlbert Herranz
4986ad53f8SAlbert Herranz	/* devices contained int the flipper chipset */
5086ad53f8SAlbert Herranz	flipper {
5186ad53f8SAlbert Herranz		#address-cells = <1>;
5286ad53f8SAlbert Herranz		#size-cells = <1>;
5386ad53f8SAlbert Herranz		compatible = "nintendo,flipper";
5486ad53f8SAlbert Herranz		ranges = <0x0c000000 0x0c000000 0x00010000>;
5586ad53f8SAlbert Herranz		interrupt-parent = <&PIC>;
5686ad53f8SAlbert Herranz
57600ecc19SMathieu Malaterre		video@c002000 {
5886ad53f8SAlbert Herranz			compatible = "nintendo,flipper-vi";
5986ad53f8SAlbert Herranz			reg = <0x0c002000 0x100>;
6086ad53f8SAlbert Herranz			interrupts = <8>;
6186ad53f8SAlbert Herranz		};
6286ad53f8SAlbert Herranz
63600ecc19SMathieu Malaterre		processor-interface@c003000 {
6486ad53f8SAlbert Herranz			compatible = "nintendo,flipper-pi";
6586ad53f8SAlbert Herranz			reg = <0x0c003000 0x100>;
6686ad53f8SAlbert Herranz
6786ad53f8SAlbert Herranz			PIC: pic {
6886ad53f8SAlbert Herranz				#interrupt-cells = <1>;
6986ad53f8SAlbert Herranz				compatible = "nintendo,flipper-pic";
7086ad53f8SAlbert Herranz				interrupt-controller;
7186ad53f8SAlbert Herranz			};
7286ad53f8SAlbert Herranz		};
7386ad53f8SAlbert Herranz
74600ecc19SMathieu Malaterre		dsp@c005000 {
7586ad53f8SAlbert Herranz			#address-cells = <1>;
7686ad53f8SAlbert Herranz			#size-cells = <1>;
7786ad53f8SAlbert Herranz			compatible = "nintendo,flipper-dsp";
7886ad53f8SAlbert Herranz			reg = <0x0c005000 0x200>;
7986ad53f8SAlbert Herranz			interrupts = <6>;
8086ad53f8SAlbert Herranz
8186ad53f8SAlbert Herranz			memory@0 {
8286ad53f8SAlbert Herranz				compatible = "nintendo,flipper-aram";
8386ad53f8SAlbert Herranz				reg = <0 0x1000000>;	/* 16MB */
8486ad53f8SAlbert Herranz			};
8586ad53f8SAlbert Herranz		};
8686ad53f8SAlbert Herranz
87600ecc19SMathieu Malaterre		disk@c006000 {
8886ad53f8SAlbert Herranz			compatible = "nintendo,flipper-di";
8986ad53f8SAlbert Herranz			reg = <0x0c006000 0x40>;
9086ad53f8SAlbert Herranz			interrupts = <2>;
9186ad53f8SAlbert Herranz		};
9286ad53f8SAlbert Herranz
93600ecc19SMathieu Malaterre		audio@c006c00 {
9486ad53f8SAlbert Herranz			compatible = "nintendo,flipper-ai";
9586ad53f8SAlbert Herranz			reg = <0x0c006c00 0x20>;
9686ad53f8SAlbert Herranz			interrupts = <6>;
9786ad53f8SAlbert Herranz		};
9886ad53f8SAlbert Herranz
99600ecc19SMathieu Malaterre		gamepad-controller@c006400 {
10086ad53f8SAlbert Herranz			compatible = "nintendo,flipper-si";
10186ad53f8SAlbert Herranz			reg = <0x0c006400 0x100>;
10286ad53f8SAlbert Herranz			interrupts = <3>;
10386ad53f8SAlbert Herranz		};
10486ad53f8SAlbert Herranz
10586ad53f8SAlbert Herranz		/* External Interface bus */
106600ecc19SMathieu Malaterre		exi@c006800 {
10786ad53f8SAlbert Herranz			compatible = "nintendo,flipper-exi";
10886ad53f8SAlbert Herranz			reg = <0x0c006800 0x40>;
10986ad53f8SAlbert Herranz			virtual-reg = <0x0c006800>;
11086ad53f8SAlbert Herranz			interrupts = <4>;
11186ad53f8SAlbert Herranz		};
11286ad53f8SAlbert Herranz        };
11386ad53f8SAlbert Herranz};
11486ad53f8SAlbert Herranz
115