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/; 167a09116cSAlbert Herranz 177a09116cSAlbert Herranz/* 187a09116cSAlbert Herranz * This is commented-out for now. 197a09116cSAlbert Herranz * Until a later patch is merged, the kernel can use only the first 207a09116cSAlbert Herranz * contiguous RAM range and will BUG() if the memreserve is outside 217a09116cSAlbert Herranz * that range. 227a09116cSAlbert Herranz */ 237a09116cSAlbert Herranz/*/memreserve/ 0x10000000 0x0004000;*/ /* DSP RAM */ 247a09116cSAlbert Herranz 257a09116cSAlbert Herranz/ { 267a09116cSAlbert Herranz model = "nintendo,wii"; 277a09116cSAlbert Herranz compatible = "nintendo,wii"; 287a09116cSAlbert Herranz #address-cells = <1>; 297a09116cSAlbert Herranz #size-cells = <1>; 307a09116cSAlbert Herranz 317a09116cSAlbert Herranz chosen { 327a09116cSAlbert Herranz bootargs = "root=/dev/mmcblk0p2 rootwait udbg-immortal"; 337a09116cSAlbert Herranz }; 347a09116cSAlbert Herranz 357a09116cSAlbert Herranz memory { 367a09116cSAlbert Herranz device_type = "memory"; 377a09116cSAlbert Herranz reg = <0x00000000 0x01800000 /* MEM1 24MB 1T-SRAM */ 387a09116cSAlbert Herranz 0x10000000 0x04000000>; /* MEM2 64MB GDDR3 */ 397a09116cSAlbert Herranz }; 407a09116cSAlbert Herranz 417a09116cSAlbert Herranz cpus { 427a09116cSAlbert Herranz #address-cells = <1>; 437a09116cSAlbert Herranz #size-cells = <0>; 447a09116cSAlbert Herranz 457a09116cSAlbert Herranz PowerPC,broadway@0 { 467a09116cSAlbert Herranz device_type = "cpu"; 477a09116cSAlbert Herranz reg = <0>; 487a09116cSAlbert Herranz clock-frequency = <729000000>; /* 729MHz */ 497a09116cSAlbert Herranz bus-frequency = <243000000>; /* 243MHz core-to-bus 3x */ 507a09116cSAlbert Herranz timebase-frequency = <60750000>; /* 243MHz / 4 */ 517a09116cSAlbert Herranz i-cache-line-size = <32>; 527a09116cSAlbert Herranz d-cache-line-size = <32>; 537a09116cSAlbert Herranz i-cache-size = <32768>; 547a09116cSAlbert Herranz d-cache-size = <32768>; 557a09116cSAlbert Herranz }; 567a09116cSAlbert Herranz }; 577a09116cSAlbert Herranz 587a09116cSAlbert Herranz /* devices contained in the hollywood chipset */ 597a09116cSAlbert Herranz hollywood { 607a09116cSAlbert Herranz #address-cells = <1>; 617a09116cSAlbert Herranz #size-cells = <1>; 627a09116cSAlbert Herranz compatible = "nintendo,hollywood"; 637a09116cSAlbert Herranz ranges = <0x0c000000 0x0c000000 0x01000000 647a09116cSAlbert Herranz 0x0d000000 0x0d000000 0x00800000 657a09116cSAlbert Herranz 0x0d800000 0x0d800000 0x00800000>; 667a09116cSAlbert Herranz interrupt-parent = <&PIC0>; 677a09116cSAlbert Herranz 68600ecc19SMathieu Malaterre video@c002000 { 697a09116cSAlbert Herranz compatible = "nintendo,hollywood-vi", 707a09116cSAlbert Herranz "nintendo,flipper-vi"; 717a09116cSAlbert Herranz reg = <0x0c002000 0x100>; 727a09116cSAlbert Herranz interrupts = <8>; 737a09116cSAlbert Herranz }; 747a09116cSAlbert Herranz 75600ecc19SMathieu Malaterre processor-interface@c003000 { 767a09116cSAlbert Herranz compatible = "nintendo,hollywood-pi", 777a09116cSAlbert Herranz "nintendo,flipper-pi"; 787a09116cSAlbert Herranz reg = <0x0c003000 0x100>; 797a09116cSAlbert Herranz 807a09116cSAlbert Herranz PIC0: pic0 { 817a09116cSAlbert Herranz #interrupt-cells = <1>; 827a09116cSAlbert Herranz compatible = "nintendo,flipper-pic"; 837a09116cSAlbert Herranz interrupt-controller; 847a09116cSAlbert Herranz }; 857a09116cSAlbert Herranz }; 867a09116cSAlbert Herranz 87600ecc19SMathieu Malaterre dsp@c005000 { 887a09116cSAlbert Herranz #address-cells = <1>; 897a09116cSAlbert Herranz #size-cells = <1>; 907a09116cSAlbert Herranz compatible = "nintendo,hollywood-dsp", 917a09116cSAlbert Herranz "nintendo,flipper-dsp"; 927a09116cSAlbert Herranz reg = <0x0c005000 0x200>; 937a09116cSAlbert Herranz interrupts = <6>; 947a09116cSAlbert Herranz }; 957a09116cSAlbert Herranz 96600ecc19SMathieu Malaterre gamepad-controller@d006400 { 977a09116cSAlbert Herranz compatible = "nintendo,hollywood-si", 987a09116cSAlbert Herranz "nintendo,flipper-si"; 997a09116cSAlbert Herranz reg = <0x0d006400 0x100>; 1007a09116cSAlbert Herranz interrupts = <3>; 1017a09116cSAlbert Herranz }; 1027a09116cSAlbert Herranz 103600ecc19SMathieu Malaterre audio@c006c00 { 1047a09116cSAlbert Herranz compatible = "nintendo,hollywood-ai", 1057a09116cSAlbert Herranz "nintendo,flipper-ai"; 1067a09116cSAlbert Herranz reg = <0x0d006c00 0x20>; 1077a09116cSAlbert Herranz interrupts = <6>; 1087a09116cSAlbert Herranz }; 1097a09116cSAlbert Herranz 1107a09116cSAlbert Herranz /* External Interface bus */ 111600ecc19SMathieu Malaterre exi@d006800 { 1127a09116cSAlbert Herranz compatible = "nintendo,hollywood-exi", 1137a09116cSAlbert Herranz "nintendo,flipper-exi"; 1147a09116cSAlbert Herranz reg = <0x0d006800 0x40>; 1157a09116cSAlbert Herranz virtual-reg = <0x0d006800>; 1167a09116cSAlbert Herranz interrupts = <4>; 1177a09116cSAlbert Herranz }; 1187a09116cSAlbert Herranz 119600ecc19SMathieu Malaterre usb@d040000 { 1207a09116cSAlbert Herranz compatible = "nintendo,hollywood-usb-ehci", 1217a09116cSAlbert Herranz "usb-ehci"; 1227a09116cSAlbert Herranz reg = <0x0d040000 0x100>; 1237a09116cSAlbert Herranz interrupts = <4>; 1247a09116cSAlbert Herranz interrupt-parent = <&PIC1>; 1257a09116cSAlbert Herranz }; 1267a09116cSAlbert Herranz 127600ecc19SMathieu Malaterre usb@d050000 { 1287a09116cSAlbert Herranz compatible = "nintendo,hollywood-usb-ohci", 1297a09116cSAlbert Herranz "usb-ohci"; 1307a09116cSAlbert Herranz reg = <0x0d050000 0x100>; 1317a09116cSAlbert Herranz interrupts = <5>; 1327a09116cSAlbert Herranz interrupt-parent = <&PIC1>; 1337a09116cSAlbert Herranz }; 1347a09116cSAlbert Herranz 135600ecc19SMathieu Malaterre usb@d060000 { 1367a09116cSAlbert Herranz compatible = "nintendo,hollywood-usb-ohci", 1377a09116cSAlbert Herranz "usb-ohci"; 1387a09116cSAlbert Herranz reg = <0x0d060000 0x100>; 1397a09116cSAlbert Herranz interrupts = <6>; 1407a09116cSAlbert Herranz interrupt-parent = <&PIC1>; 1417a09116cSAlbert Herranz }; 1427a09116cSAlbert Herranz 143600ecc19SMathieu Malaterre sd@d070000 { 1447a09116cSAlbert Herranz compatible = "nintendo,hollywood-sdhci", 1457a09116cSAlbert Herranz "sdhci"; 1467a09116cSAlbert Herranz reg = <0x0d070000 0x200>; 1477a09116cSAlbert Herranz interrupts = <7>; 1487a09116cSAlbert Herranz interrupt-parent = <&PIC1>; 1497a09116cSAlbert Herranz }; 1507a09116cSAlbert Herranz 151600ecc19SMathieu Malaterre sdio@d080000 { 1527a09116cSAlbert Herranz compatible = "nintendo,hollywood-sdhci", 1537a09116cSAlbert Herranz "sdhci"; 1547a09116cSAlbert Herranz reg = <0x0d080000 0x200>; 1557a09116cSAlbert Herranz interrupts = <8>; 1567a09116cSAlbert Herranz interrupt-parent = <&PIC1>; 1577a09116cSAlbert Herranz }; 1587a09116cSAlbert Herranz 159600ecc19SMathieu Malaterre ipc@d000000 { 1607a09116cSAlbert Herranz compatible = "nintendo,hollywood-ipc"; 1617a09116cSAlbert Herranz reg = <0x0d000000 0x10>; 1627a09116cSAlbert Herranz interrupts = <30>; 1637a09116cSAlbert Herranz interrupt-parent = <&PIC1>; 1647a09116cSAlbert Herranz }; 1657a09116cSAlbert Herranz 166600ecc19SMathieu Malaterre PIC1: pic1@d800030 { 1677a09116cSAlbert Herranz #interrupt-cells = <1>; 1687a09116cSAlbert Herranz compatible = "nintendo,hollywood-pic"; 1697a09116cSAlbert Herranz reg = <0x0d800030 0x10>; 1707a09116cSAlbert Herranz interrupt-controller; 1717a09116cSAlbert Herranz interrupts = <14>; 1727a09116cSAlbert Herranz }; 1737a09116cSAlbert Herranz 174600ecc19SMathieu Malaterre GPIO: gpio@d8000c0 { 1757a09116cSAlbert Herranz #gpio-cells = <2>; 1767a09116cSAlbert Herranz compatible = "nintendo,hollywood-gpio"; 1777a09116cSAlbert Herranz reg = <0x0d8000c0 0x40>; 1787a09116cSAlbert Herranz gpio-controller; 1799693d570SJonathan Neuschäfer ngpios = <24>; 1807a09116cSAlbert Herranz 1817a09116cSAlbert Herranz /* 1827a09116cSAlbert Herranz * This is commented out while a standard binding 1837a09116cSAlbert Herranz * for i2c over gpio is defined. 1847a09116cSAlbert Herranz */ 1857a09116cSAlbert Herranz /* 1867a09116cSAlbert Herranz i2c-video { 1877a09116cSAlbert Herranz #address-cells = <1>; 1887a09116cSAlbert Herranz #size-cells = <0>; 1897a09116cSAlbert Herranz compatible = "i2c-gpio"; 1907a09116cSAlbert Herranz 1917a09116cSAlbert Herranz gpios = <&GPIO 15 0 1927a09116cSAlbert Herranz &GPIO 14 0>; 1937a09116cSAlbert Herranz clock-frequency = <250000>; 1947a09116cSAlbert Herranz no-clock-stretching; 1957a09116cSAlbert Herranz scl-is-open-drain; 1967a09116cSAlbert Herranz sda-is-open-drain; 1977a09116cSAlbert Herranz sda-enforce-dir; 1987a09116cSAlbert Herranz 1997a09116cSAlbert Herranz AVE: audio-video-encoder@70 { 2007a09116cSAlbert Herranz compatible = "nintendo,wii-audio-video-encoder"; 2017a09116cSAlbert Herranz reg = <0x70>; 2027a09116cSAlbert Herranz }; 2037a09116cSAlbert Herranz }; 2047a09116cSAlbert Herranz */ 2057a09116cSAlbert Herranz }; 2067a09116cSAlbert Herranz 207600ecc19SMathieu Malaterre control@d800100 { 2087a09116cSAlbert Herranz compatible = "nintendo,hollywood-control"; 2097a09116cSAlbert Herranz reg = <0x0d800100 0x300>; 2107a09116cSAlbert Herranz }; 2117a09116cSAlbert Herranz 212600ecc19SMathieu Malaterre disk@d806000 { 2137a09116cSAlbert Herranz compatible = "nintendo,hollywood-di"; 2147a09116cSAlbert Herranz reg = <0x0d806000 0x40>; 2157a09116cSAlbert Herranz interrupts = <2>; 2167a09116cSAlbert Herranz }; 2177a09116cSAlbert Herranz }; 2187a09116cSAlbert Herranz}; 2197a09116cSAlbert Herranz 220