
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-Processor 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

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

  see Documentation/devicetree/bindings/gpio/nintendo,hollywood-gpio.txt

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

