wii.dts 5.4 KB

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