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