diff options
| -rw-r--r-- | Documentation/powerpc/dts-bindings/nintendo/gamecube.txt | 109 | ||||
| -rw-r--r-- | arch/powerpc/boot/dts/gamecube.dts | 114 |
2 files changed, 223 insertions, 0 deletions
diff --git a/Documentation/powerpc/dts-bindings/nintendo/gamecube.txt b/Documentation/powerpc/dts-bindings/nintendo/gamecube.txt new file mode 100644 index 000000000000..b558585b1aaf --- /dev/null +++ b/Documentation/powerpc/dts-bindings/nintendo/gamecube.txt | |||
| @@ -0,0 +1,109 @@ | |||
| 1 | |||
| 2 | Nintendo GameCube device tree | ||
| 3 | ============================= | ||
| 4 | |||
| 5 | 1) The "flipper" node | ||
| 6 | |||
| 7 | This node represents the multi-function "Flipper" chip, which packages | ||
| 8 | many of the devices found in the Nintendo GameCube. | ||
| 9 | |||
| 10 | Required properties: | ||
| 11 | |||
| 12 | - compatible : Should be "nintendo,flipper" | ||
| 13 | |||
| 14 | 1.a) The Video Interface (VI) node | ||
| 15 | |||
| 16 | Represents the interface between the graphics processor and a external | ||
| 17 | video encoder. | ||
| 18 | |||
| 19 | Required properties: | ||
| 20 | |||
| 21 | - compatible : should be "nintendo,flipper-vi" | ||
| 22 | - reg : should contain the VI registers location and length | ||
| 23 | - interrupts : should contain the VI interrupt | ||
| 24 | |||
| 25 | 1.b) The Processor Interface (PI) node | ||
| 26 | |||
| 27 | Represents the data and control interface between the main processor | ||
| 28 | and graphics and audio processor. | ||
| 29 | |||
| 30 | Required properties: | ||
| 31 | |||
| 32 | - compatible : should be "nintendo,flipper-pi" | ||
| 33 | - reg : should contain the PI registers location and length | ||
| 34 | |||
| 35 | 1.b.i) The "Flipper" interrupt controller node | ||
| 36 | |||
| 37 | Represents the interrupt controller within the "Flipper" chip. | ||
| 38 | The node for the "Flipper" interrupt controller must be placed under | ||
| 39 | the PI node. | ||
| 40 | |||
| 41 | Required properties: | ||
| 42 | |||
| 43 | - compatible : should be "nintendo,flipper-pic" | ||
| 44 | |||
| 45 | 1.c) The Digital Signal Procesor (DSP) node | ||
| 46 | |||
| 47 | Represents the digital signal processor interface, designed to offload | ||
| 48 | audio related tasks. | ||
| 49 | |||
| 50 | Required properties: | ||
| 51 | |||
| 52 | - compatible : should be "nintendo,flipper-dsp" | ||
| 53 | - reg : should contain the DSP registers location and length | ||
| 54 | - interrupts : should contain the DSP interrupt | ||
| 55 | |||
| 56 | 1.c.i) The Auxiliary RAM (ARAM) node | ||
| 57 | |||
| 58 | Represents the non cpu-addressable ram designed mainly to store audio | ||
| 59 | related information. | ||
| 60 | The ARAM node must be placed under the DSP node. | ||
| 61 | |||
| 62 | Required properties: | ||
| 63 | |||
| 64 | - compatible : should be "nintendo,flipper-aram" | ||
| 65 | - reg : should contain the ARAM start (zero-based) and length | ||
| 66 | |||
| 67 | 1.d) The Disk Interface (DI) node | ||
| 68 | |||
| 69 | Represents the interface used to communicate with mass storage devices. | ||
| 70 | |||
| 71 | Required properties: | ||
| 72 | |||
| 73 | - compatible : should be "nintendo,flipper-di" | ||
| 74 | - reg : should contain the DI registers location and length | ||
| 75 | - interrupts : should contain the DI interrupt | ||
| 76 | |||
| 77 | 1.e) The Audio Interface (AI) node | ||
| 78 | |||
| 79 | Represents the interface to the external 16-bit stereo digital-to-analog | ||
| 80 | converter. | ||
| 81 | |||
| 82 | Required properties: | ||
| 83 | |||
| 84 | - compatible : should be "nintendo,flipper-ai" | ||
| 85 | - reg : should contain the AI registers location and length | ||
| 86 | - interrupts : should contain the AI interrupt | ||
| 87 | |||
| 88 | 1.f) The Serial Interface (SI) node | ||
| 89 | |||
| 90 | Represents the interface to the four single bit serial interfaces. | ||
| 91 | The SI is a proprietary serial interface used normally to control gamepads. | ||
| 92 | It's NOT a RS232-type interface. | ||
| 93 | |||
| 94 | Required properties: | ||
| 95 | |||
| 96 | - compatible : should be "nintendo,flipper-si" | ||
| 97 | - reg : should contain the SI registers location and length | ||
| 98 | - interrupts : should contain the SI interrupt | ||
| 99 | |||
| 100 | 1.g) The External Interface (EXI) node | ||
| 101 | |||
| 102 | Represents the multi-channel SPI-like interface. | ||
| 103 | |||
| 104 | Required properties: | ||
| 105 | |||
| 106 | - compatible : should be "nintendo,flipper-exi" | ||
| 107 | - reg : should contain the EXI registers location and length | ||
| 108 | - interrupts : should contain the EXI interrupt | ||
| 109 | |||
diff --git a/arch/powerpc/boot/dts/gamecube.dts b/arch/powerpc/boot/dts/gamecube.dts new file mode 100644 index 000000000000..ef3be0e58b02 --- /dev/null +++ b/arch/powerpc/boot/dts/gamecube.dts | |||
| @@ -0,0 +1,114 @@ | |||
| 1 | /* | ||
| 2 | * arch/powerpc/boot/dts/gamecube.dts | ||
| 3 | * | ||
| 4 | * Nintendo GameCube platform device tree source | ||
| 5 | * Copyright (C) 2007-2009 The GameCube Linux Team | ||
| 6 | * Copyright (C) 2007,2008,2009 Albert Herranz | ||
| 7 | * | ||
| 8 | * This program is free software; you can redistribute it and/or | ||
| 9 | * modify it under the terms of the GNU General Public License | ||
| 10 | * as published by the Free Software Foundation; either version 2 | ||
| 11 | * of the License, or (at your option) any later version. | ||
| 12 | * | ||
| 13 | */ | ||
| 14 | |||
| 15 | /dts-v1/; | ||
| 16 | |||
| 17 | / { | ||
| 18 | model = "nintendo,gamecube"; | ||
| 19 | compatible = "nintendo,gamecube"; | ||
| 20 | #address-cells = <1>; | ||
| 21 | #size-cells = <1>; | ||
| 22 | |||
| 23 | chosen { | ||
| 24 | bootargs = "root=/dev/gcnsda2 rootwait udbg-immortal"; | ||
| 25 | }; | ||
| 26 | |||
| 27 | memory { | ||
| 28 | device_type = "memory"; | ||
| 29 | reg = <0x00000000 0x01800000>; | ||
| 30 | }; | ||
| 31 | |||
| 32 | cpus { | ||
| 33 | #address-cells = <1>; | ||
| 34 | #size-cells = <0>; | ||
| 35 | |||
| 36 | PowerPC,gekko@0 { | ||
| 37 | device_type = "cpu"; | ||
| 38 | reg = <0>; | ||
| 39 | clock-frequency = <486000000>; /* 486MHz */ | ||
| 40 | bus-frequency = <162000000>; /* 162MHz core-to-bus 3x */ | ||
| 41 | timebase-frequency = <40500000>; /* 162MHz / 4 */ | ||
| 42 | i-cache-line-size = <32>; | ||
| 43 | d-cache-line-size = <32>; | ||
| 44 | i-cache-size = <32768>; | ||
| 45 | d-cache-size = <32768>; | ||
| 46 | }; | ||
| 47 | }; | ||
| 48 | |||
| 49 | /* devices contained int the flipper chipset */ | ||
| 50 | flipper { | ||
| 51 | #address-cells = <1>; | ||
| 52 | #size-cells = <1>; | ||
| 53 | compatible = "nintendo,flipper"; | ||
| 54 | ranges = <0x0c000000 0x0c000000 0x00010000>; | ||
| 55 | interrupt-parent = <&PIC>; | ||
| 56 | |||
| 57 | video@0c002000 { | ||
| 58 | compatible = "nintendo,flipper-vi"; | ||
| 59 | reg = <0x0c002000 0x100>; | ||
| 60 | interrupts = <8>; | ||
| 61 | }; | ||
| 62 | |||
| 63 | processor-interface@0c003000 { | ||
| 64 | compatible = "nintendo,flipper-pi"; | ||
| 65 | reg = <0x0c003000 0x100>; | ||
| 66 | |||
| 67 | PIC: pic { | ||
| 68 | #interrupt-cells = <1>; | ||
| 69 | compatible = "nintendo,flipper-pic"; | ||
| 70 | interrupt-controller; | ||
| 71 | }; | ||
| 72 | }; | ||
| 73 | |||
| 74 | dsp@0c005000 { | ||
| 75 | #address-cells = <1>; | ||
| 76 | #size-cells = <1>; | ||
| 77 | compatible = "nintendo,flipper-dsp"; | ||
| 78 | reg = <0x0c005000 0x200>; | ||
| 79 | interrupts = <6>; | ||
| 80 | |||
| 81 | memory@0 { | ||
| 82 | compatible = "nintendo,flipper-aram"; | ||
| 83 | reg = <0 0x1000000>; /* 16MB */ | ||
| 84 | }; | ||
| 85 | }; | ||
| 86 | |||
| 87 | disk@0c006000 { | ||
| 88 | compatible = "nintendo,flipper-di"; | ||
| 89 | reg = <0x0c006000 0x40>; | ||
| 90 | interrupts = <2>; | ||
| 91 | }; | ||
| 92 | |||
| 93 | audio@0c006c00 { | ||
| 94 | compatible = "nintendo,flipper-ai"; | ||
| 95 | reg = <0x0c006c00 0x20>; | ||
| 96 | interrupts = <6>; | ||
| 97 | }; | ||
| 98 | |||
| 99 | gamepad-controller@0c006400 { | ||
| 100 | compatible = "nintendo,flipper-si"; | ||
| 101 | reg = <0x0c006400 0x100>; | ||
| 102 | interrupts = <3>; | ||
| 103 | }; | ||
| 104 | |||
| 105 | /* External Interface bus */ | ||
| 106 | exi@0c006800 { | ||
| 107 | compatible = "nintendo,flipper-exi"; | ||
| 108 | reg = <0x0c006800 0x40>; | ||
| 109 | virtual-reg = <0x0c006800>; | ||
| 110 | interrupts = <4>; | ||
| 111 | }; | ||
| 112 | }; | ||
| 113 | }; | ||
| 114 | |||
