17a09116cSAlbert Herranz/* 27a09116cSAlbert Herranz * arch/powerpc/boot/dts/wii.dts 37a09116cSAlbert Herranz * 47a09116cSAlbert Herranz * Nintendo Wii platform device tree source 57a09116cSAlbert Herranz * Copyright (C) 2008-2009 The GameCube Linux Team 67a09116cSAlbert Herranz * Copyright (C) 2008,2009 Albert Herranz 77a09116cSAlbert Herranz * 87a09116cSAlbert Herranz * This program is free software; you can redistribute it and/or 97a09116cSAlbert Herranz * modify it under the terms of the GNU General Public License 107a09116cSAlbert Herranz * as published by the Free Software Foundation; either version 2 117a09116cSAlbert Herranz * of the License, or (at your option) any later version. 127a09116cSAlbert Herranz * 137a09116cSAlbert Herranz */ 147a09116cSAlbert Herranz 157a09116cSAlbert Herranz/dts-v1/; 16041413b8SJonathan Neuschäfer#include <dt-bindings/gpio/gpio.h> 17*8de7547eSJonathan Neuschäfer#include <dt-bindings/input/input.h> 187a09116cSAlbert Herranz 197a09116cSAlbert Herranz/* 207a09116cSAlbert Herranz * This is commented-out for now. 217a09116cSAlbert Herranz * Until a later patch is merged, the kernel can use only the first 227a09116cSAlbert Herranz * contiguous RAM range and will BUG() if the memreserve is outside 237a09116cSAlbert Herranz * that range. 247a09116cSAlbert Herranz */ 257a09116cSAlbert Herranz/*/memreserve/ 0x10000000 0x0004000;*/ /* DSP RAM */ 267a09116cSAlbert Herranz 277a09116cSAlbert Herranz/ { 287a09116cSAlbert Herranz model = "nintendo,wii"; 297a09116cSAlbert Herranz compatible = "nintendo,wii"; 307a09116cSAlbert Herranz #address-cells = <1>; 317a09116cSAlbert Herranz #size-cells = <1>; 327a09116cSAlbert Herranz 337a09116cSAlbert Herranz chosen { 347a09116cSAlbert Herranz bootargs = "root=/dev/mmcblk0p2 rootwait udbg-immortal"; 357a09116cSAlbert Herranz }; 367a09116cSAlbert Herranz 377a09116cSAlbert Herranz memory { 387a09116cSAlbert Herranz device_type = "memory"; 397a09116cSAlbert Herranz reg = <0x00000000 0x01800000 /* MEM1 24MB 1T-SRAM */ 407a09116cSAlbert Herranz 0x10000000 0x04000000>; /* MEM2 64MB GDDR3 */ 417a09116cSAlbert Herranz }; 427a09116cSAlbert Herranz 437a09116cSAlbert Herranz cpus { 447a09116cSAlbert Herranz #address-cells = <1>; 457a09116cSAlbert Herranz #size-cells = <0>; 467a09116cSAlbert Herranz 477a09116cSAlbert Herranz PowerPC,broadway@0 { 487a09116cSAlbert Herranz device_type = "cpu"; 497a09116cSAlbert Herranz reg = <0>; 507a09116cSAlbert Herranz clock-frequency = <729000000>; /* 729MHz */ 517a09116cSAlbert Herranz bus-frequency = <243000000>; /* 243MHz core-to-bus 3x */ 527a09116cSAlbert Herranz timebase-frequency = <60750000>; /* 243MHz / 4 */ 537a09116cSAlbert Herranz i-cache-line-size = <32>; 547a09116cSAlbert Herranz d-cache-line-size = <32>; 557a09116cSAlbert Herranz i-cache-size = <32768>; 567a09116cSAlbert Herranz d-cache-size = <32768>; 577a09116cSAlbert Herranz }; 587a09116cSAlbert Herranz }; 597a09116cSAlbert Herranz 607a09116cSAlbert Herranz /* devices contained in the hollywood chipset */ 617a09116cSAlbert Herranz hollywood { 627a09116cSAlbert Herranz #address-cells = <1>; 637a09116cSAlbert Herranz #size-cells = <1>; 647a09116cSAlbert Herranz compatible = "nintendo,hollywood"; 657a09116cSAlbert Herranz ranges = <0x0c000000 0x0c000000 0x01000000 667a09116cSAlbert Herranz 0x0d000000 0x0d000000 0x00800000 677a09116cSAlbert Herranz 0x0d800000 0x0d800000 0x00800000>; 687a09116cSAlbert Herranz interrupt-parent = <&PIC0>; 697a09116cSAlbert Herranz 70600ecc19SMathieu Malaterre video@c002000 { 717a09116cSAlbert Herranz compatible = "nintendo,hollywood-vi", 727a09116cSAlbert Herranz "nintendo,flipper-vi"; 737a09116cSAlbert Herranz reg = <0x0c002000 0x100>; 747a09116cSAlbert Herranz interrupts = <8>; 757a09116cSAlbert Herranz }; 767a09116cSAlbert Herranz 77600ecc19SMathieu Malaterre processor-interface@c003000 { 787a09116cSAlbert Herranz compatible = "nintendo,hollywood-pi", 797a09116cSAlbert Herranz "nintendo,flipper-pi"; 807a09116cSAlbert Herranz reg = <0x0c003000 0x100>; 817a09116cSAlbert Herranz 827a09116cSAlbert Herranz PIC0: pic0 { 837a09116cSAlbert Herranz #interrupt-cells = <1>; 847a09116cSAlbert Herranz compatible = "nintendo,flipper-pic"; 857a09116cSAlbert Herranz interrupt-controller; 867a09116cSAlbert Herranz }; 877a09116cSAlbert Herranz }; 887a09116cSAlbert Herranz 89600ecc19SMathieu Malaterre dsp@c005000 { 907a09116cSAlbert Herranz #address-cells = <1>; 917a09116cSAlbert Herranz #size-cells = <1>; 927a09116cSAlbert Herranz compatible = "nintendo,hollywood-dsp", 937a09116cSAlbert Herranz "nintendo,flipper-dsp"; 947a09116cSAlbert Herranz reg = <0x0c005000 0x200>; 957a09116cSAlbert Herranz interrupts = <6>; 967a09116cSAlbert Herranz }; 977a09116cSAlbert Herranz 98600ecc19SMathieu Malaterre gamepad-controller@d006400 { 997a09116cSAlbert Herranz compatible = "nintendo,hollywood-si", 1007a09116cSAlbert Herranz "nintendo,flipper-si"; 1017a09116cSAlbert Herranz reg = <0x0d006400 0x100>; 1027a09116cSAlbert Herranz interrupts = <3>; 1037a09116cSAlbert Herranz }; 1047a09116cSAlbert Herranz 105600ecc19SMathieu Malaterre audio@c006c00 { 1067a09116cSAlbert Herranz compatible = "nintendo,hollywood-ai", 1077a09116cSAlbert Herranz "nintendo,flipper-ai"; 1087a09116cSAlbert Herranz reg = <0x0d006c00 0x20>; 1097a09116cSAlbert Herranz interrupts = <6>; 1107a09116cSAlbert Herranz }; 1117a09116cSAlbert Herranz 1127a09116cSAlbert Herranz /* External Interface bus */ 113600ecc19SMathieu Malaterre exi@d006800 { 1147a09116cSAlbert Herranz compatible = "nintendo,hollywood-exi", 1157a09116cSAlbert Herranz "nintendo,flipper-exi"; 1167a09116cSAlbert Herranz reg = <0x0d006800 0x40>; 1177a09116cSAlbert Herranz virtual-reg = <0x0d006800>; 1187a09116cSAlbert Herranz interrupts = <4>; 1197a09116cSAlbert Herranz }; 1207a09116cSAlbert Herranz 121600ecc19SMathieu Malaterre usb@d040000 { 1227a09116cSAlbert Herranz compatible = "nintendo,hollywood-usb-ehci", 1237a09116cSAlbert Herranz "usb-ehci"; 1247a09116cSAlbert Herranz reg = <0x0d040000 0x100>; 1257a09116cSAlbert Herranz interrupts = <4>; 1267a09116cSAlbert Herranz interrupt-parent = <&PIC1>; 1277a09116cSAlbert Herranz }; 1287a09116cSAlbert Herranz 129600ecc19SMathieu Malaterre usb@d050000 { 1307a09116cSAlbert Herranz compatible = "nintendo,hollywood-usb-ohci", 1317a09116cSAlbert Herranz "usb-ohci"; 1327a09116cSAlbert Herranz reg = <0x0d050000 0x100>; 1337a09116cSAlbert Herranz interrupts = <5>; 1347a09116cSAlbert Herranz interrupt-parent = <&PIC1>; 1357a09116cSAlbert Herranz }; 1367a09116cSAlbert Herranz 137600ecc19SMathieu Malaterre usb@d060000 { 1387a09116cSAlbert Herranz compatible = "nintendo,hollywood-usb-ohci", 1397a09116cSAlbert Herranz "usb-ohci"; 1407a09116cSAlbert Herranz reg = <0x0d060000 0x100>; 1417a09116cSAlbert Herranz interrupts = <6>; 1427a09116cSAlbert Herranz interrupt-parent = <&PIC1>; 1437a09116cSAlbert Herranz }; 1447a09116cSAlbert Herranz 145600ecc19SMathieu Malaterre sd@d070000 { 1467a09116cSAlbert Herranz compatible = "nintendo,hollywood-sdhci", 1477a09116cSAlbert Herranz "sdhci"; 1487a09116cSAlbert Herranz reg = <0x0d070000 0x200>; 1497a09116cSAlbert Herranz interrupts = <7>; 1507a09116cSAlbert Herranz interrupt-parent = <&PIC1>; 1517a09116cSAlbert Herranz }; 1527a09116cSAlbert Herranz 153600ecc19SMathieu Malaterre sdio@d080000 { 1547a09116cSAlbert Herranz compatible = "nintendo,hollywood-sdhci", 1557a09116cSAlbert Herranz "sdhci"; 1567a09116cSAlbert Herranz reg = <0x0d080000 0x200>; 1577a09116cSAlbert Herranz interrupts = <8>; 1587a09116cSAlbert Herranz interrupt-parent = <&PIC1>; 1597a09116cSAlbert Herranz }; 1607a09116cSAlbert Herranz 161600ecc19SMathieu Malaterre ipc@d000000 { 1627a09116cSAlbert Herranz compatible = "nintendo,hollywood-ipc"; 1637a09116cSAlbert Herranz reg = <0x0d000000 0x10>; 1647a09116cSAlbert Herranz interrupts = <30>; 1657a09116cSAlbert Herranz interrupt-parent = <&PIC1>; 1667a09116cSAlbert Herranz }; 1677a09116cSAlbert Herranz 168600ecc19SMathieu Malaterre PIC1: pic1@d800030 { 1697a09116cSAlbert Herranz #interrupt-cells = <1>; 1707a09116cSAlbert Herranz compatible = "nintendo,hollywood-pic"; 1717a09116cSAlbert Herranz reg = <0x0d800030 0x10>; 1727a09116cSAlbert Herranz interrupt-controller; 1737a09116cSAlbert Herranz interrupts = <14>; 1747a09116cSAlbert Herranz }; 1757a09116cSAlbert Herranz 176600ecc19SMathieu Malaterre GPIO: gpio@d8000c0 { 1777a09116cSAlbert Herranz #gpio-cells = <2>; 1787a09116cSAlbert Herranz compatible = "nintendo,hollywood-gpio"; 1797a09116cSAlbert Herranz reg = <0x0d8000c0 0x40>; 1807a09116cSAlbert Herranz gpio-controller; 1819693d570SJonathan Neuschäfer ngpios = <24>; 1827a09116cSAlbert Herranz 18380873a0bSJonathan Neuschäfer gpio-line-names = 18480873a0bSJonathan Neuschäfer "POWER", "SHUTDOWN", "FAN", "DC_DC", 18580873a0bSJonathan Neuschäfer "DI_SPIN", "SLOT_LED", "EJECT_BTN", "SLOT_IN", 18680873a0bSJonathan Neuschäfer "SENSOR_BAR", "DO_EJECT", "EEP_CS", "EEP_CLK", 18780873a0bSJonathan Neuschäfer "EEP_MOSI", "EEP_MISO", "AVE_SCL", "AVE_SDA", 18880873a0bSJonathan Neuschäfer "DEBUG0", "DEBUG1", "DEBUG2", "DEBUG3", 18980873a0bSJonathan Neuschäfer "DEBUG4", "DEBUG5", "DEBUG6", "DEBUG7"; 19080873a0bSJonathan Neuschäfer 191f4ddc19aSJonathan Neuschäfer interrupt-controller; 192f4ddc19aSJonathan Neuschäfer #interrupt-cells = <2>; 193f4ddc19aSJonathan Neuschäfer interrupts = <10>; 194f4ddc19aSJonathan Neuschäfer interrupt-parent = <&PIC1>; 195f4ddc19aSJonathan Neuschäfer 1967a09116cSAlbert Herranz /* 1977a09116cSAlbert Herranz * This is commented out while a standard binding 1987a09116cSAlbert Herranz * for i2c over gpio is defined. 1997a09116cSAlbert Herranz */ 2007a09116cSAlbert Herranz /* 2017a09116cSAlbert Herranz i2c-video { 2027a09116cSAlbert Herranz #address-cells = <1>; 2037a09116cSAlbert Herranz #size-cells = <0>; 2047a09116cSAlbert Herranz compatible = "i2c-gpio"; 2057a09116cSAlbert Herranz 2067a09116cSAlbert Herranz gpios = <&GPIO 15 0 2077a09116cSAlbert Herranz &GPIO 14 0>; 2087a09116cSAlbert Herranz clock-frequency = <250000>; 2097a09116cSAlbert Herranz no-clock-stretching; 2107a09116cSAlbert Herranz scl-is-open-drain; 2117a09116cSAlbert Herranz sda-is-open-drain; 2127a09116cSAlbert Herranz sda-enforce-dir; 2137a09116cSAlbert Herranz 2147a09116cSAlbert Herranz AVE: audio-video-encoder@70 { 2157a09116cSAlbert Herranz compatible = "nintendo,wii-audio-video-encoder"; 2167a09116cSAlbert Herranz reg = <0x70>; 2177a09116cSAlbert Herranz }; 2187a09116cSAlbert Herranz }; 2197a09116cSAlbert Herranz */ 2207a09116cSAlbert Herranz }; 2217a09116cSAlbert Herranz 222600ecc19SMathieu Malaterre control@d800100 { 2237a09116cSAlbert Herranz compatible = "nintendo,hollywood-control"; 2247a09116cSAlbert Herranz reg = <0x0d800100 0x300>; 2257a09116cSAlbert Herranz }; 2267a09116cSAlbert Herranz 227600ecc19SMathieu Malaterre disk@d806000 { 2287a09116cSAlbert Herranz compatible = "nintendo,hollywood-di"; 2297a09116cSAlbert Herranz reg = <0x0d806000 0x40>; 2307a09116cSAlbert Herranz interrupts = <2>; 2317a09116cSAlbert Herranz }; 2327a09116cSAlbert Herranz }; 233041413b8SJonathan Neuschäfer 234041413b8SJonathan Neuschäfer gpio-leds { 235041413b8SJonathan Neuschäfer compatible = "gpio-leds"; 236041413b8SJonathan Neuschäfer 237041413b8SJonathan Neuschäfer /* This is the blue LED in the disk drive slot */ 238041413b8SJonathan Neuschäfer drive-slot { 239041413b8SJonathan Neuschäfer label = "wii:blue:drive_slot"; 240041413b8SJonathan Neuschäfer gpios = <&GPIO 5 GPIO_ACTIVE_HIGH>; 241041413b8SJonathan Neuschäfer panic-indicator; 242041413b8SJonathan Neuschäfer }; 243041413b8SJonathan Neuschäfer }; 244*8de7547eSJonathan Neuschäfer 245*8de7547eSJonathan Neuschäfer gpio-keys { 246*8de7547eSJonathan Neuschäfer compatible = "gpio-keys"; 247*8de7547eSJonathan Neuschäfer 248*8de7547eSJonathan Neuschäfer power { 249*8de7547eSJonathan Neuschäfer label = "Power Button"; 250*8de7547eSJonathan Neuschäfer gpios = <&GPIO 0 GPIO_ACTIVE_HIGH>; 251*8de7547eSJonathan Neuschäfer linux,code = <KEY_POWER>; 252*8de7547eSJonathan Neuschäfer }; 253*8de7547eSJonathan Neuschäfer 254*8de7547eSJonathan Neuschäfer eject { 255*8de7547eSJonathan Neuschäfer label = "Eject Button"; 256*8de7547eSJonathan Neuschäfer gpios = <&GPIO 6 GPIO_ACTIVE_HIGH>; 257*8de7547eSJonathan Neuschäfer linux,code = <KEY_EJECTCD>; 258*8de7547eSJonathan Neuschäfer }; 259*8de7547eSJonathan Neuschäfer }; 2607a09116cSAlbert Herranz}; 2617a09116cSAlbert Herranz 262