| // SPDX-License-Identifier: GPL-2.0-or-later | |
| /* | |
| * arch/powerpc/boot/dts/wii.dts | |
| * | |
| * Nintendo Wii platform device tree source | |
| * Copyright (C) 2008-2009 The GameCube Linux Team | |
| * Copyright (C) 2008,2009 Albert Herranz | |
| */ | |
| /dts-v1/; | |
| #include <dt-bindings/gpio/gpio.h> | |
| #include <dt-bindings/input/input.h> | |
| /* | |
| * This is commented-out for now. | |
| * Until a later patch is merged, the kernel can use only the first | |
| * contiguous RAM range and will BUG() if the memreserve is outside | |
| * that range. | |
| */ | |
| /*/memreserve/ 0x10000000 0x0004000;*/ /* DSP RAM */ | |
| / { | |
| model = "nintendo,wii"; | |
| compatible = "nintendo,wii"; | |
| #address-cells = <1>; | |
| #size-cells = <1>; | |
| chosen { | |
| bootargs = "root=/dev/mmcblk0p2 rootwait udbg-immortal"; | |
| }; | |
| memory { | |
| device_type = "memory"; | |
| reg = <0x00000000 0x01800000 /* MEM1 24MB 1T-SRAM */ | |
| 0x10000000 0x04000000>; /* MEM2 64MB GDDR3 */ | |
| }; | |
| cpus { | |
| #address-cells = <1>; | |
| #size-cells = <0>; | |
| PowerPC,broadway@0 { | |
| device_type = "cpu"; | |
| reg = <0>; | |
| clock-frequency = <729000000>; /* 729MHz */ | |
| bus-frequency = <243000000>; /* 243MHz core-to-bus 3x */ | |
| timebase-frequency = <60750000>; /* 243MHz / 4 */ | |
| i-cache-line-size = <32>; | |
| d-cache-line-size = <32>; | |
| i-cache-size = <32768>; | |
| d-cache-size = <32768>; | |
| }; | |
| }; | |
| /* devices contained in the hollywood chipset */ | |
| hollywood { | |
| #address-cells = <1>; | |
| #size-cells = <1>; | |
| compatible = "nintendo,hollywood"; | |
| ranges = <0x0c000000 0x0c000000 0x01000000 | |
| 0x0d000000 0x0d000000 0x00800000 | |
| 0x0d800000 0x0d800000 0x00800000>; | |
| interrupt-parent = <&PIC0>; | |
| video@c002000 { | |
| compatible = "nintendo,hollywood-vi", | |
| "nintendo,flipper-vi"; | |
| reg = <0x0c002000 0x100>; | |
| interrupts = <8>; | |
| }; | |
| processor-interface@c003000 { | |
| compatible = "nintendo,hollywood-pi", | |
| "nintendo,flipper-pi"; | |
| reg = <0x0c003000 0x100>; | |
| PIC0: pic0 { | |
| #interrupt-cells = <1>; | |
| compatible = "nintendo,flipper-pic"; | |
| interrupt-controller; | |
| }; | |
| }; | |
| dsp@c005000 { | |
| #address-cells = <1>; | |
| #size-cells = <1>; | |
| compatible = "nintendo,hollywood-dsp", | |
| "nintendo,flipper-dsp"; | |
| reg = <0x0c005000 0x200>; | |
| interrupts = <6>; | |
| }; | |
| gamepad-controller@d006400 { | |
| compatible = "nintendo,hollywood-si", | |
| "nintendo,flipper-si"; | |
| reg = <0x0d006400 0x100>; | |
| interrupts = <3>; | |
| }; | |
| audio@c006c00 { | |
| compatible = "nintendo,hollywood-ai", | |
| "nintendo,flipper-ai"; | |
| reg = <0x0d006c00 0x20>; | |
| interrupts = <6>; | |
| }; | |
| /* External Interface bus */ | |
| exi@d006800 { | |
| compatible = "nintendo,hollywood-exi", | |
| "nintendo,flipper-exi"; | |
| reg = <0x0d006800 0x40>; | |
| virtual-reg = <0x0d006800>; | |
| interrupts = <4>; | |
| }; | |
| usb@d040000 { | |
| compatible = "nintendo,hollywood-usb-ehci", | |
| "usb-ehci"; | |
| reg = <0x0d040000 0x100>; | |
| interrupts = <4>; | |
| interrupt-parent = <&PIC1>; | |
| }; | |
| usb@d050000 { | |
| compatible = "nintendo,hollywood-usb-ohci", | |
| "usb-ohci"; | |
| reg = <0x0d050000 0x100>; | |
| interrupts = <5>; | |
| interrupt-parent = <&PIC1>; | |
| }; | |
| usb@d060000 { | |
| compatible = "nintendo,hollywood-usb-ohci", | |
| "usb-ohci"; | |
| reg = <0x0d060000 0x100>; | |
| interrupts = <6>; | |
| interrupt-parent = <&PIC1>; | |
| }; | |
| sd@d070000 { | |
| compatible = "nintendo,hollywood-sdhci", | |
| "sdhci"; | |
| reg = <0x0d070000 0x200>; | |
| interrupts = <7>; | |
| interrupt-parent = <&PIC1>; | |
| }; | |
| sdio@d080000 { | |
| compatible = "nintendo,hollywood-sdhci", | |
| "sdhci"; | |
| reg = <0x0d080000 0x200>; | |
| interrupts = <8>; | |
| interrupt-parent = <&PIC1>; | |
| }; | |
| ipc@d000000 { | |
| compatible = "nintendo,hollywood-ipc"; | |
| reg = <0x0d000000 0x10>; | |
| interrupts = <30>; | |
| interrupt-parent = <&PIC1>; | |
| }; | |
| PIC1: pic1@d800030 { | |
| #interrupt-cells = <1>; | |
| compatible = "nintendo,hollywood-pic"; | |
| reg = <0x0d800030 0x10>; | |
| interrupt-controller; | |
| interrupts = <14>; | |
| }; | |
| srnprot@d800060 { | |
| compatible = "nintendo,hollywood-srnprot"; | |
| reg = <0x0d800060 0x4>; | |
| }; | |
| GPIO: gpio@d8000c0 { | |
| #gpio-cells = <2>; | |
| compatible = "nintendo,hollywood-gpio"; | |
| reg = <0x0d8000c0 0x40>; | |
| gpio-controller; | |
| ngpios = <24>; | |
| gpio-line-names = | |
| "POWER", "SHUTDOWN", "FAN", "DC_DC", | |
| "DI_SPIN", "SLOT_LED", "EJECT_BTN", "SLOT_IN", | |
| "SENSOR_BAR", "DO_EJECT", "EEP_CS", "EEP_CLK", | |
| "EEP_MOSI", "EEP_MISO", "AVE_SCL", "AVE_SDA", | |
| "DEBUG0", "DEBUG1", "DEBUG2", "DEBUG3", | |
| "DEBUG4", "DEBUG5", "DEBUG6", "DEBUG7"; | |
| interrupt-controller; | |
| #interrupt-cells = <2>; | |
| interrupts = <10>; | |
| interrupt-parent = <&PIC1>; | |
| /* | |
| * This is commented out while a standard binding | |
| * for i2c over gpio is defined. | |
| */ | |
| /* | |
| i2c-video { | |
| #address-cells = <1>; | |
| #size-cells = <0>; | |
| compatible = "i2c-gpio"; | |
| gpios = <&GPIO 15 0 | |
| &GPIO 14 0>; | |
| clock-frequency = <250000>; | |
| no-clock-stretching; | |
| scl-is-open-drain; | |
| sda-is-open-drain; | |
| sda-enforce-dir; | |
| AVE: audio-video-encoder@70 { | |
| compatible = "nintendo,wii-audio-video-encoder"; | |
| reg = <0x70>; | |
| }; | |
| }; | |
| */ | |
| }; | |
| control@d800100 { | |
| compatible = "nintendo,hollywood-control"; | |
| /* | |
| * Both the address and length are wrong, according to | |
| * Wiibrew this should be <0x0d800000 0x400>, but it | |
| * requires refactoring the PIC1, GPIO and OTP nodes | |
| * before changing that. | |
| */ | |
| reg = <0x0d800100 0xa0>; | |
| }; | |
| otp@d8001ec { | |
| compatible = "nintendo,hollywood-otp"; | |
| reg = <0x0d8001ec 0x8>; | |
| }; | |
| disk@d806000 { | |
| compatible = "nintendo,hollywood-di"; | |
| reg = <0x0d806000 0x40>; | |
| interrupts = <2>; | |
| }; | |
| }; | |
| gpio-leds { | |
| compatible = "gpio-leds"; | |
| /* This is the blue LED in the disk drive slot */ | |
| drive-slot { | |
| label = "wii:blue:drive_slot"; | |
| gpios = <&GPIO 5 GPIO_ACTIVE_HIGH>; | |
| panic-indicator; | |
| }; | |
| }; | |
| gpio-keys { | |
| compatible = "gpio-keys"; | |
| power { | |
| label = "Power Button"; | |
| gpios = <&GPIO 0 GPIO_ACTIVE_HIGH>; | |
| linux,code = <KEY_POWER>; | |
| }; | |
| eject { | |
| label = "Eject Button"; | |
| gpios = <&GPIO 6 GPIO_ACTIVE_HIGH>; | |
| linux,code = <KEY_EJECTCD>; | |
| }; | |
| }; | |
| }; | |