18c2ecf20Sopenharmony_ci// SPDX-License-Identifier: GPL-2.0-or-later 28c2ecf20Sopenharmony_ci/* 38c2ecf20Sopenharmony_ci * arch/powerpc/boot/dts/wii.dts 48c2ecf20Sopenharmony_ci * 58c2ecf20Sopenharmony_ci * Nintendo Wii platform device tree source 68c2ecf20Sopenharmony_ci * Copyright (C) 2008-2009 The GameCube Linux Team 78c2ecf20Sopenharmony_ci * Copyright (C) 2008,2009 Albert Herranz 88c2ecf20Sopenharmony_ci */ 98c2ecf20Sopenharmony_ci 108c2ecf20Sopenharmony_ci/dts-v1/; 118c2ecf20Sopenharmony_ci#include <dt-bindings/gpio/gpio.h> 128c2ecf20Sopenharmony_ci#include <dt-bindings/input/input.h> 138c2ecf20Sopenharmony_ci 148c2ecf20Sopenharmony_ci/* 158c2ecf20Sopenharmony_ci * This is commented-out for now. 168c2ecf20Sopenharmony_ci * Until a later patch is merged, the kernel can use only the first 178c2ecf20Sopenharmony_ci * contiguous RAM range and will BUG() if the memreserve is outside 188c2ecf20Sopenharmony_ci * that range. 198c2ecf20Sopenharmony_ci */ 208c2ecf20Sopenharmony_ci/*/memreserve/ 0x10000000 0x0004000;*/ /* DSP RAM */ 218c2ecf20Sopenharmony_ci 228c2ecf20Sopenharmony_ci/ { 238c2ecf20Sopenharmony_ci model = "nintendo,wii"; 248c2ecf20Sopenharmony_ci compatible = "nintendo,wii"; 258c2ecf20Sopenharmony_ci #address-cells = <1>; 268c2ecf20Sopenharmony_ci #size-cells = <1>; 278c2ecf20Sopenharmony_ci 288c2ecf20Sopenharmony_ci chosen { 298c2ecf20Sopenharmony_ci bootargs = "root=/dev/mmcblk0p2 rootwait udbg-immortal"; 308c2ecf20Sopenharmony_ci }; 318c2ecf20Sopenharmony_ci 328c2ecf20Sopenharmony_ci memory { 338c2ecf20Sopenharmony_ci device_type = "memory"; 348c2ecf20Sopenharmony_ci reg = <0x00000000 0x01800000 /* MEM1 24MB 1T-SRAM */ 358c2ecf20Sopenharmony_ci 0x10000000 0x04000000>; /* MEM2 64MB GDDR3 */ 368c2ecf20Sopenharmony_ci }; 378c2ecf20Sopenharmony_ci 388c2ecf20Sopenharmony_ci cpus { 398c2ecf20Sopenharmony_ci #address-cells = <1>; 408c2ecf20Sopenharmony_ci #size-cells = <0>; 418c2ecf20Sopenharmony_ci 428c2ecf20Sopenharmony_ci PowerPC,broadway@0 { 438c2ecf20Sopenharmony_ci device_type = "cpu"; 448c2ecf20Sopenharmony_ci reg = <0>; 458c2ecf20Sopenharmony_ci clock-frequency = <729000000>; /* 729MHz */ 468c2ecf20Sopenharmony_ci bus-frequency = <243000000>; /* 243MHz core-to-bus 3x */ 478c2ecf20Sopenharmony_ci timebase-frequency = <60750000>; /* 243MHz / 4 */ 488c2ecf20Sopenharmony_ci i-cache-line-size = <32>; 498c2ecf20Sopenharmony_ci d-cache-line-size = <32>; 508c2ecf20Sopenharmony_ci i-cache-size = <32768>; 518c2ecf20Sopenharmony_ci d-cache-size = <32768>; 528c2ecf20Sopenharmony_ci }; 538c2ecf20Sopenharmony_ci }; 548c2ecf20Sopenharmony_ci 558c2ecf20Sopenharmony_ci /* devices contained in the hollywood chipset */ 568c2ecf20Sopenharmony_ci hollywood { 578c2ecf20Sopenharmony_ci #address-cells = <1>; 588c2ecf20Sopenharmony_ci #size-cells = <1>; 598c2ecf20Sopenharmony_ci compatible = "nintendo,hollywood"; 608c2ecf20Sopenharmony_ci ranges = <0x0c000000 0x0c000000 0x01000000 618c2ecf20Sopenharmony_ci 0x0d000000 0x0d000000 0x00800000 628c2ecf20Sopenharmony_ci 0x0d800000 0x0d800000 0x00800000>; 638c2ecf20Sopenharmony_ci interrupt-parent = <&PIC0>; 648c2ecf20Sopenharmony_ci 658c2ecf20Sopenharmony_ci video@c002000 { 668c2ecf20Sopenharmony_ci compatible = "nintendo,hollywood-vi", 678c2ecf20Sopenharmony_ci "nintendo,flipper-vi"; 688c2ecf20Sopenharmony_ci reg = <0x0c002000 0x100>; 698c2ecf20Sopenharmony_ci interrupts = <8>; 708c2ecf20Sopenharmony_ci }; 718c2ecf20Sopenharmony_ci 728c2ecf20Sopenharmony_ci processor-interface@c003000 { 738c2ecf20Sopenharmony_ci compatible = "nintendo,hollywood-pi", 748c2ecf20Sopenharmony_ci "nintendo,flipper-pi"; 758c2ecf20Sopenharmony_ci reg = <0x0c003000 0x100>; 768c2ecf20Sopenharmony_ci 778c2ecf20Sopenharmony_ci PIC0: pic0 { 788c2ecf20Sopenharmony_ci #interrupt-cells = <1>; 798c2ecf20Sopenharmony_ci compatible = "nintendo,flipper-pic"; 808c2ecf20Sopenharmony_ci interrupt-controller; 818c2ecf20Sopenharmony_ci }; 828c2ecf20Sopenharmony_ci }; 838c2ecf20Sopenharmony_ci 848c2ecf20Sopenharmony_ci dsp@c005000 { 858c2ecf20Sopenharmony_ci #address-cells = <1>; 868c2ecf20Sopenharmony_ci #size-cells = <1>; 878c2ecf20Sopenharmony_ci compatible = "nintendo,hollywood-dsp", 888c2ecf20Sopenharmony_ci "nintendo,flipper-dsp"; 898c2ecf20Sopenharmony_ci reg = <0x0c005000 0x200>; 908c2ecf20Sopenharmony_ci interrupts = <6>; 918c2ecf20Sopenharmony_ci }; 928c2ecf20Sopenharmony_ci 938c2ecf20Sopenharmony_ci gamepad-controller@d006400 { 948c2ecf20Sopenharmony_ci compatible = "nintendo,hollywood-si", 958c2ecf20Sopenharmony_ci "nintendo,flipper-si"; 968c2ecf20Sopenharmony_ci reg = <0x0d006400 0x100>; 978c2ecf20Sopenharmony_ci interrupts = <3>; 988c2ecf20Sopenharmony_ci }; 998c2ecf20Sopenharmony_ci 1008c2ecf20Sopenharmony_ci audio@c006c00 { 1018c2ecf20Sopenharmony_ci compatible = "nintendo,hollywood-ai", 1028c2ecf20Sopenharmony_ci "nintendo,flipper-ai"; 1038c2ecf20Sopenharmony_ci reg = <0x0d006c00 0x20>; 1048c2ecf20Sopenharmony_ci interrupts = <6>; 1058c2ecf20Sopenharmony_ci }; 1068c2ecf20Sopenharmony_ci 1078c2ecf20Sopenharmony_ci /* External Interface bus */ 1088c2ecf20Sopenharmony_ci exi@d006800 { 1098c2ecf20Sopenharmony_ci compatible = "nintendo,hollywood-exi", 1108c2ecf20Sopenharmony_ci "nintendo,flipper-exi"; 1118c2ecf20Sopenharmony_ci reg = <0x0d006800 0x40>; 1128c2ecf20Sopenharmony_ci virtual-reg = <0x0d006800>; 1138c2ecf20Sopenharmony_ci interrupts = <4>; 1148c2ecf20Sopenharmony_ci }; 1158c2ecf20Sopenharmony_ci 1168c2ecf20Sopenharmony_ci usb@d040000 { 1178c2ecf20Sopenharmony_ci compatible = "nintendo,hollywood-usb-ehci", 1188c2ecf20Sopenharmony_ci "usb-ehci"; 1198c2ecf20Sopenharmony_ci reg = <0x0d040000 0x100>; 1208c2ecf20Sopenharmony_ci interrupts = <4>; 1218c2ecf20Sopenharmony_ci interrupt-parent = <&PIC1>; 1228c2ecf20Sopenharmony_ci }; 1238c2ecf20Sopenharmony_ci 1248c2ecf20Sopenharmony_ci usb@d050000 { 1258c2ecf20Sopenharmony_ci compatible = "nintendo,hollywood-usb-ohci", 1268c2ecf20Sopenharmony_ci "usb-ohci"; 1278c2ecf20Sopenharmony_ci reg = <0x0d050000 0x100>; 1288c2ecf20Sopenharmony_ci interrupts = <5>; 1298c2ecf20Sopenharmony_ci interrupt-parent = <&PIC1>; 1308c2ecf20Sopenharmony_ci }; 1318c2ecf20Sopenharmony_ci 1328c2ecf20Sopenharmony_ci usb@d060000 { 1338c2ecf20Sopenharmony_ci compatible = "nintendo,hollywood-usb-ohci", 1348c2ecf20Sopenharmony_ci "usb-ohci"; 1358c2ecf20Sopenharmony_ci reg = <0x0d060000 0x100>; 1368c2ecf20Sopenharmony_ci interrupts = <6>; 1378c2ecf20Sopenharmony_ci interrupt-parent = <&PIC1>; 1388c2ecf20Sopenharmony_ci }; 1398c2ecf20Sopenharmony_ci 1408c2ecf20Sopenharmony_ci sd@d070000 { 1418c2ecf20Sopenharmony_ci compatible = "nintendo,hollywood-sdhci", 1428c2ecf20Sopenharmony_ci "sdhci"; 1438c2ecf20Sopenharmony_ci reg = <0x0d070000 0x200>; 1448c2ecf20Sopenharmony_ci interrupts = <7>; 1458c2ecf20Sopenharmony_ci interrupt-parent = <&PIC1>; 1468c2ecf20Sopenharmony_ci }; 1478c2ecf20Sopenharmony_ci 1488c2ecf20Sopenharmony_ci sdio@d080000 { 1498c2ecf20Sopenharmony_ci compatible = "nintendo,hollywood-sdhci", 1508c2ecf20Sopenharmony_ci "sdhci"; 1518c2ecf20Sopenharmony_ci reg = <0x0d080000 0x200>; 1528c2ecf20Sopenharmony_ci interrupts = <8>; 1538c2ecf20Sopenharmony_ci interrupt-parent = <&PIC1>; 1548c2ecf20Sopenharmony_ci }; 1558c2ecf20Sopenharmony_ci 1568c2ecf20Sopenharmony_ci ipc@d000000 { 1578c2ecf20Sopenharmony_ci compatible = "nintendo,hollywood-ipc"; 1588c2ecf20Sopenharmony_ci reg = <0x0d000000 0x10>; 1598c2ecf20Sopenharmony_ci interrupts = <30>; 1608c2ecf20Sopenharmony_ci interrupt-parent = <&PIC1>; 1618c2ecf20Sopenharmony_ci }; 1628c2ecf20Sopenharmony_ci 1638c2ecf20Sopenharmony_ci PIC1: pic1@d800030 { 1648c2ecf20Sopenharmony_ci #interrupt-cells = <1>; 1658c2ecf20Sopenharmony_ci compatible = "nintendo,hollywood-pic"; 1668c2ecf20Sopenharmony_ci reg = <0x0d800030 0x10>; 1678c2ecf20Sopenharmony_ci interrupt-controller; 1688c2ecf20Sopenharmony_ci interrupts = <14>; 1698c2ecf20Sopenharmony_ci }; 1708c2ecf20Sopenharmony_ci 1718c2ecf20Sopenharmony_ci GPIO: gpio@d8000c0 { 1728c2ecf20Sopenharmony_ci #gpio-cells = <2>; 1738c2ecf20Sopenharmony_ci compatible = "nintendo,hollywood-gpio"; 1748c2ecf20Sopenharmony_ci reg = <0x0d8000c0 0x40>; 1758c2ecf20Sopenharmony_ci gpio-controller; 1768c2ecf20Sopenharmony_ci ngpios = <24>; 1778c2ecf20Sopenharmony_ci 1788c2ecf20Sopenharmony_ci gpio-line-names = 1798c2ecf20Sopenharmony_ci "POWER", "SHUTDOWN", "FAN", "DC_DC", 1808c2ecf20Sopenharmony_ci "DI_SPIN", "SLOT_LED", "EJECT_BTN", "SLOT_IN", 1818c2ecf20Sopenharmony_ci "SENSOR_BAR", "DO_EJECT", "EEP_CS", "EEP_CLK", 1828c2ecf20Sopenharmony_ci "EEP_MOSI", "EEP_MISO", "AVE_SCL", "AVE_SDA", 1838c2ecf20Sopenharmony_ci "DEBUG0", "DEBUG1", "DEBUG2", "DEBUG3", 1848c2ecf20Sopenharmony_ci "DEBUG4", "DEBUG5", "DEBUG6", "DEBUG7"; 1858c2ecf20Sopenharmony_ci 1868c2ecf20Sopenharmony_ci interrupt-controller; 1878c2ecf20Sopenharmony_ci #interrupt-cells = <2>; 1888c2ecf20Sopenharmony_ci interrupts = <10>; 1898c2ecf20Sopenharmony_ci interrupt-parent = <&PIC1>; 1908c2ecf20Sopenharmony_ci 1918c2ecf20Sopenharmony_ci /* 1928c2ecf20Sopenharmony_ci * This is commented out while a standard binding 1938c2ecf20Sopenharmony_ci * for i2c over gpio is defined. 1948c2ecf20Sopenharmony_ci */ 1958c2ecf20Sopenharmony_ci /* 1968c2ecf20Sopenharmony_ci i2c-video { 1978c2ecf20Sopenharmony_ci #address-cells = <1>; 1988c2ecf20Sopenharmony_ci #size-cells = <0>; 1998c2ecf20Sopenharmony_ci compatible = "i2c-gpio"; 2008c2ecf20Sopenharmony_ci 2018c2ecf20Sopenharmony_ci gpios = <&GPIO 15 0 2028c2ecf20Sopenharmony_ci &GPIO 14 0>; 2038c2ecf20Sopenharmony_ci clock-frequency = <250000>; 2048c2ecf20Sopenharmony_ci no-clock-stretching; 2058c2ecf20Sopenharmony_ci scl-is-open-drain; 2068c2ecf20Sopenharmony_ci sda-is-open-drain; 2078c2ecf20Sopenharmony_ci sda-enforce-dir; 2088c2ecf20Sopenharmony_ci 2098c2ecf20Sopenharmony_ci AVE: audio-video-encoder@70 { 2108c2ecf20Sopenharmony_ci compatible = "nintendo,wii-audio-video-encoder"; 2118c2ecf20Sopenharmony_ci reg = <0x70>; 2128c2ecf20Sopenharmony_ci }; 2138c2ecf20Sopenharmony_ci }; 2148c2ecf20Sopenharmony_ci */ 2158c2ecf20Sopenharmony_ci }; 2168c2ecf20Sopenharmony_ci 2178c2ecf20Sopenharmony_ci control@d800100 { 2188c2ecf20Sopenharmony_ci compatible = "nintendo,hollywood-control"; 2198c2ecf20Sopenharmony_ci reg = <0x0d800100 0x300>; 2208c2ecf20Sopenharmony_ci }; 2218c2ecf20Sopenharmony_ci 2228c2ecf20Sopenharmony_ci disk@d806000 { 2238c2ecf20Sopenharmony_ci compatible = "nintendo,hollywood-di"; 2248c2ecf20Sopenharmony_ci reg = <0x0d806000 0x40>; 2258c2ecf20Sopenharmony_ci interrupts = <2>; 2268c2ecf20Sopenharmony_ci }; 2278c2ecf20Sopenharmony_ci }; 2288c2ecf20Sopenharmony_ci 2298c2ecf20Sopenharmony_ci gpio-leds { 2308c2ecf20Sopenharmony_ci compatible = "gpio-leds"; 2318c2ecf20Sopenharmony_ci 2328c2ecf20Sopenharmony_ci /* This is the blue LED in the disk drive slot */ 2338c2ecf20Sopenharmony_ci drive-slot { 2348c2ecf20Sopenharmony_ci label = "wii:blue:drive_slot"; 2358c2ecf20Sopenharmony_ci gpios = <&GPIO 5 GPIO_ACTIVE_HIGH>; 2368c2ecf20Sopenharmony_ci panic-indicator; 2378c2ecf20Sopenharmony_ci }; 2388c2ecf20Sopenharmony_ci }; 2398c2ecf20Sopenharmony_ci 2408c2ecf20Sopenharmony_ci gpio-keys { 2418c2ecf20Sopenharmony_ci compatible = "gpio-keys"; 2428c2ecf20Sopenharmony_ci 2438c2ecf20Sopenharmony_ci power { 2448c2ecf20Sopenharmony_ci label = "Power Button"; 2458c2ecf20Sopenharmony_ci gpios = <&GPIO 0 GPIO_ACTIVE_HIGH>; 2468c2ecf20Sopenharmony_ci linux,code = <KEY_POWER>; 2478c2ecf20Sopenharmony_ci }; 2488c2ecf20Sopenharmony_ci 2498c2ecf20Sopenharmony_ci eject { 2508c2ecf20Sopenharmony_ci label = "Eject Button"; 2518c2ecf20Sopenharmony_ci gpios = <&GPIO 6 GPIO_ACTIVE_HIGH>; 2528c2ecf20Sopenharmony_ci linux,code = <KEY_EJECTCD>; 2538c2ecf20Sopenharmony_ci }; 2548c2ecf20Sopenharmony_ci }; 2558c2ecf20Sopenharmony_ci}; 2568c2ecf20Sopenharmony_ci 257