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
687a09116cSAlbert Herranz		video@0c002000 {
697a09116cSAlbert Herranz			compatible = "nintendo,hollywood-vi",
707a09116cSAlbert Herranz					"nintendo,flipper-vi";
717a09116cSAlbert Herranz			reg = <0x0c002000 0x100>;
727a09116cSAlbert Herranz			interrupts = <8>;
737a09116cSAlbert Herranz		};
747a09116cSAlbert Herranz
757a09116cSAlbert Herranz		processor-interface@0c003000 {
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
877a09116cSAlbert Herranz		dsp@0c005000 {
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
967a09116cSAlbert Herranz		gamepad-controller@0d006400 {
977a09116cSAlbert Herranz			compatible = "nintendo,hollywood-si",
987a09116cSAlbert Herranz					"nintendo,flipper-si";
997a09116cSAlbert Herranz			reg = <0x0d006400 0x100>;
1007a09116cSAlbert Herranz			interrupts = <3>;
1017a09116cSAlbert Herranz		};
1027a09116cSAlbert Herranz
1037a09116cSAlbert Herranz		audio@0c006c00 {
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 */
1117a09116cSAlbert Herranz		exi@0d006800 {
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
1197a09116cSAlbert Herranz		usb@0d040000 {
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
1277a09116cSAlbert Herranz		usb@0d050000 {
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
1357a09116cSAlbert Herranz		usb@0d060000 {
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
1437a09116cSAlbert Herranz		sd@0d070000 {
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
1517a09116cSAlbert Herranz		sdio@0d080000 {
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
1597a09116cSAlbert Herranz		ipc@0d000000 {
1607a09116cSAlbert Herranz			compatible = "nintendo,hollywood-ipc";
1617a09116cSAlbert Herranz			reg = <0x0d000000 0x10>;
1627a09116cSAlbert Herranz			interrupts = <30>;
1637a09116cSAlbert Herranz			interrupt-parent = <&PIC1>;
1647a09116cSAlbert Herranz		};
1657a09116cSAlbert Herranz
1667a09116cSAlbert Herranz		PIC1: pic1@0d800030 {
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
1747a09116cSAlbert Herranz		GPIO: gpio@0d8000c0 {
1757a09116cSAlbert Herranz			#gpio-cells = <2>;
1767a09116cSAlbert Herranz			compatible = "nintendo,hollywood-gpio";
1777a09116cSAlbert Herranz			reg = <0x0d8000c0 0x40>;
1787a09116cSAlbert Herranz			gpio-controller;
1797a09116cSAlbert Herranz
1807a09116cSAlbert Herranz			/*
1817a09116cSAlbert Herranz			 * This is commented out while a standard binding
1827a09116cSAlbert Herranz			 * for i2c over gpio is defined.
1837a09116cSAlbert Herranz			 */
1847a09116cSAlbert Herranz			/*
1857a09116cSAlbert Herranz			i2c-video {
1867a09116cSAlbert Herranz				#address-cells = <1>;
1877a09116cSAlbert Herranz				#size-cells = <0>;
1887a09116cSAlbert Herranz			        compatible = "i2c-gpio";
1897a09116cSAlbert Herranz
1907a09116cSAlbert Herranz			        gpios = <&GPIO 15 0
1917a09116cSAlbert Herranz			                 &GPIO 14 0>;
1927a09116cSAlbert Herranz			        clock-frequency = <250000>;
1937a09116cSAlbert Herranz				no-clock-stretching;
1947a09116cSAlbert Herranz			        scl-is-open-drain;
1957a09116cSAlbert Herranz			        sda-is-open-drain;
1967a09116cSAlbert Herranz			        sda-enforce-dir;
1977a09116cSAlbert Herranz
1987a09116cSAlbert Herranz			        AVE: audio-video-encoder@70 {
1997a09116cSAlbert Herranz			                compatible = "nintendo,wii-audio-video-encoder";
2007a09116cSAlbert Herranz			                reg = <0x70>;
2017a09116cSAlbert Herranz			        };
2027a09116cSAlbert Herranz			};
2037a09116cSAlbert Herranz			*/
2047a09116cSAlbert Herranz		};
2057a09116cSAlbert Herranz
2067a09116cSAlbert Herranz		control@0d800100 {
2077a09116cSAlbert Herranz			compatible = "nintendo,hollywood-control";
2087a09116cSAlbert Herranz			reg = <0x0d800100 0x300>;
2097a09116cSAlbert Herranz		};
2107a09116cSAlbert Herranz
2117a09116cSAlbert Herranz		disk@0d806000 {
2127a09116cSAlbert Herranz			compatible = "nintendo,hollywood-di";
2137a09116cSAlbert Herranz			reg = <0x0d806000 0x40>;
2147a09116cSAlbert Herranz			interrupts = <2>;
2157a09116cSAlbert Herranz		};
2167a09116cSAlbert Herranz	};
2177a09116cSAlbert Herranz};
2187a09116cSAlbert Herranz
219