Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 177650
b: refs/heads/master
c: 86ad53f
h: refs/heads/master
v: v3
  • Loading branch information
Albert Herranz authored and Grant Likely committed Dec 13, 2009
1 parent 53cf1e2 commit b40698b
Show file tree
Hide file tree
Showing 3 changed files with 224 additions and 1 deletion.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: 26054c9541ccc562e0aec05e8c1f19bf85328bcf
refs/heads/master: 86ad53f8aa051f5cf8783e28a804adc3ebc391f7
109 changes: 109 additions & 0 deletions trunk/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

114 changes: 114 additions & 0 deletions trunk/arch/powerpc/boot/dts/gamecube.dts
Original file line number Diff line number Diff line change
@@ -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>;
};
};
};

0 comments on commit b40698b

Please sign in to comment.