GNU Linux-libre 4.19.295-gnu1
[releases.git] / arch / powerpc / boot / dts / wii.dts
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                         /*
191                          * This is commented out while a standard binding
192                          * for i2c over gpio is defined.
193                          */
194                         /*
195                         i2c-video {
196                                 #address-cells = <1>;
197                                 #size-cells = <0>;
198                                 compatible = "i2c-gpio";
199
200                                 gpios = <&GPIO 15 0
201                                          &GPIO 14 0>;
202                                 clock-frequency = <250000>;
203                                 no-clock-stretching;
204                                 scl-is-open-drain;
205                                 sda-is-open-drain;
206                                 sda-enforce-dir;
207
208                                 AVE: audio-video-encoder@70 {
209                                         compatible = "nintendo,wii-audio-video-encoder";
210                                         reg = <0x70>;
211                                 };
212                         };
213                         */
214                 };
215
216                 control@d800100 {
217                         compatible = "nintendo,hollywood-control";
218                         reg = <0x0d800100 0x300>;
219                 };
220
221                 disk@d806000 {
222                         compatible = "nintendo,hollywood-di";
223                         reg = <0x0d806000 0x40>;
224                         interrupts = <2>;
225                 };
226         };
227
228         gpio-leds {
229                 compatible = "gpio-leds";
230
231                 /* This is the blue LED in the disk drive slot */
232                 drive-slot {
233                         label = "wii:blue:drive_slot";
234                         gpios = <&GPIO 5 GPIO_ACTIVE_HIGH>;
235                         panic-indicator;
236                 };
237         };
238 };
239