Skip to content

Commit

Permalink
Merge branch 'next' of git://git.secretlab.ca/git/linux-2.6
Browse files Browse the repository at this point in the history
* '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.
  • Loading branch information
Linus Torvalds committed Dec 16, 2009
2 parents 5fa3577 + ae4cec4 commit a73611b
Show file tree
Hide file tree
Showing 41 changed files with 5,161 additions and 22 deletions.
109 changes: 109 additions & 0 deletions Documentation/powerpc/dts-bindings/nintendo/gamecube.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,109 @@

Nintendo GameCube device tree
=============================

1) The "flipper" node

This node represents the multi-function "Flipper" chip, which packages
many of the devices found in the Nintendo GameCube.

Required properties:

- compatible : Should be "nintendo,flipper"

1.a) The Video Interface (VI) node

Represents the interface between the graphics processor and a external
video encoder.

Required properties:

- compatible : should be "nintendo,flipper-vi"
- reg : should contain the VI registers location and length
- interrupts : should contain the VI interrupt

1.b) The Processor Interface (PI) node

Represents the data and control interface between the main processor
and graphics and audio processor.

Required properties:

- compatible : should be "nintendo,flipper-pi"
- reg : should contain the PI registers location and length

1.b.i) The "Flipper" interrupt controller node

Represents the interrupt controller within the "Flipper" chip.
The node for the "Flipper" interrupt controller must be placed under
the PI node.

Required properties:

- compatible : should be "nintendo,flipper-pic"

1.c) The Digital Signal Procesor (DSP) node

Represents the digital signal processor interface, designed to offload
audio related tasks.

Required properties:

- compatible : should be "nintendo,flipper-dsp"
- reg : should contain the DSP registers location and length
- interrupts : should contain the DSP interrupt

1.c.i) The Auxiliary RAM (ARAM) node

Represents the non cpu-addressable ram designed mainly to store audio
related information.
The ARAM node must be placed under the DSP node.

Required properties:

- compatible : should be "nintendo,flipper-aram"
- reg : should contain the ARAM start (zero-based) and length

1.d) The Disk Interface (DI) node

Represents the interface used to communicate with mass storage devices.

Required properties:

- compatible : should be "nintendo,flipper-di"
- reg : should contain the DI registers location and length
- interrupts : should contain the DI interrupt

1.e) The Audio Interface (AI) node

Represents the interface to the external 16-bit stereo digital-to-analog
converter.

Required properties:

- compatible : should be "nintendo,flipper-ai"
- reg : should contain the AI registers location and length
- interrupts : should contain the AI interrupt

1.f) The Serial Interface (SI) node

Represents the interface to the four single bit serial interfaces.
The SI is a proprietary serial interface used normally to control gamepads.
It's NOT a RS232-type interface.

Required properties:

- compatible : should be "nintendo,flipper-si"
- reg : should contain the SI registers location and length
- interrupts : should contain the SI interrupt

1.g) The External Interface (EXI) node

Represents the multi-channel SPI-like interface.

Required properties:

- compatible : should be "nintendo,flipper-exi"
- reg : should contain the EXI registers location and length
- interrupts : should contain the EXI interrupt

184 changes: 184 additions & 0 deletions Documentation/powerpc/dts-bindings/nintendo/wii.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,184 @@

Nintendo Wii device tree
========================

0) The root node

This node represents the Nintendo Wii video game console.

Required properties:

- model : Should be "nintendo,wii"
- compatible : Should be "nintendo,wii"

1) The "hollywood" node

This node represents the multi-function "Hollywood" chip, which packages
many of the devices found in the Nintendo Wii.

Required properties:

- compatible : Should be "nintendo,hollywood"

1.a) The Video Interface (VI) node

Represents the interface between the graphics processor and a external
video encoder.

Required properties:

- compatible : should be "nintendo,hollywood-vi","nintendo,flipper-vi"
- reg : should contain the VI registers location and length
- interrupts : should contain the VI interrupt

1.b) The Processor Interface (PI) node

Represents the data and control interface between the main processor
and graphics and audio processor.

Required properties:

- compatible : should be "nintendo,hollywood-pi","nintendo,flipper-pi"
- reg : should contain the PI registers location and length

1.b.i) The "Flipper" interrupt controller node

Represents the "Flipper" interrupt controller within the "Hollywood" chip.
The node for the "Flipper" interrupt controller must be placed under
the PI node.

Required properties:

- #interrupt-cells : <1>
- compatible : should be "nintendo,flipper-pic"
- interrupt-controller

1.c) The Digital Signal Procesor (DSP) node

Represents the digital signal processor interface, designed to offload
audio related tasks.

Required properties:

- compatible : should be "nintendo,hollywood-dsp","nintendo,flipper-dsp"
- reg : should contain the DSP registers location and length
- interrupts : should contain the DSP interrupt

1.d) The Serial Interface (SI) node

Represents the interface to the four single bit serial interfaces.
The SI is a proprietary serial interface used normally to control gamepads.
It's NOT a RS232-type interface.

Required properties:

- compatible : should be "nintendo,hollywood-si","nintendo,flipper-si"
- reg : should contain the SI registers location and length
- interrupts : should contain the SI interrupt

1.e) The Audio Interface (AI) node

Represents the interface to the external 16-bit stereo digital-to-analog
converter.

Required properties:

- compatible : should be "nintendo,hollywood-ai","nintendo,flipper-ai"
- reg : should contain the AI registers location and length
- interrupts : should contain the AI interrupt

1.f) The External Interface (EXI) node

Represents the multi-channel SPI-like interface.

Required properties:

- compatible : should be "nintendo,hollywood-exi","nintendo,flipper-exi"
- reg : should contain the EXI registers location and length
- interrupts : should contain the EXI interrupt

1.g) The Open Host Controller Interface (OHCI) nodes

Represent the USB 1.x Open Host Controller Interfaces.

Required properties:

- compatible : should be "nintendo,hollywood-usb-ohci","usb-ohci"
- reg : should contain the OHCI registers location and length
- interrupts : should contain the OHCI interrupt

1.h) The Enhanced Host Controller Interface (EHCI) node

Represents the USB 2.0 Enhanced Host Controller Interface.

Required properties:

- compatible : should be "nintendo,hollywood-usb-ehci","usb-ehci"
- reg : should contain the EHCI registers location and length
- interrupts : should contain the EHCI interrupt

1.i) The Secure Digital Host Controller Interface (SDHCI) nodes

Represent the Secure Digital Host Controller Interfaces.

Required properties:

- compatible : should be "nintendo,hollywood-sdhci","sdhci"
- reg : should contain the SDHCI registers location and length
- interrupts : should contain the SDHCI interrupt

1.j) The Inter-Processsor Communication (IPC) node

Represent the Inter-Processor Communication interface. This interface
enables communications between the Broadway and the Starlet processors.

- compatible : should be "nintendo,hollywood-ipc"
- reg : should contain the IPC registers location and length
- interrupts : should contain the IPC interrupt

1.k) The "Hollywood" interrupt controller node

Represents the "Hollywood" interrupt controller within the
"Hollywood" chip.

Required properties:

- #interrupt-cells : <1>
- compatible : should be "nintendo,hollywood-pic"
- reg : should contain the controller registers location and length
- interrupt-controller
- interrupts : should contain the cascade interrupt of the "flipper" pic
- interrupt-parent: should contain the phandle of the "flipper" pic

1.l) The General Purpose I/O (GPIO) controller node

Represents the dual access 32 GPIO controller interface.

Required properties:

- #gpio-cells : <2>
- compatible : should be "nintendo,hollywood-gpio"
- reg : should contain the IPC registers location and length
- gpio-controller

1.m) The control node

Represents the control interface used to setup several miscellaneous
settings of the "Hollywood" chip like boot memory mappings, resets,
disk interface mode, etc.

Required properties:

- compatible : should be "nintendo,hollywood-control"
- reg : should contain the control registers location and length

1.n) The Disk Interface (DI) node

Represents the interface used to communicate with mass storage devices.

Required properties:

- compatible : should be "nintendo,hollywood-di"
- reg : should contain the DI registers location and length
- interrupts : should contain the DI interrupt

2 changes: 1 addition & 1 deletion arch/powerpc/Kconfig
Original file line number Diff line number Diff line change
Expand Up @@ -704,7 +704,7 @@ config PPC_PCI_CHOICE
config PCI
bool "PCI support" if PPC_PCI_CHOICE
default y if !40x && !CPM2 && !8xx && !PPC_83xx \
&& !PPC_85xx && !PPC_86xx
&& !PPC_85xx && !PPC_86xx && !GAMECUBE_COMMON
default PCI_PERMEDIA if !4xx && !CPM2 && !8xx
default PCI_QSPAN if !4xx && !CPM2 && 8xx
select ARCH_SUPPORTS_MSI
Expand Down
8 changes: 8 additions & 0 deletions arch/powerpc/Kconfig.debug
Original file line number Diff line number Diff line change
Expand Up @@ -254,6 +254,14 @@ config PPC_EARLY_DEBUG_CPM
using a CPM-based serial port. This assumes that the bootwrapper
has run, and set up the CPM in a particular way.

config PPC_EARLY_DEBUG_USBGECKO
bool "Early debugging through the USB Gecko adapter"
depends on GAMECUBE_COMMON
select USBGECKO_UDBG
help
Select this to enable early debugging for Nintendo GameCube/Wii
consoles via an external USB Gecko adapter.

endchoice

config PPC_EARLY_DEBUG_44x_PHYSLOW
Expand Down
7 changes: 5 additions & 2 deletions arch/powerpc/boot/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -66,7 +66,7 @@ src-wlib := string.S crt0.S crtsavres.S stdio.c main.c \
gunzip_util.c elf_util.c $(zlib) devtree.c oflib.c ofconsole.c \
4xx.c ebony.c mv64x60.c mpsc.c mv64x60_i2c.c cuboot.c bamboo.c \
cpm-serial.c stdlib.c mpc52xx-psc.c planetcore.c uartlite.c \
fsl-soc.c mpc8xx.c pq2.c
fsl-soc.c mpc8xx.c pq2.c ugecon.c
src-plat := of.c cuboot-52xx.c cuboot-824x.c cuboot-83xx.c cuboot-85xx.c holly.c \
cuboot-ebony.c cuboot-hotfoot.c treeboot-ebony.c prpmc2800.c \
ps3-head.S ps3-hvcall.S ps3.c treeboot-bamboo.c cuboot-8xx.c \
Expand All @@ -76,7 +76,8 @@ src-plat := of.c cuboot-52xx.c cuboot-824x.c cuboot-83xx.c cuboot-85xx.c holly.c
cuboot-katmai.c cuboot-rainier.c redboot-8xx.c ep8248e.c \
cuboot-warp.c cuboot-85xx-cpm2.c cuboot-yosemite.c simpleboot.c \
virtex405-head.S virtex.c redboot-83xx.c cuboot-sam440ep.c \
cuboot-acadia.c cuboot-amigaone.c cuboot-kilauea.c
cuboot-acadia.c cuboot-amigaone.c cuboot-kilauea.c \
gamecube-head.S gamecube.c wii-head.S wii.c
src-boot := $(src-wlib) $(src-plat) empty.c

src-boot := $(addprefix $(obj)/, $(src-boot))
Expand Down Expand Up @@ -254,6 +255,8 @@ image-$(CONFIG_KSI8560) += cuImage.ksi8560
image-$(CONFIG_STORCENTER) += cuImage.storcenter
image-$(CONFIG_MPC7448HPC2) += cuImage.mpc7448hpc2
image-$(CONFIG_PPC_C2K) += cuImage.c2k
image-$(CONFIG_GAMECUBE) += dtbImage.gamecube
image-$(CONFIG_WII) += dtbImage.wii

# Board port in arch/powerpc/platform/amigaone/Kconfig
image-$(CONFIG_AMIGAONE) += cuImage.amigaone
Expand Down
Loading

0 comments on commit a73611b

Please sign in to comment.