162306a36Sopenharmony_ci// SPDX-License-Identifier: GPL-2.0-or-later 262306a36Sopenharmony_ci/* 362306a36Sopenharmony_ci * arch/powerpc/boot/dts/wii.dts 462306a36Sopenharmony_ci * 562306a36Sopenharmony_ci * Nintendo Wii platform device tree source 662306a36Sopenharmony_ci * Copyright (C) 2008-2009 The GameCube Linux Team 762306a36Sopenharmony_ci * Copyright (C) 2008,2009 Albert Herranz 862306a36Sopenharmony_ci */ 962306a36Sopenharmony_ci 1062306a36Sopenharmony_ci/dts-v1/; 1162306a36Sopenharmony_ci#include <dt-bindings/gpio/gpio.h> 1262306a36Sopenharmony_ci#include <dt-bindings/input/input.h> 1362306a36Sopenharmony_ci 1462306a36Sopenharmony_ci/* 1562306a36Sopenharmony_ci * This is commented-out for now. 1662306a36Sopenharmony_ci * Until a later patch is merged, the kernel can use only the first 1762306a36Sopenharmony_ci * contiguous RAM range and will BUG() if the memreserve is outside 1862306a36Sopenharmony_ci * that range. 1962306a36Sopenharmony_ci */ 2062306a36Sopenharmony_ci/*/memreserve/ 0x10000000 0x0004000;*/ /* DSP RAM */ 2162306a36Sopenharmony_ci 2262306a36Sopenharmony_ci/ { 2362306a36Sopenharmony_ci model = "nintendo,wii"; 2462306a36Sopenharmony_ci compatible = "nintendo,wii"; 2562306a36Sopenharmony_ci #address-cells = <1>; 2662306a36Sopenharmony_ci #size-cells = <1>; 2762306a36Sopenharmony_ci 2862306a36Sopenharmony_ci chosen { 2962306a36Sopenharmony_ci bootargs = "root=/dev/mmcblk0p2 rootwait udbg-immortal"; 3062306a36Sopenharmony_ci }; 3162306a36Sopenharmony_ci 3262306a36Sopenharmony_ci memory { 3362306a36Sopenharmony_ci device_type = "memory"; 3462306a36Sopenharmony_ci reg = <0x00000000 0x01800000 /* MEM1 24MB 1T-SRAM */ 3562306a36Sopenharmony_ci 0x10000000 0x04000000>; /* MEM2 64MB GDDR3 */ 3662306a36Sopenharmony_ci }; 3762306a36Sopenharmony_ci 3862306a36Sopenharmony_ci cpus { 3962306a36Sopenharmony_ci #address-cells = <1>; 4062306a36Sopenharmony_ci #size-cells = <0>; 4162306a36Sopenharmony_ci 4262306a36Sopenharmony_ci PowerPC,broadway@0 { 4362306a36Sopenharmony_ci device_type = "cpu"; 4462306a36Sopenharmony_ci reg = <0>; 4562306a36Sopenharmony_ci clock-frequency = <729000000>; /* 729MHz */ 4662306a36Sopenharmony_ci bus-frequency = <243000000>; /* 243MHz core-to-bus 3x */ 4762306a36Sopenharmony_ci timebase-frequency = <60750000>; /* 243MHz / 4 */ 4862306a36Sopenharmony_ci i-cache-line-size = <32>; 4962306a36Sopenharmony_ci d-cache-line-size = <32>; 5062306a36Sopenharmony_ci i-cache-size = <32768>; 5162306a36Sopenharmony_ci d-cache-size = <32768>; 5262306a36Sopenharmony_ci }; 5362306a36Sopenharmony_ci }; 5462306a36Sopenharmony_ci 5562306a36Sopenharmony_ci /* devices contained in the hollywood chipset */ 5662306a36Sopenharmony_ci hollywood { 5762306a36Sopenharmony_ci #address-cells = <1>; 5862306a36Sopenharmony_ci #size-cells = <1>; 5962306a36Sopenharmony_ci compatible = "nintendo,hollywood"; 6062306a36Sopenharmony_ci ranges = <0x0c000000 0x0c000000 0x01000000 6162306a36Sopenharmony_ci 0x0d000000 0x0d000000 0x00800000 6262306a36Sopenharmony_ci 0x0d800000 0x0d800000 0x00800000>; 6362306a36Sopenharmony_ci interrupt-parent = <&PIC0>; 6462306a36Sopenharmony_ci 6562306a36Sopenharmony_ci video@c002000 { 6662306a36Sopenharmony_ci compatible = "nintendo,hollywood-vi", 6762306a36Sopenharmony_ci "nintendo,flipper-vi"; 6862306a36Sopenharmony_ci reg = <0x0c002000 0x100>; 6962306a36Sopenharmony_ci interrupts = <8>; 7062306a36Sopenharmony_ci }; 7162306a36Sopenharmony_ci 7262306a36Sopenharmony_ci processor-interface@c003000 { 7362306a36Sopenharmony_ci compatible = "nintendo,hollywood-pi", 7462306a36Sopenharmony_ci "nintendo,flipper-pi"; 7562306a36Sopenharmony_ci reg = <0x0c003000 0x100>; 7662306a36Sopenharmony_ci 7762306a36Sopenharmony_ci PIC0: pic0 { 7862306a36Sopenharmony_ci #interrupt-cells = <1>; 7962306a36Sopenharmony_ci compatible = "nintendo,flipper-pic"; 8062306a36Sopenharmony_ci interrupt-controller; 8162306a36Sopenharmony_ci }; 8262306a36Sopenharmony_ci }; 8362306a36Sopenharmony_ci 8462306a36Sopenharmony_ci dsp@c005000 { 8562306a36Sopenharmony_ci #address-cells = <1>; 8662306a36Sopenharmony_ci #size-cells = <1>; 8762306a36Sopenharmony_ci compatible = "nintendo,hollywood-dsp", 8862306a36Sopenharmony_ci "nintendo,flipper-dsp"; 8962306a36Sopenharmony_ci reg = <0x0c005000 0x200>; 9062306a36Sopenharmony_ci interrupts = <6>; 9162306a36Sopenharmony_ci }; 9262306a36Sopenharmony_ci 9362306a36Sopenharmony_ci gamepad-controller@d006400 { 9462306a36Sopenharmony_ci compatible = "nintendo,hollywood-si", 9562306a36Sopenharmony_ci "nintendo,flipper-si"; 9662306a36Sopenharmony_ci reg = <0x0d006400 0x100>; 9762306a36Sopenharmony_ci interrupts = <3>; 9862306a36Sopenharmony_ci }; 9962306a36Sopenharmony_ci 10062306a36Sopenharmony_ci audio@c006c00 { 10162306a36Sopenharmony_ci compatible = "nintendo,hollywood-ai", 10262306a36Sopenharmony_ci "nintendo,flipper-ai"; 10362306a36Sopenharmony_ci reg = <0x0d006c00 0x20>; 10462306a36Sopenharmony_ci interrupts = <6>; 10562306a36Sopenharmony_ci }; 10662306a36Sopenharmony_ci 10762306a36Sopenharmony_ci /* External Interface bus */ 10862306a36Sopenharmony_ci exi@d006800 { 10962306a36Sopenharmony_ci compatible = "nintendo,hollywood-exi", 11062306a36Sopenharmony_ci "nintendo,flipper-exi"; 11162306a36Sopenharmony_ci reg = <0x0d006800 0x40>; 11262306a36Sopenharmony_ci virtual-reg = <0x0d006800>; 11362306a36Sopenharmony_ci interrupts = <4>; 11462306a36Sopenharmony_ci }; 11562306a36Sopenharmony_ci 11662306a36Sopenharmony_ci usb@d040000 { 11762306a36Sopenharmony_ci compatible = "nintendo,hollywood-usb-ehci", 11862306a36Sopenharmony_ci "usb-ehci"; 11962306a36Sopenharmony_ci reg = <0x0d040000 0x100>; 12062306a36Sopenharmony_ci interrupts = <4>; 12162306a36Sopenharmony_ci interrupt-parent = <&PIC1>; 12262306a36Sopenharmony_ci }; 12362306a36Sopenharmony_ci 12462306a36Sopenharmony_ci usb@d050000 { 12562306a36Sopenharmony_ci compatible = "nintendo,hollywood-usb-ohci", 12662306a36Sopenharmony_ci "usb-ohci"; 12762306a36Sopenharmony_ci reg = <0x0d050000 0x100>; 12862306a36Sopenharmony_ci interrupts = <5>; 12962306a36Sopenharmony_ci interrupt-parent = <&PIC1>; 13062306a36Sopenharmony_ci }; 13162306a36Sopenharmony_ci 13262306a36Sopenharmony_ci usb@d060000 { 13362306a36Sopenharmony_ci compatible = "nintendo,hollywood-usb-ohci", 13462306a36Sopenharmony_ci "usb-ohci"; 13562306a36Sopenharmony_ci reg = <0x0d060000 0x100>; 13662306a36Sopenharmony_ci interrupts = <6>; 13762306a36Sopenharmony_ci interrupt-parent = <&PIC1>; 13862306a36Sopenharmony_ci }; 13962306a36Sopenharmony_ci 14062306a36Sopenharmony_ci sd@d070000 { 14162306a36Sopenharmony_ci compatible = "nintendo,hollywood-sdhci", 14262306a36Sopenharmony_ci "sdhci"; 14362306a36Sopenharmony_ci reg = <0x0d070000 0x200>; 14462306a36Sopenharmony_ci interrupts = <7>; 14562306a36Sopenharmony_ci interrupt-parent = <&PIC1>; 14662306a36Sopenharmony_ci }; 14762306a36Sopenharmony_ci 14862306a36Sopenharmony_ci sdio@d080000 { 14962306a36Sopenharmony_ci compatible = "nintendo,hollywood-sdhci", 15062306a36Sopenharmony_ci "sdhci"; 15162306a36Sopenharmony_ci reg = <0x0d080000 0x200>; 15262306a36Sopenharmony_ci interrupts = <8>; 15362306a36Sopenharmony_ci interrupt-parent = <&PIC1>; 15462306a36Sopenharmony_ci }; 15562306a36Sopenharmony_ci 15662306a36Sopenharmony_ci ipc@d000000 { 15762306a36Sopenharmony_ci compatible = "nintendo,hollywood-ipc"; 15862306a36Sopenharmony_ci reg = <0x0d000000 0x10>; 15962306a36Sopenharmony_ci interrupts = <30>; 16062306a36Sopenharmony_ci interrupt-parent = <&PIC1>; 16162306a36Sopenharmony_ci }; 16262306a36Sopenharmony_ci 16362306a36Sopenharmony_ci PIC1: pic1@d800030 { 16462306a36Sopenharmony_ci #interrupt-cells = <1>; 16562306a36Sopenharmony_ci compatible = "nintendo,hollywood-pic"; 16662306a36Sopenharmony_ci reg = <0x0d800030 0x10>; 16762306a36Sopenharmony_ci interrupt-controller; 16862306a36Sopenharmony_ci interrupts = <14>; 16962306a36Sopenharmony_ci }; 17062306a36Sopenharmony_ci 17162306a36Sopenharmony_ci srnprot@d800060 { 17262306a36Sopenharmony_ci compatible = "nintendo,hollywood-srnprot"; 17362306a36Sopenharmony_ci reg = <0x0d800060 0x4>; 17462306a36Sopenharmony_ci }; 17562306a36Sopenharmony_ci 17662306a36Sopenharmony_ci GPIO: gpio@d8000c0 { 17762306a36Sopenharmony_ci #gpio-cells = <2>; 17862306a36Sopenharmony_ci compatible = "nintendo,hollywood-gpio"; 17962306a36Sopenharmony_ci reg = <0x0d8000c0 0x40>; 18062306a36Sopenharmony_ci gpio-controller; 18162306a36Sopenharmony_ci ngpios = <24>; 18262306a36Sopenharmony_ci 18362306a36Sopenharmony_ci gpio-line-names = 18462306a36Sopenharmony_ci "POWER", "SHUTDOWN", "FAN", "DC_DC", 18562306a36Sopenharmony_ci "DI_SPIN", "SLOT_LED", "EJECT_BTN", "SLOT_IN", 18662306a36Sopenharmony_ci "SENSOR_BAR", "DO_EJECT", "EEP_CS", "EEP_CLK", 18762306a36Sopenharmony_ci "EEP_MOSI", "EEP_MISO", "AVE_SCL", "AVE_SDA", 18862306a36Sopenharmony_ci "DEBUG0", "DEBUG1", "DEBUG2", "DEBUG3", 18962306a36Sopenharmony_ci "DEBUG4", "DEBUG5", "DEBUG6", "DEBUG7"; 19062306a36Sopenharmony_ci 19162306a36Sopenharmony_ci interrupt-controller; 19262306a36Sopenharmony_ci #interrupt-cells = <2>; 19362306a36Sopenharmony_ci interrupts = <10>; 19462306a36Sopenharmony_ci interrupt-parent = <&PIC1>; 19562306a36Sopenharmony_ci 19662306a36Sopenharmony_ci /* 19762306a36Sopenharmony_ci * This is commented out while a standard binding 19862306a36Sopenharmony_ci * for i2c over gpio is defined. 19962306a36Sopenharmony_ci */ 20062306a36Sopenharmony_ci /* 20162306a36Sopenharmony_ci i2c-video { 20262306a36Sopenharmony_ci #address-cells = <1>; 20362306a36Sopenharmony_ci #size-cells = <0>; 20462306a36Sopenharmony_ci compatible = "i2c-gpio"; 20562306a36Sopenharmony_ci 20662306a36Sopenharmony_ci gpios = <&GPIO 15 0 20762306a36Sopenharmony_ci &GPIO 14 0>; 20862306a36Sopenharmony_ci clock-frequency = <250000>; 20962306a36Sopenharmony_ci no-clock-stretching; 21062306a36Sopenharmony_ci scl-is-open-drain; 21162306a36Sopenharmony_ci sda-is-open-drain; 21262306a36Sopenharmony_ci sda-enforce-dir; 21362306a36Sopenharmony_ci 21462306a36Sopenharmony_ci AVE: audio-video-encoder@70 { 21562306a36Sopenharmony_ci compatible = "nintendo,wii-audio-video-encoder"; 21662306a36Sopenharmony_ci reg = <0x70>; 21762306a36Sopenharmony_ci }; 21862306a36Sopenharmony_ci }; 21962306a36Sopenharmony_ci */ 22062306a36Sopenharmony_ci }; 22162306a36Sopenharmony_ci 22262306a36Sopenharmony_ci control@d800100 { 22362306a36Sopenharmony_ci compatible = "nintendo,hollywood-control"; 22462306a36Sopenharmony_ci /* 22562306a36Sopenharmony_ci * Both the address and length are wrong, according to 22662306a36Sopenharmony_ci * Wiibrew this should be <0x0d800000 0x400>, but it 22762306a36Sopenharmony_ci * requires refactoring the PIC1, GPIO and OTP nodes 22862306a36Sopenharmony_ci * before changing that. 22962306a36Sopenharmony_ci */ 23062306a36Sopenharmony_ci reg = <0x0d800100 0xa0>; 23162306a36Sopenharmony_ci }; 23262306a36Sopenharmony_ci 23362306a36Sopenharmony_ci otp@d8001ec { 23462306a36Sopenharmony_ci compatible = "nintendo,hollywood-otp"; 23562306a36Sopenharmony_ci reg = <0x0d8001ec 0x8>; 23662306a36Sopenharmony_ci }; 23762306a36Sopenharmony_ci 23862306a36Sopenharmony_ci disk@d806000 { 23962306a36Sopenharmony_ci compatible = "nintendo,hollywood-di"; 24062306a36Sopenharmony_ci reg = <0x0d806000 0x40>; 24162306a36Sopenharmony_ci interrupts = <2>; 24262306a36Sopenharmony_ci }; 24362306a36Sopenharmony_ci }; 24462306a36Sopenharmony_ci 24562306a36Sopenharmony_ci gpio-leds { 24662306a36Sopenharmony_ci compatible = "gpio-leds"; 24762306a36Sopenharmony_ci 24862306a36Sopenharmony_ci /* This is the blue LED in the disk drive slot */ 24962306a36Sopenharmony_ci drive-slot { 25062306a36Sopenharmony_ci label = "wii:blue:drive_slot"; 25162306a36Sopenharmony_ci gpios = <&GPIO 5 GPIO_ACTIVE_HIGH>; 25262306a36Sopenharmony_ci panic-indicator; 25362306a36Sopenharmony_ci }; 25462306a36Sopenharmony_ci }; 25562306a36Sopenharmony_ci 25662306a36Sopenharmony_ci gpio-keys { 25762306a36Sopenharmony_ci compatible = "gpio-keys"; 25862306a36Sopenharmony_ci 25962306a36Sopenharmony_ci power { 26062306a36Sopenharmony_ci label = "Power Button"; 26162306a36Sopenharmony_ci gpios = <&GPIO 0 GPIO_ACTIVE_HIGH>; 26262306a36Sopenharmony_ci linux,code = <KEY_POWER>; 26362306a36Sopenharmony_ci }; 26462306a36Sopenharmony_ci 26562306a36Sopenharmony_ci eject { 26662306a36Sopenharmony_ci label = "Eject Button"; 26762306a36Sopenharmony_ci gpios = <&GPIO 6 GPIO_ACTIVE_HIGH>; 26862306a36Sopenharmony_ci linux,code = <KEY_EJECTCD>; 26962306a36Sopenharmony_ci }; 27062306a36Sopenharmony_ci }; 27162306a36Sopenharmony_ci}; 27262306a36Sopenharmony_ci 273