diff options
| author | Albert Herranz <albert_herranz@yahoo.es> | 2009-12-12 01:31:44 -0500 |
|---|---|---|
| committer | Grant Likely <grant.likely@secretlab.ca> | 2009-12-13 00:24:29 -0500 |
| commit | 7a09116c016611effe7037c8346c5f42a7416718 (patch) | |
| tree | 7769da6cc11df9ac4b2eba2b7bb630f4893d2772 | |
| parent | 86c3d131ce72a8ea82107c1113e30fc97583f8dd (diff) | |
powerpc: wii: device tree
Add a device tree source file for the Nintendo Wii video game console.
Signed-off-by: Albert Herranz <albert_herranz@yahoo.es>
Acked-by: Segher Boessenkool <segher@kernel.crashing.org>
Acked-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Signed-off-by: Grant Likely <grant.likely@secretlab.ca>
| -rw-r--r-- | Documentation/powerpc/dts-bindings/nintendo/wii.txt | 184 | ||||
| -rw-r--r-- | arch/powerpc/boot/dts/wii.dts | 218 |
2 files changed, 402 insertions, 0 deletions
diff --git a/Documentation/powerpc/dts-bindings/nintendo/wii.txt b/Documentation/powerpc/dts-bindings/nintendo/wii.txt new file mode 100644 index 000000000000..a7e155a023b8 --- /dev/null +++ b/Documentation/powerpc/dts-bindings/nintendo/wii.txt | |||
| @@ -0,0 +1,184 @@ | |||
| 1 | |||
| 2 | Nintendo Wii device tree | ||
| 3 | ======================== | ||
| 4 | |||
| 5 | 0) The root node | ||
| 6 | |||
| 7 | This node represents the Nintendo Wii video game console. | ||
| 8 | |||
| 9 | Required properties: | ||
| 10 | |||
| 11 | - model : Should be "nintendo,wii" | ||
| 12 | - compatible : Should be "nintendo,wii" | ||
| 13 | |||
| 14 | 1) The "hollywood" node | ||
| 15 | |||
| 16 | This node represents the multi-function "Hollywood" chip, which packages | ||
| 17 | many of the devices found in the Nintendo Wii. | ||
| 18 | |||
| 19 | Required properties: | ||
| 20 | |||
| 21 | - compatible : Should be "nintendo,hollywood" | ||
| 22 | |||
| 23 | 1.a) The Video Interface (VI) node | ||
| 24 | |||
| 25 | Represents the interface between the graphics processor and a external | ||
| 26 | video encoder. | ||
| 27 | |||
| 28 | Required properties: | ||
| 29 | |||
| 30 | - compatible : should be "nintendo,hollywood-vi","nintendo,flipper-vi" | ||
| 31 | - reg : should contain the VI registers location and length | ||
| 32 | - interrupts : should contain the VI interrupt | ||
| 33 | |||
| 34 | 1.b) The Processor Interface (PI) node | ||
| 35 | |||
| 36 | Represents the data and control interface between the main processor | ||
| 37 | and graphics and audio processor. | ||
| 38 | |||
| 39 | Required properties: | ||
| 40 | |||
| 41 | - compatible : should be "nintendo,hollywood-pi","nintendo,flipper-pi" | ||
| 42 | - reg : should contain the PI registers location and length | ||
| 43 | |||
| 44 | 1.b.i) The "Flipper" interrupt controller node | ||
| 45 | |||
| 46 | Represents the "Flipper" interrupt controller within the "Hollywood" chip. | ||
| 47 | The node for the "Flipper" interrupt controller must be placed under | ||
| 48 | the PI node. | ||
| 49 | |||
| 50 | Required properties: | ||
| 51 | |||
| 52 | - #interrupt-cells : <1> | ||
| 53 | - compatible : should be "nintendo,flipper-pic" | ||
| 54 | - interrupt-controller | ||
| 55 | |||
| 56 | 1.c) The Digital Signal Procesor (DSP) node | ||
| 57 | |||
| 58 | Represents the digital signal processor interface, designed to offload | ||
| 59 | audio related tasks. | ||
| 60 | |||
| 61 | Required properties: | ||
| 62 | |||
| 63 | - compatible : should be "nintendo,hollywood-dsp","nintendo,flipper-dsp" | ||
| 64 | - reg : should contain the DSP registers location and length | ||
| 65 | - interrupts : should contain the DSP interrupt | ||
| 66 | |||
| 67 | 1.d) The Serial Interface (SI) node | ||
| 68 | |||
| 69 | Represents the interface to the four single bit serial interfaces. | ||
| 70 | The SI is a proprietary serial interface used normally to control gamepads. | ||
| 71 | It's NOT a RS232-type interface. | ||
| 72 | |||
| 73 | Required properties: | ||
| 74 | |||
| 75 | - compatible : should be "nintendo,hollywood-si","nintendo,flipper-si" | ||
| 76 | - reg : should contain the SI registers location and length | ||
| 77 | - interrupts : should contain the SI interrupt | ||
| 78 | |||
| 79 | 1.e) The Audio Interface (AI) node | ||
| 80 | |||
| 81 | Represents the interface to the external 16-bit stereo digital-to-analog | ||
| 82 | converter. | ||
| 83 | |||
| 84 | Required properties: | ||
| 85 | |||
| 86 | - compatible : should be "nintendo,hollywood-ai","nintendo,flipper-ai" | ||
| 87 | - reg : should contain the AI registers location and length | ||
| 88 | - interrupts : should contain the AI interrupt | ||
| 89 | |||
| 90 | 1.f) The External Interface (EXI) node | ||
| 91 | |||
| 92 | Represents the multi-channel SPI-like interface. | ||
| 93 | |||
| 94 | Required properties: | ||
| 95 | |||
| 96 | - compatible : should be "nintendo,hollywood-exi","nintendo,flipper-exi" | ||
| 97 | - reg : should contain the EXI registers location and length | ||
| 98 | - interrupts : should contain the EXI interrupt | ||
| 99 | |||
| 100 | 1.g) The Open Host Controller Interface (OHCI) nodes | ||
| 101 | |||
| 102 | Represent the USB 1.x Open Host Controller Interfaces. | ||
| 103 | |||
| 104 | Required properties: | ||
| 105 | |||
| 106 | - compatible : should be "nintendo,hollywood-usb-ohci","usb-ohci" | ||
| 107 | - reg : should contain the OHCI registers location and length | ||
| 108 | - interrupts : should contain the OHCI interrupt | ||
| 109 | |||
| 110 | 1.h) The Enhanced Host Controller Interface (EHCI) node | ||
| 111 | |||
| 112 | Represents the USB 2.0 Enhanced Host Controller Interface. | ||
| 113 | |||
| 114 | Required properties: | ||
| 115 | |||
| 116 | - compatible : should be "nintendo,hollywood-usb-ehci","usb-ehci" | ||
| 117 | - reg : should contain the EHCI registers location and length | ||
| 118 | - interrupts : should contain the EHCI interrupt | ||
| 119 | |||
| 120 | 1.i) The Secure Digital Host Controller Interface (SDHCI) nodes | ||
| 121 | |||
| 122 | Represent the Secure Digital Host Controller Interfaces. | ||
| 123 | |||
| 124 | Required properties: | ||
| 125 | |||
| 126 | - compatible : should be "nintendo,hollywood-sdhci","sdhci" | ||
| 127 | - reg : should contain the SDHCI registers location and length | ||
| 128 | - interrupts : should contain the SDHCI interrupt | ||
| 129 | |||
| 130 | 1.j) The Inter-Processsor Communication (IPC) node | ||
| 131 | |||
| 132 | Represent the Inter-Processor Communication interface. This interface | ||
| 133 | enables communications between the Broadway and the Starlet processors. | ||
| 134 | |||
| 135 | - compatible : should be "nintendo,hollywood-ipc" | ||
| 136 | - reg : should contain the IPC registers location and length | ||
| 137 | - interrupts : should contain the IPC interrupt | ||
| 138 | |||
| 139 | 1.k) The "Hollywood" interrupt controller node | ||
| 140 | |||
| 141 | Represents the "Hollywood" interrupt controller within the | ||
| 142 | "Hollywood" chip. | ||
| 143 | |||
| 144 | Required properties: | ||
| 145 | |||
| 146 | - #interrupt-cells : <1> | ||
| 147 | - compatible : should be "nintendo,hollywood-pic" | ||
| 148 | - reg : should contain the controller registers location and length | ||
| 149 | - interrupt-controller | ||
| 150 | - interrupts : should contain the cascade interrupt of the "flipper" pic | ||
| 151 | - interrupt-parent: should contain the phandle of the "flipper" pic | ||
| 152 | |||
| 153 | 1.l) The General Purpose I/O (GPIO) controller node | ||
| 154 | |||
| 155 | Represents the dual access 32 GPIO controller interface. | ||
| 156 | |||
| 157 | Required properties: | ||
| 158 | |||
| 159 | - #gpio-cells : <2> | ||
| 160 | - compatible : should be "nintendo,hollywood-gpio" | ||
| 161 | - reg : should contain the IPC registers location and length | ||
| 162 | - gpio-controller | ||
| 163 | |||
| 164 | 1.m) The control node | ||
| 165 | |||
| 166 | Represents the control interface used to setup several miscellaneous | ||
| 167 | settings of the "Hollywood" chip like boot memory mappings, resets, | ||
| 168 | disk interface mode, etc. | ||
| 169 | |||
| 170 | Required properties: | ||
| 171 | |||
| 172 | - compatible : should be "nintendo,hollywood-control" | ||
| 173 | - reg : should contain the control registers location and length | ||
| 174 | |||
| 175 | 1.n) The Disk Interface (DI) node | ||
| 176 | |||
| 177 | Represents the interface used to communicate with mass storage devices. | ||
| 178 | |||
| 179 | Required properties: | ||
| 180 | |||
| 181 | - compatible : should be "nintendo,hollywood-di" | ||
| 182 | - reg : should contain the DI registers location and length | ||
| 183 | - interrupts : should contain the DI interrupt | ||
| 184 | |||
diff --git a/arch/powerpc/boot/dts/wii.dts b/arch/powerpc/boot/dts/wii.dts new file mode 100644 index 000000000000..77528c9a8dbd --- /dev/null +++ b/arch/powerpc/boot/dts/wii.dts | |||
| @@ -0,0 +1,218 @@ | |||
| 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 | |||
| 17 | /* | ||
| 18 | * This is commented-out for now. | ||
| 19 | * Until a later patch is merged, the kernel can use only the first | ||
| 20 | * contiguous RAM range and will BUG() if the memreserve is outside | ||
| 21 | * that range. | ||
| 22 | */ | ||
| 23 | /*/memreserve/ 0x10000000 0x0004000;*/ /* DSP RAM */ | ||
| 24 | |||
| 25 | / { | ||
| 26 | model = "nintendo,wii"; | ||
| 27 | compatible = "nintendo,wii"; | ||
| 28 | #address-cells = <1>; | ||
| 29 | #size-cells = <1>; | ||
| 30 | |||
| 31 | chosen { | ||
| 32 | bootargs = "root=/dev/mmcblk0p2 rootwait udbg-immortal"; | ||
| 33 | }; | ||
| 34 | |||
| 35 | memory { | ||
| 36 | device_type = "memory"; | ||
| 37 | reg = <0x00000000 0x01800000 /* MEM1 24MB 1T-SRAM */ | ||
| 38 | 0x10000000 0x04000000>; /* MEM2 64MB GDDR3 */ | ||
| 39 | }; | ||
| 40 | |||
| 41 | cpus { | ||
| 42 | #address-cells = <1>; | ||
| 43 | #size-cells = <0>; | ||
| 44 | |||
| 45 | PowerPC,broadway@0 { | ||
| 46 | device_type = "cpu"; | ||
| 47 | reg = <0>; | ||
| 48 | clock-frequency = <729000000>; /* 729MHz */ | ||
| 49 | bus-frequency = <243000000>; /* 243MHz core-to-bus 3x */ | ||
| 50 | timebase-frequency = <60750000>; /* 243MHz / 4 */ | ||
| 51 | i-cache-line-size = <32>; | ||
| 52 | d-cache-line-size = <32>; | ||
| 53 | i-cache-size = <32768>; | ||
| 54 | d-cache-size = <32768>; | ||
| 55 | }; | ||
| 56 | }; | ||
| 57 | |||
| 58 | /* devices contained in the hollywood chipset */ | ||
| 59 | hollywood { | ||
| 60 | #address-cells = <1>; | ||
| 61 | #size-cells = <1>; | ||
| 62 | compatible = "nintendo,hollywood"; | ||
| 63 | ranges = <0x0c000000 0x0c000000 0x01000000 | ||
| 64 | 0x0d000000 0x0d000000 0x00800000 | ||
| 65 | 0x0d800000 0x0d800000 0x00800000>; | ||
| 66 | interrupt-parent = <&PIC0>; | ||
| 67 | |||
| 68 | video@0c002000 { | ||
| 69 | compatible = "nintendo,hollywood-vi", | ||
| 70 | "nintendo,flipper-vi"; | ||
| 71 | reg = <0x0c002000 0x100>; | ||
| 72 | interrupts = <8>; | ||
| 73 | }; | ||
| 74 | |||
| 75 | processor-interface@0c003000 { | ||
| 76 | compatible = "nintendo,hollywood-pi", | ||
| 77 | "nintendo,flipper-pi"; | ||
| 78 | reg = <0x0c003000 0x100>; | ||
| 79 | |||
| 80 | PIC0: pic0 { | ||
| 81 | #interrupt-cells = <1>; | ||
| 82 | compatible = "nintendo,flipper-pic"; | ||
| 83 | interrupt-controller; | ||
| 84 | }; | ||
| 85 | }; | ||
| 86 | |||
| 87 | dsp@0c005000 { | ||
| 88 | #address-cells = <1>; | ||
| 89 | #size-cells = <1>; | ||
| 90 | compatible = "nintendo,hollywood-dsp", | ||
| 91 | "nintendo,flipper-dsp"; | ||
| 92 | reg = <0x0c005000 0x200>; | ||
| 93 | interrupts = <6>; | ||
| 94 | }; | ||
| 95 | |||
| 96 | gamepad-controller@0d006400 { | ||
| 97 | compatible = "nintendo,hollywood-si", | ||
| 98 | "nintendo,flipper-si"; | ||
| 99 | reg = <0x0d006400 0x100>; | ||
| 100 | interrupts = <3>; | ||
| 101 | }; | ||
| 102 | |||
| 103 | audio@0c006c00 { | ||
| 104 | compatible = "nintendo,hollywood-ai", | ||
| 105 | "nintendo,flipper-ai"; | ||
| 106 | reg = <0x0d006c00 0x20>; | ||
| 107 | interrupts = <6>; | ||
| 108 | }; | ||
| 109 | |||
| 110 | /* External Interface bus */ | ||
| 111 | exi@0d006800 { | ||
| 112 | compatible = "nintendo,hollywood-exi", | ||
| 113 | "nintendo,flipper-exi"; | ||
| 114 | reg = <0x0d006800 0x40>; | ||
| 115 | virtual-reg = <0x0d006800>; | ||
| 116 | interrupts = <4>; | ||
| 117 | }; | ||
| 118 | |||
| 119 | usb@0d040000 { | ||
| 120 | compatible = "nintendo,hollywood-usb-ehci", | ||
| 121 | "usb-ehci"; | ||
| 122 | reg = <0x0d040000 0x100>; | ||
| 123 | interrupts = <4>; | ||
| 124 | interrupt-parent = <&PIC1>; | ||
| 125 | }; | ||
| 126 | |||
| 127 | usb@0d050000 { | ||
| 128 | compatible = "nintendo,hollywood-usb-ohci", | ||
| 129 | "usb-ohci"; | ||
| 130 | reg = <0x0d050000 0x100>; | ||
| 131 | interrupts = <5>; | ||
| 132 | interrupt-parent = <&PIC1>; | ||
| 133 | }; | ||
| 134 | |||
| 135 | usb@0d060000 { | ||
| 136 | compatible = "nintendo,hollywood-usb-ohci", | ||
| 137 | "usb-ohci"; | ||
| 138 | reg = <0x0d060000 0x100>; | ||
| 139 | interrupts = <6>; | ||
| 140 | interrupt-parent = <&PIC1>; | ||
| 141 | }; | ||
| 142 | |||
| 143 | sd@0d070000 { | ||
| 144 | compatible = "nintendo,hollywood-sdhci", | ||
| 145 | "sdhci"; | ||
| 146 | reg = <0x0d070000 0x200>; | ||
| 147 | interrupts = <7>; | ||
| 148 | interrupt-parent = <&PIC1>; | ||
| 149 | }; | ||
| 150 | |||
| 151 | sdio@0d080000 { | ||
| 152 | compatible = "nintendo,hollywood-sdhci", | ||
| 153 | "sdhci"; | ||
| 154 | reg = <0x0d080000 0x200>; | ||
| 155 | interrupts = <8>; | ||
| 156 | interrupt-parent = <&PIC1>; | ||
| 157 | }; | ||
| 158 | |||
| 159 | ipc@0d000000 { | ||
| 160 | compatible = "nintendo,hollywood-ipc"; | ||
| 161 | reg = <0x0d000000 0x10>; | ||
| 162 | interrupts = <30>; | ||
| 163 | interrupt-parent = <&PIC1>; | ||
| 164 | }; | ||
| 165 | |||
| 166 | PIC1: pic1@0d800030 { | ||
| 167 | #interrupt-cells = <1>; | ||
| 168 | compatible = "nintendo,hollywood-pic"; | ||
| 169 | reg = <0x0d800030 0x10>; | ||
| 170 | interrupt-controller; | ||
| 171 | interrupts = <14>; | ||
| 172 | }; | ||
| 173 | |||
| 174 | GPIO: gpio@0d8000c0 { | ||
| 175 | #gpio-cells = <2>; | ||
| 176 | compatible = "nintendo,hollywood-gpio"; | ||
| 177 | reg = <0x0d8000c0 0x40>; | ||
| 178 | gpio-controller; | ||
| 179 | |||
| 180 | /* | ||
| 181 | * This is commented out while a standard binding | ||
| 182 | * for i2c over gpio is defined. | ||
| 183 | */ | ||
| 184 | /* | ||
| 185 | i2c-video { | ||
| 186 | #address-cells = <1>; | ||
| 187 | #size-cells = <0>; | ||
| 188 | compatible = "i2c-gpio"; | ||
| 189 | |||
| 190 | gpios = <&GPIO 15 0 | ||
| 191 | &GPIO 14 0>; | ||
| 192 | clock-frequency = <250000>; | ||
| 193 | no-clock-stretching; | ||
| 194 | scl-is-open-drain; | ||
| 195 | sda-is-open-drain; | ||
| 196 | sda-enforce-dir; | ||
| 197 | |||
| 198 | AVE: audio-video-encoder@70 { | ||
| 199 | compatible = "nintendo,wii-audio-video-encoder"; | ||
| 200 | reg = <0x70>; | ||
| 201 | }; | ||
| 202 | }; | ||
| 203 | */ | ||
| 204 | }; | ||
| 205 | |||
| 206 | control@0d800100 { | ||
| 207 | compatible = "nintendo,hollywood-control"; | ||
| 208 | reg = <0x0d800100 0x300>; | ||
| 209 | }; | ||
| 210 | |||
| 211 | disk@0d806000 { | ||
| 212 | compatible = "nintendo,hollywood-di"; | ||
| 213 | reg = <0x0d806000 0x40>; | ||
| 214 | interrupts = <2>; | ||
| 215 | }; | ||
| 216 | }; | ||
| 217 | }; | ||
| 218 | |||
