xref: /openbmc/linux/arch/powerpc/boot/dts/wii.dts (revision f4ddc19a)
1/*
2 * arch/powerpc/boot/dts/wii.dts
3 *
4 * Nintendo Wii platform device tree source
5 * Copyright (C) 2008-2009 The GameCube Linux Team
6 * Copyright (C) 2008,2009 Albert Herranz
7 *
8 * This program is free software; you can redistribute it and/or
9 * modify it under the terms of the GNU General Public License
10 * as published by the Free Software Foundation; either version 2
11 * of the License, or (at your option) any later version.
12 *
13 */
14
15/dts-v1/;
16#include <dt-bindings/gpio/gpio.h>
17
18/*
19 * This is commented-out for now.
20 * Until a later patch is merged, the kernel can use only the first
21 * contiguous RAM range and will BUG() if the memreserve is outside
22 * that range.
23 */
24/*/memreserve/ 0x10000000 0x0004000;*/	/* DSP RAM */
25
26/ {
27	model = "nintendo,wii";
28	compatible = "nintendo,wii";
29	#address-cells = <1>;
30	#size-cells = <1>;
31
32	chosen {
33		bootargs = "root=/dev/mmcblk0p2 rootwait udbg-immortal";
34	};
35
36	memory {
37		device_type = "memory";
38		reg = <0x00000000 0x01800000	/* MEM1 24MB 1T-SRAM */
39		       0x10000000 0x04000000>;	/* MEM2 64MB GDDR3 */
40	};
41
42	cpus {
43		#address-cells = <1>;
44		#size-cells = <0>;
45
46		PowerPC,broadway@0 {
47			device_type = "cpu";
48			reg = <0>;
49			clock-frequency = <729000000>; /* 729MHz */
50			bus-frequency = <243000000>; /* 243MHz core-to-bus 3x */
51			timebase-frequency = <60750000>; /* 243MHz / 4 */
52			i-cache-line-size = <32>;
53			d-cache-line-size = <32>;
54			i-cache-size = <32768>;
55			d-cache-size = <32768>;
56		};
57	};
58
59	/* devices contained in the hollywood chipset */
60	hollywood {
61		#address-cells = <1>;
62		#size-cells = <1>;
63		compatible = "nintendo,hollywood";
64                ranges = <0x0c000000 0x0c000000 0x01000000
65			  0x0d000000 0x0d000000 0x00800000
66			  0x0d800000 0x0d800000 0x00800000>;
67		interrupt-parent = <&PIC0>;
68
69		video@c002000 {
70			compatible = "nintendo,hollywood-vi",
71					"nintendo,flipper-vi";
72			reg = <0x0c002000 0x100>;
73			interrupts = <8>;
74		};
75
76		processor-interface@c003000 {
77			compatible = "nintendo,hollywood-pi",
78					"nintendo,flipper-pi";
79			reg = <0x0c003000 0x100>;
80
81			PIC0: pic0 {
82				#interrupt-cells = <1>;
83				compatible = "nintendo,flipper-pic";
84				interrupt-controller;
85			};
86		};
87
88		dsp@c005000 {
89			#address-cells = <1>;
90			#size-cells = <1>;
91			compatible = "nintendo,hollywood-dsp",
92					"nintendo,flipper-dsp";
93			reg = <0x0c005000 0x200>;
94			interrupts = <6>;
95		};
96
97		gamepad-controller@d006400 {
98			compatible = "nintendo,hollywood-si",
99					"nintendo,flipper-si";
100			reg = <0x0d006400 0x100>;
101			interrupts = <3>;
102		};
103
104		audio@c006c00 {
105			compatible = "nintendo,hollywood-ai",
106					"nintendo,flipper-ai";
107			reg = <0x0d006c00 0x20>;
108			interrupts = <6>;
109		};
110
111		/* External Interface bus */
112		exi@d006800 {
113			compatible = "nintendo,hollywood-exi",
114					"nintendo,flipper-exi";
115			reg = <0x0d006800 0x40>;
116			virtual-reg = <0x0d006800>;
117			interrupts = <4>;
118		};
119
120		usb@d040000 {
121			compatible = "nintendo,hollywood-usb-ehci",
122					"usb-ehci";
123			reg = <0x0d040000 0x100>;
124			interrupts = <4>;
125			interrupt-parent = <&PIC1>;
126		};
127
128		usb@d050000 {
129			compatible = "nintendo,hollywood-usb-ohci",
130					"usb-ohci";
131			reg = <0x0d050000 0x100>;
132			interrupts = <5>;
133			interrupt-parent = <&PIC1>;
134		};
135
136		usb@d060000 {
137			compatible = "nintendo,hollywood-usb-ohci",
138					"usb-ohci";
139			reg = <0x0d060000 0x100>;
140			interrupts = <6>;
141			interrupt-parent = <&PIC1>;
142		};
143
144		sd@d070000 {
145			compatible = "nintendo,hollywood-sdhci",
146					"sdhci";
147			reg = <0x0d070000 0x200>;
148			interrupts = <7>;
149			interrupt-parent = <&PIC1>;
150		};
151
152		sdio@d080000 {
153			compatible = "nintendo,hollywood-sdhci",
154					"sdhci";
155			reg = <0x0d080000 0x200>;
156			interrupts = <8>;
157			interrupt-parent = <&PIC1>;
158		};
159
160		ipc@d000000 {
161			compatible = "nintendo,hollywood-ipc";
162			reg = <0x0d000000 0x10>;
163			interrupts = <30>;
164			interrupt-parent = <&PIC1>;
165		};
166
167		PIC1: pic1@d800030 {
168			#interrupt-cells = <1>;
169			compatible = "nintendo,hollywood-pic";
170			reg = <0x0d800030 0x10>;
171			interrupt-controller;
172			interrupts = <14>;
173		};
174
175		GPIO: gpio@d8000c0 {
176			#gpio-cells = <2>;
177			compatible = "nintendo,hollywood-gpio";
178			reg = <0x0d8000c0 0x40>;
179			gpio-controller;
180			ngpios = <24>;
181
182			gpio-line-names =
183				"POWER", "SHUTDOWN", "FAN", "DC_DC",
184				"DI_SPIN", "SLOT_LED", "EJECT_BTN", "SLOT_IN",
185				"SENSOR_BAR", "DO_EJECT", "EEP_CS", "EEP_CLK",
186				"EEP_MOSI", "EEP_MISO", "AVE_SCL", "AVE_SDA",
187				"DEBUG0", "DEBUG1", "DEBUG2", "DEBUG3",
188				"DEBUG4", "DEBUG5", "DEBUG6", "DEBUG7";
189
190			interrupt-controller;
191			#interrupt-cells = <2>;
192			interrupts = <10>;
193			interrupt-parent = <&PIC1>;
194
195			/*
196			 * This is commented out while a standard binding
197			 * for i2c over gpio is defined.
198			 */
199			/*
200			i2c-video {
201				#address-cells = <1>;
202				#size-cells = <0>;
203			        compatible = "i2c-gpio";
204
205			        gpios = <&GPIO 15 0
206			                 &GPIO 14 0>;
207			        clock-frequency = <250000>;
208				no-clock-stretching;
209			        scl-is-open-drain;
210			        sda-is-open-drain;
211			        sda-enforce-dir;
212
213			        AVE: audio-video-encoder@70 {
214			                compatible = "nintendo,wii-audio-video-encoder";
215			                reg = <0x70>;
216			        };
217			};
218			*/
219		};
220
221		control@d800100 {
222			compatible = "nintendo,hollywood-control";
223			reg = <0x0d800100 0x300>;
224		};
225
226		disk@d806000 {
227			compatible = "nintendo,hollywood-di";
228			reg = <0x0d806000 0x40>;
229			interrupts = <2>;
230		};
231	};
232
233	gpio-leds {
234		compatible = "gpio-leds";
235
236		/* This is the blue LED in the disk drive slot */
237		drive-slot {
238			label = "wii:blue:drive_slot";
239			gpios = <&GPIO 5 GPIO_ACTIVE_HIGH>;
240			panic-indicator;
241		};
242	};
243};
244
245