Merge branch 'next' of git://git.secretlab.ca/git/linux-2.6

* 'next' of git://git.secretlab.ca/git/linux-2.6: (23 commits)
  powerpc: fix up for mmu_mapin_ram api change
  powerpc: wii: allow ioremap within the memory hole
  powerpc: allow ioremap within reserved memory regions
  wii: use both mem1 and mem2 as ram
  wii: bootwrapper: add fixup to calc useable mem2
  powerpc: gamecube/wii: early debugging using usbgecko
  powerpc: reserve fixmap entries for early debug
  powerpc: wii: default config
  powerpc: wii: platform support
  powerpc: wii: hollywood interrupt controller support
  powerpc: broadway processor support
  powerpc: wii: bootwrapper bits
  powerpc: wii: device tree
  powerpc: gamecube: default config
  powerpc: gamecube: platform support
  powerpc: gamecube/wii: flipper interrupt controller support
  powerpc: gamecube/wii: udbg support for usbgecko
  powerpc: gamecube/wii: do not include PCI support
  powerpc: gamecube/wii: declare as non-coherent platforms
  powerpc: gamecube/wii: introduce GAMECUBE_COMMON
  ...

Fix up conflicts in arch/powerpc/mm/fsl_booke_mmu.c.

Hopefully even close to correctly.
This commit is contained in:
Linus Torvalds
2009-12-16 13:26:53 -08:00
41 changed files with 5161 additions and 22 deletions

View File

@@ -0,0 +1,114 @@
/*
* arch/powerpc/boot/dts/gamecube.dts
*
* Nintendo GameCube platform device tree source
* Copyright (C) 2007-2009 The GameCube Linux Team
* Copyright (C) 2007,2008,2009 Albert Herranz
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License
* as published by the Free Software Foundation; either version 2
* of the License, or (at your option) any later version.
*
*/
/dts-v1/;
/ {
model = "nintendo,gamecube";
compatible = "nintendo,gamecube";
#address-cells = <1>;
#size-cells = <1>;
chosen {
bootargs = "root=/dev/gcnsda2 rootwait udbg-immortal";
};
memory {
device_type = "memory";
reg = <0x00000000 0x01800000>;
};
cpus {
#address-cells = <1>;
#size-cells = <0>;
PowerPC,gekko@0 {
device_type = "cpu";
reg = <0>;
clock-frequency = <486000000>; /* 486MHz */
bus-frequency = <162000000>; /* 162MHz core-to-bus 3x */
timebase-frequency = <40500000>; /* 162MHz / 4 */
i-cache-line-size = <32>;
d-cache-line-size = <32>;
i-cache-size = <32768>;
d-cache-size = <32768>;
};
};
/* devices contained int the flipper chipset */
flipper {
#address-cells = <1>;
#size-cells = <1>;
compatible = "nintendo,flipper";
ranges = <0x0c000000 0x0c000000 0x00010000>;
interrupt-parent = <&PIC>;
video@0c002000 {
compatible = "nintendo,flipper-vi";
reg = <0x0c002000 0x100>;
interrupts = <8>;
};
processor-interface@0c003000 {
compatible = "nintendo,flipper-pi";
reg = <0x0c003000 0x100>;
PIC: pic {
#interrupt-cells = <1>;
compatible = "nintendo,flipper-pic";
interrupt-controller;
};
};
dsp@0c005000 {
#address-cells = <1>;
#size-cells = <1>;
compatible = "nintendo,flipper-dsp";
reg = <0x0c005000 0x200>;
interrupts = <6>;
memory@0 {
compatible = "nintendo,flipper-aram";
reg = <0 0x1000000>; /* 16MB */
};
};
disk@0c006000 {
compatible = "nintendo,flipper-di";
reg = <0x0c006000 0x40>;
interrupts = <2>;
};
audio@0c006c00 {
compatible = "nintendo,flipper-ai";
reg = <0x0c006c00 0x20>;
interrupts = <6>;
};
gamepad-controller@0c006400 {
compatible = "nintendo,flipper-si";
reg = <0x0c006400 0x100>;
interrupts = <3>;
};
/* External Interface bus */
exi@0c006800 {
compatible = "nintendo,flipper-exi";
reg = <0x0c006800 0x40>;
virtual-reg = <0x0c006800>;
interrupts = <4>;
};
};
};

View File

@@ -0,0 +1,218 @@
/*
* 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
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License
* as published by the Free Software Foundation; either version 2
* of the License, or (at your option) any later version.
*
*/
/dts-v1/;
/*
* 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@0c002000 {
compatible = "nintendo,hollywood-vi",
"nintendo,flipper-vi";
reg = <0x0c002000 0x100>;
interrupts = <8>;
};
processor-interface@0c003000 {
compatible = "nintendo,hollywood-pi",
"nintendo,flipper-pi";
reg = <0x0c003000 0x100>;
PIC0: pic0 {
#interrupt-cells = <1>;
compatible = "nintendo,flipper-pic";
interrupt-controller;
};
};
dsp@0c005000 {
#address-cells = <1>;
#size-cells = <1>;
compatible = "nintendo,hollywood-dsp",
"nintendo,flipper-dsp";
reg = <0x0c005000 0x200>;
interrupts = <6>;
};
gamepad-controller@0d006400 {
compatible = "nintendo,hollywood-si",
"nintendo,flipper-si";
reg = <0x0d006400 0x100>;
interrupts = <3>;
};
audio@0c006c00 {
compatible = "nintendo,hollywood-ai",
"nintendo,flipper-ai";
reg = <0x0d006c00 0x20>;
interrupts = <6>;
};
/* External Interface bus */
exi@0d006800 {
compatible = "nintendo,hollywood-exi",
"nintendo,flipper-exi";
reg = <0x0d006800 0x40>;
virtual-reg = <0x0d006800>;
interrupts = <4>;
};
usb@0d040000 {
compatible = "nintendo,hollywood-usb-ehci",
"usb-ehci";
reg = <0x0d040000 0x100>;
interrupts = <4>;
interrupt-parent = <&PIC1>;
};
usb@0d050000 {
compatible = "nintendo,hollywood-usb-ohci",
"usb-ohci";
reg = <0x0d050000 0x100>;
interrupts = <5>;
interrupt-parent = <&PIC1>;
};
usb@0d060000 {
compatible = "nintendo,hollywood-usb-ohci",
"usb-ohci";
reg = <0x0d060000 0x100>;
interrupts = <6>;
interrupt-parent = <&PIC1>;
};
sd@0d070000 {
compatible = "nintendo,hollywood-sdhci",
"sdhci";
reg = <0x0d070000 0x200>;
interrupts = <7>;
interrupt-parent = <&PIC1>;
};
sdio@0d080000 {
compatible = "nintendo,hollywood-sdhci",
"sdhci";
reg = <0x0d080000 0x200>;
interrupts = <8>;
interrupt-parent = <&PIC1>;
};
ipc@0d000000 {
compatible = "nintendo,hollywood-ipc";
reg = <0x0d000000 0x10>;
interrupts = <30>;
interrupt-parent = <&PIC1>;
};
PIC1: pic1@0d800030 {
#interrupt-cells = <1>;
compatible = "nintendo,hollywood-pic";
reg = <0x0d800030 0x10>;
interrupt-controller;
interrupts = <14>;
};
GPIO: gpio@0d8000c0 {
#gpio-cells = <2>;
compatible = "nintendo,hollywood-gpio";
reg = <0x0d8000c0 0x40>;
gpio-controller;
/*
* 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@0d800100 {
compatible = "nintendo,hollywood-control";
reg = <0x0d800100 0x300>;
};
disk@0d806000 {
compatible = "nintendo,hollywood-di";
reg = <0x0d806000 0x40>;
interrupts = <2>;
};
};
};