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> 177a09116cSAlbert Herranz 187a09116cSAlbert Herranz/* 197a09116cSAlbert Herranz * This is commented-out for now. 207a09116cSAlbert Herranz * Until a later patch is merged, the kernel can use only the first 217a09116cSAlbert Herranz * contiguous RAM range and will BUG() if the memreserve is outside 227a09116cSAlbert Herranz * that range. 237a09116cSAlbert Herranz */ 247a09116cSAlbert Herranz/*/memreserve/ 0x10000000 0x0004000;*/ /* DSP RAM */ 257a09116cSAlbert Herranz 267a09116cSAlbert Herranz/ { 277a09116cSAlbert Herranz model = "nintendo,wii"; 287a09116cSAlbert Herranz compatible = "nintendo,wii"; 297a09116cSAlbert Herranz #address-cells = <1>; 307a09116cSAlbert Herranz #size-cells = <1>; 317a09116cSAlbert Herranz 327a09116cSAlbert Herranz chosen { 337a09116cSAlbert Herranz bootargs = "root=/dev/mmcblk0p2 rootwait udbg-immortal"; 347a09116cSAlbert Herranz }; 357a09116cSAlbert Herranz 367a09116cSAlbert Herranz memory { 377a09116cSAlbert Herranz device_type = "memory"; 387a09116cSAlbert Herranz reg = <0x00000000 0x01800000 /* MEM1 24MB 1T-SRAM */ 397a09116cSAlbert Herranz 0x10000000 0x04000000>; /* MEM2 64MB GDDR3 */ 407a09116cSAlbert Herranz }; 417a09116cSAlbert Herranz 427a09116cSAlbert Herranz cpus { 437a09116cSAlbert Herranz #address-cells = <1>; 447a09116cSAlbert Herranz #size-cells = <0>; 457a09116cSAlbert Herranz 467a09116cSAlbert Herranz PowerPC,broadway@0 { 477a09116cSAlbert Herranz device_type = "cpu"; 487a09116cSAlbert Herranz reg = <0>; 497a09116cSAlbert Herranz clock-frequency = <729000000>; /* 729MHz */ 507a09116cSAlbert Herranz bus-frequency = <243000000>; /* 243MHz core-to-bus 3x */ 517a09116cSAlbert Herranz timebase-frequency = <60750000>; /* 243MHz / 4 */ 527a09116cSAlbert Herranz i-cache-line-size = <32>; 537a09116cSAlbert Herranz d-cache-line-size = <32>; 547a09116cSAlbert Herranz i-cache-size = <32768>; 557a09116cSAlbert Herranz d-cache-size = <32768>; 567a09116cSAlbert Herranz }; 577a09116cSAlbert Herranz }; 587a09116cSAlbert Herranz 597a09116cSAlbert Herranz /* devices contained in the hollywood chipset */ 607a09116cSAlbert Herranz hollywood { 617a09116cSAlbert Herranz #address-cells = <1>; 627a09116cSAlbert Herranz #size-cells = <1>; 637a09116cSAlbert Herranz compatible = "nintendo,hollywood"; 647a09116cSAlbert Herranz ranges = <0x0c000000 0x0c000000 0x01000000 657a09116cSAlbert Herranz 0x0d000000 0x0d000000 0x00800000 667a09116cSAlbert Herranz 0x0d800000 0x0d800000 0x00800000>; 677a09116cSAlbert Herranz interrupt-parent = <&PIC0>; 687a09116cSAlbert Herranz 69600ecc19SMathieu Malaterre video@c002000 { 707a09116cSAlbert Herranz compatible = "nintendo,hollywood-vi", 717a09116cSAlbert Herranz "nintendo,flipper-vi"; 727a09116cSAlbert Herranz reg = <0x0c002000 0x100>; 737a09116cSAlbert Herranz interrupts = <8>; 747a09116cSAlbert Herranz }; 757a09116cSAlbert Herranz 76600ecc19SMathieu Malaterre processor-interface@c003000 { 777a09116cSAlbert Herranz compatible = "nintendo,hollywood-pi", 787a09116cSAlbert Herranz "nintendo,flipper-pi"; 797a09116cSAlbert Herranz reg = <0x0c003000 0x100>; 807a09116cSAlbert Herranz 817a09116cSAlbert Herranz PIC0: pic0 { 827a09116cSAlbert Herranz #interrupt-cells = <1>; 837a09116cSAlbert Herranz compatible = "nintendo,flipper-pic"; 847a09116cSAlbert Herranz interrupt-controller; 857a09116cSAlbert Herranz }; 867a09116cSAlbert Herranz }; 877a09116cSAlbert Herranz 88600ecc19SMathieu Malaterre dsp@c005000 { 897a09116cSAlbert Herranz #address-cells = <1>; 907a09116cSAlbert Herranz #size-cells = <1>; 917a09116cSAlbert Herranz compatible = "nintendo,hollywood-dsp", 927a09116cSAlbert Herranz "nintendo,flipper-dsp"; 937a09116cSAlbert Herranz reg = <0x0c005000 0x200>; 947a09116cSAlbert Herranz interrupts = <6>; 957a09116cSAlbert Herranz }; 967a09116cSAlbert Herranz 97600ecc19SMathieu Malaterre gamepad-controller@d006400 { 987a09116cSAlbert Herranz compatible = "nintendo,hollywood-si", 997a09116cSAlbert Herranz "nintendo,flipper-si"; 1007a09116cSAlbert Herranz reg = <0x0d006400 0x100>; 1017a09116cSAlbert Herranz interrupts = <3>; 1027a09116cSAlbert Herranz }; 1037a09116cSAlbert Herranz 104600ecc19SMathieu Malaterre audio@c006c00 { 1057a09116cSAlbert Herranz compatible = "nintendo,hollywood-ai", 1067a09116cSAlbert Herranz "nintendo,flipper-ai"; 1077a09116cSAlbert Herranz reg = <0x0d006c00 0x20>; 1087a09116cSAlbert Herranz interrupts = <6>; 1097a09116cSAlbert Herranz }; 1107a09116cSAlbert Herranz 1117a09116cSAlbert Herranz /* External Interface bus */ 112600ecc19SMathieu Malaterre exi@d006800 { 1137a09116cSAlbert Herranz compatible = "nintendo,hollywood-exi", 1147a09116cSAlbert Herranz "nintendo,flipper-exi"; 1157a09116cSAlbert Herranz reg = <0x0d006800 0x40>; 1167a09116cSAlbert Herranz virtual-reg = <0x0d006800>; 1177a09116cSAlbert Herranz interrupts = <4>; 1187a09116cSAlbert Herranz }; 1197a09116cSAlbert Herranz 120600ecc19SMathieu Malaterre usb@d040000 { 1217a09116cSAlbert Herranz compatible = "nintendo,hollywood-usb-ehci", 1227a09116cSAlbert Herranz "usb-ehci"; 1237a09116cSAlbert Herranz reg = <0x0d040000 0x100>; 1247a09116cSAlbert Herranz interrupts = <4>; 1257a09116cSAlbert Herranz interrupt-parent = <&PIC1>; 1267a09116cSAlbert Herranz }; 1277a09116cSAlbert Herranz 128600ecc19SMathieu Malaterre usb@d050000 { 1297a09116cSAlbert Herranz compatible = "nintendo,hollywood-usb-ohci", 1307a09116cSAlbert Herranz "usb-ohci"; 1317a09116cSAlbert Herranz reg = <0x0d050000 0x100>; 1327a09116cSAlbert Herranz interrupts = <5>; 1337a09116cSAlbert Herranz interrupt-parent = <&PIC1>; 1347a09116cSAlbert Herranz }; 1357a09116cSAlbert Herranz 136600ecc19SMathieu Malaterre usb@d060000 { 1377a09116cSAlbert Herranz compatible = "nintendo,hollywood-usb-ohci", 1387a09116cSAlbert Herranz "usb-ohci"; 1397a09116cSAlbert Herranz reg = <0x0d060000 0x100>; 1407a09116cSAlbert Herranz interrupts = <6>; 1417a09116cSAlbert Herranz interrupt-parent = <&PIC1>; 1427a09116cSAlbert Herranz }; 1437a09116cSAlbert Herranz 144600ecc19SMathieu Malaterre sd@d070000 { 1457a09116cSAlbert Herranz compatible = "nintendo,hollywood-sdhci", 1467a09116cSAlbert Herranz "sdhci"; 1477a09116cSAlbert Herranz reg = <0x0d070000 0x200>; 1487a09116cSAlbert Herranz interrupts = <7>; 1497a09116cSAlbert Herranz interrupt-parent = <&PIC1>; 1507a09116cSAlbert Herranz }; 1517a09116cSAlbert Herranz 152600ecc19SMathieu Malaterre sdio@d080000 { 1537a09116cSAlbert Herranz compatible = "nintendo,hollywood-sdhci", 1547a09116cSAlbert Herranz "sdhci"; 1557a09116cSAlbert Herranz reg = <0x0d080000 0x200>; 1567a09116cSAlbert Herranz interrupts = <8>; 1577a09116cSAlbert Herranz interrupt-parent = <&PIC1>; 1587a09116cSAlbert Herranz }; 1597a09116cSAlbert Herranz 160600ecc19SMathieu Malaterre ipc@d000000 { 1617a09116cSAlbert Herranz compatible = "nintendo,hollywood-ipc"; 1627a09116cSAlbert Herranz reg = <0x0d000000 0x10>; 1637a09116cSAlbert Herranz interrupts = <30>; 1647a09116cSAlbert Herranz interrupt-parent = <&PIC1>; 1657a09116cSAlbert Herranz }; 1667a09116cSAlbert Herranz 167600ecc19SMathieu Malaterre PIC1: pic1@d800030 { 1687a09116cSAlbert Herranz #interrupt-cells = <1>; 1697a09116cSAlbert Herranz compatible = "nintendo,hollywood-pic"; 1707a09116cSAlbert Herranz reg = <0x0d800030 0x10>; 1717a09116cSAlbert Herranz interrupt-controller; 1727a09116cSAlbert Herranz interrupts = <14>; 1737a09116cSAlbert Herranz }; 1747a09116cSAlbert Herranz 175600ecc19SMathieu Malaterre GPIO: gpio@d8000c0 { 1767a09116cSAlbert Herranz #gpio-cells = <2>; 1777a09116cSAlbert Herranz compatible = "nintendo,hollywood-gpio"; 1787a09116cSAlbert Herranz reg = <0x0d8000c0 0x40>; 1797a09116cSAlbert Herranz gpio-controller; 1809693d570SJonathan Neuschäfer ngpios = <24>; 1817a09116cSAlbert Herranz 18280873a0bSJonathan Neuschäfer gpio-line-names = 18380873a0bSJonathan Neuschäfer "POWER", "SHUTDOWN", "FAN", "DC_DC", 18480873a0bSJonathan Neuschäfer "DI_SPIN", "SLOT_LED", "EJECT_BTN", "SLOT_IN", 18580873a0bSJonathan Neuschäfer "SENSOR_BAR", "DO_EJECT", "EEP_CS", "EEP_CLK", 18680873a0bSJonathan Neuschäfer "EEP_MOSI", "EEP_MISO", "AVE_SCL", "AVE_SDA", 18780873a0bSJonathan Neuschäfer "DEBUG0", "DEBUG1", "DEBUG2", "DEBUG3", 18880873a0bSJonathan Neuschäfer "DEBUG4", "DEBUG5", "DEBUG6", "DEBUG7"; 18980873a0bSJonathan Neuschäfer 1907a09116cSAlbert Herranz /* 1917a09116cSAlbert Herranz * This is commented out while a standard binding 1927a09116cSAlbert Herranz * for i2c over gpio is defined. 1937a09116cSAlbert Herranz */ 1947a09116cSAlbert Herranz /* 1957a09116cSAlbert Herranz i2c-video { 1967a09116cSAlbert Herranz #address-cells = <1>; 1977a09116cSAlbert Herranz #size-cells = <0>; 1987a09116cSAlbert Herranz compatible = "i2c-gpio"; 1997a09116cSAlbert Herranz 2007a09116cSAlbert Herranz gpios = <&GPIO 15 0 2017a09116cSAlbert Herranz &GPIO 14 0>; 2027a09116cSAlbert Herranz clock-frequency = <250000>; 2037a09116cSAlbert Herranz no-clock-stretching; 2047a09116cSAlbert Herranz scl-is-open-drain; 2057a09116cSAlbert Herranz sda-is-open-drain; 2067a09116cSAlbert Herranz sda-enforce-dir; 2077a09116cSAlbert Herranz 2087a09116cSAlbert Herranz AVE: audio-video-encoder@70 { 2097a09116cSAlbert Herranz compatible = "nintendo,wii-audio-video-encoder"; 2107a09116cSAlbert Herranz reg = <0x70>; 2117a09116cSAlbert Herranz }; 2127a09116cSAlbert Herranz }; 2137a09116cSAlbert Herranz */ 2147a09116cSAlbert Herranz }; 2157a09116cSAlbert Herranz 216600ecc19SMathieu Malaterre control@d800100 { 2177a09116cSAlbert Herranz compatible = "nintendo,hollywood-control"; 2187a09116cSAlbert Herranz reg = <0x0d800100 0x300>; 2197a09116cSAlbert Herranz }; 2207a09116cSAlbert Herranz 221600ecc19SMathieu Malaterre disk@d806000 { 2227a09116cSAlbert Herranz compatible = "nintendo,hollywood-di"; 2237a09116cSAlbert Herranz reg = <0x0d806000 0x40>; 2247a09116cSAlbert Herranz interrupts = <2>; 2257a09116cSAlbert Herranz }; 2267a09116cSAlbert Herranz }; 227041413b8SJonathan Neuschäfer 228041413b8SJonathan Neuschäfer gpio-leds { 229041413b8SJonathan Neuschäfer compatible = "gpio-leds"; 230041413b8SJonathan Neuschäfer 231041413b8SJonathan Neuschäfer /* This is the blue LED in the disk drive slot */ 232041413b8SJonathan Neuschäfer drive-slot { 233041413b8SJonathan Neuschäfer label = "wii:blue:drive_slot"; 234041413b8SJonathan Neuschäfer gpios = <&GPIO 5 GPIO_ACTIVE_HIGH>; 235041413b8SJonathan Neuschäfer panic-indicator; 236041413b8SJonathan Neuschäfer }; 237041413b8SJonathan Neuschäfer }; 2387a09116cSAlbert Herranz}; 2397a09116cSAlbert Herranz 240