The Design and Implementation of the FreeBSD Operating System, Second Edition
Now available: The Design and Implementation of the FreeBSD Operating System (Second Edition)


[ source navigation ] [ diff markup ] [ identifier search ] [ freetext search ] [ file search ] [ list types ] [ track identifier ]

FreeBSD/Linux Kernel Cross Reference
sys/contrib/device-tree/src/powerpc/wii.dts

Version: -  FREEBSD  -  FREEBSD-13-STABLE  -  FREEBSD-13-0  -  FREEBSD-12-STABLE  -  FREEBSD-12-0  -  FREEBSD-11-STABLE  -  FREEBSD-11-0  -  FREEBSD-10-STABLE  -  FREEBSD-10-0  -  FREEBSD-9-STABLE  -  FREEBSD-9-0  -  FREEBSD-8-STABLE  -  FREEBSD-8-0  -  FREEBSD-7-STABLE  -  FREEBSD-7-0  -  FREEBSD-6-STABLE  -  FREEBSD-6-0  -  FREEBSD-5-STABLE  -  FREEBSD-5-0  -  FREEBSD-4-STABLE  -  FREEBSD-3-STABLE  -  FREEBSD22  -  l41  -  OPENBSD  -  linux-2.6  -  MK84  -  PLAN9  -  xnu-8792 
SearchContext: -  none  -  3  -  10 

    1 // SPDX-License-Identifier: GPL-2.0-or-later
    2 /*
    3  * arch/powerpc/boot/dts/wii.dts
    4  *
    5  * Nintendo Wii platform device tree source
    6  * Copyright (C) 2008-2009 The GameCube Linux Team
    7  * Copyright (C) 2008,2009 Albert Herranz
    8  */
    9 
   10 /dts-v1/;
   11 #include <dt-bindings/gpio/gpio.h>
   12 #include <dt-bindings/input/input.h>
   13 
   14 /*
   15  * This is commented-out for now.
   16  * Until a later patch is merged, the kernel can use only the first
   17  * contiguous RAM range and will BUG() if the memreserve is outside
   18  * that range.
   19  */
   20 /*/memreserve/ 0x10000000 0x0004000;*/  /* DSP RAM */
   21 
   22 / {
   23         model = "nintendo,wii";
   24         compatible = "nintendo,wii";
   25         #address-cells = <1>;
   26         #size-cells = <1>;
   27 
   28         chosen {
   29                 bootargs = "root=/dev/mmcblk0p2 rootwait udbg-immortal";
   30         };
   31 
   32         memory {
   33                 device_type = "memory";
   34                 reg = <0x00000000 0x01800000    /* MEM1 24MB 1T-SRAM */
   35                        0x10000000 0x04000000>;  /* MEM2 64MB GDDR3 */
   36         };
   37 
   38         cpus {
   39                 #address-cells = <1>;
   40                 #size-cells = <0>;
   41 
   42                 PowerPC,broadway@0 {
   43                         device_type = "cpu";
   44                         reg = <0>;
   45                         clock-frequency = <729000000>; /* 729MHz */
   46                         bus-frequency = <243000000>; /* 243MHz core-to-bus 3x */
   47                         timebase-frequency = <60750000>; /* 243MHz / 4 */
   48                         i-cache-line-size = <32>;
   49                         d-cache-line-size = <32>;
   50                         i-cache-size = <32768>;
   51                         d-cache-size = <32768>;
   52                 };
   53         };
   54 
   55         /* devices contained in the hollywood chipset */
   56         hollywood {
   57                 #address-cells = <1>;
   58                 #size-cells = <1>;
   59                 compatible = "nintendo,hollywood";
   60                 ranges = <0x0c000000 0x0c000000 0x01000000
   61                           0x0d000000 0x0d000000 0x00800000
   62                           0x0d800000 0x0d800000 0x00800000>;
   63                 interrupt-parent = <&PIC0>;
   64 
   65                 video@c002000 {
   66                         compatible = "nintendo,hollywood-vi",
   67                                         "nintendo,flipper-vi";
   68                         reg = <0x0c002000 0x100>;
   69                         interrupts = <8>;
   70                 };
   71 
   72                 processor-interface@c003000 {
   73                         compatible = "nintendo,hollywood-pi",
   74                                         "nintendo,flipper-pi";
   75                         reg = <0x0c003000 0x100>;
   76 
   77                         PIC0: pic0 {
   78                                 #interrupt-cells = <1>;
   79                                 compatible = "nintendo,flipper-pic";
   80                                 interrupt-controller;
   81                         };
   82                 };
   83 
   84                 dsp@c005000 {
   85                         #address-cells = <1>;
   86                         #size-cells = <1>;
   87                         compatible = "nintendo,hollywood-dsp",
   88                                         "nintendo,flipper-dsp";
   89                         reg = <0x0c005000 0x200>;
   90                         interrupts = <6>;
   91                 };
   92 
   93                 gamepad-controller@d006400 {
   94                         compatible = "nintendo,hollywood-si",
   95                                         "nintendo,flipper-si";
   96                         reg = <0x0d006400 0x100>;
   97                         interrupts = <3>;
   98                 };
   99 
  100                 audio@c006c00 {
  101                         compatible = "nintendo,hollywood-ai",
  102                                         "nintendo,flipper-ai";
  103                         reg = <0x0d006c00 0x20>;
  104                         interrupts = <6>;
  105                 };
  106 
  107                 /* External Interface bus */
  108                 exi@d006800 {
  109                         compatible = "nintendo,hollywood-exi",
  110                                         "nintendo,flipper-exi";
  111                         reg = <0x0d006800 0x40>;
  112                         virtual-reg = <0x0d006800>;
  113                         interrupts = <4>;
  114                 };
  115 
  116                 usb@d040000 {
  117                         compatible = "nintendo,hollywood-usb-ehci",
  118                                         "usb-ehci";
  119                         reg = <0x0d040000 0x100>;
  120                         interrupts = <4>;
  121                         interrupt-parent = <&PIC1>;
  122                 };
  123 
  124                 usb@d050000 {
  125                         compatible = "nintendo,hollywood-usb-ohci",
  126                                         "usb-ohci";
  127                         reg = <0x0d050000 0x100>;
  128                         interrupts = <5>;
  129                         interrupt-parent = <&PIC1>;
  130                 };
  131 
  132                 usb@d060000 {
  133                         compatible = "nintendo,hollywood-usb-ohci",
  134                                         "usb-ohci";
  135                         reg = <0x0d060000 0x100>;
  136                         interrupts = <6>;
  137                         interrupt-parent = <&PIC1>;
  138                 };
  139 
  140                 sd@d070000 {
  141                         compatible = "nintendo,hollywood-sdhci",
  142                                         "sdhci";
  143                         reg = <0x0d070000 0x200>;
  144                         interrupts = <7>;
  145                         interrupt-parent = <&PIC1>;
  146                 };
  147 
  148                 sdio@d080000 {
  149                         compatible = "nintendo,hollywood-sdhci",
  150                                         "sdhci";
  151                         reg = <0x0d080000 0x200>;
  152                         interrupts = <8>;
  153                         interrupt-parent = <&PIC1>;
  154                 };
  155 
  156                 ipc@d000000 {
  157                         compatible = "nintendo,hollywood-ipc";
  158                         reg = <0x0d000000 0x10>;
  159                         interrupts = <30>;
  160                         interrupt-parent = <&PIC1>;
  161                 };
  162 
  163                 PIC1: pic1@d800030 {
  164                         #interrupt-cells = <1>;
  165                         compatible = "nintendo,hollywood-pic";
  166                         reg = <0x0d800030 0x10>;
  167                         interrupt-controller;
  168                         interrupts = <14>;
  169                 };
  170 
  171                 srnprot@d800060 {
  172                         compatible = "nintendo,hollywood-srnprot";
  173                         reg = <0x0d800060 0x4>;
  174                 };
  175 
  176                 GPIO: gpio@d8000c0 {
  177                         #gpio-cells = <2>;
  178                         compatible = "nintendo,hollywood-gpio";
  179                         reg = <0x0d8000c0 0x40>;
  180                         gpio-controller;
  181                         ngpios = <24>;
  182 
  183                         gpio-line-names =
  184                                 "POWER", "SHUTDOWN", "FAN", "DC_DC",
  185                                 "DI_SPIN", "SLOT_LED", "EJECT_BTN", "SLOT_IN",
  186                                 "SENSOR_BAR", "DO_EJECT", "EEP_CS", "EEP_CLK",
  187                                 "EEP_MOSI", "EEP_MISO", "AVE_SCL", "AVE_SDA",
  188                                 "DEBUG0", "DEBUG1", "DEBUG2", "DEBUG3",
  189                                 "DEBUG4", "DEBUG5", "DEBUG6", "DEBUG7";
  190 
  191                         interrupt-controller;
  192                         #interrupt-cells = <2>;
  193                         interrupts = <10>;
  194                         interrupt-parent = <&PIC1>;
  195 
  196                         /*
  197                          * This is commented out while a standard binding
  198                          * for i2c over gpio is defined.
  199                          */
  200                         /*
  201                         i2c-video {
  202                                 #address-cells = <1>;
  203                                 #size-cells = <0>;
  204                                 compatible = "i2c-gpio";
  205 
  206                                 gpios = <&GPIO 15 0
  207                                          &GPIO 14 0>;
  208                                 clock-frequency = <250000>;
  209                                 no-clock-stretching;
  210                                 scl-is-open-drain;
  211                                 sda-is-open-drain;
  212                                 sda-enforce-dir;
  213 
  214                                 AVE: audio-video-encoder@70 {
  215                                         compatible = "nintendo,wii-audio-video-encoder";
  216                                         reg = <0x70>;
  217                                 };
  218                         };
  219                         */
  220                 };
  221 
  222                 control@d800100 {
  223                         compatible = "nintendo,hollywood-control";
  224                         /*
  225                          * Both the address and length are wrong, according to
  226                          * Wiibrew this should be <0x0d800000 0x400>, but it
  227                          * requires refactoring the PIC1, GPIO and OTP nodes
  228                          * before changing that.
  229                          */
  230                         reg = <0x0d800100 0xa0>;
  231                 };
  232 
  233                 otp@d8001ec {
  234                         compatible = "nintendo,hollywood-otp";
  235                         reg = <0x0d8001ec 0x8>;
  236                 };
  237 
  238                 disk@d806000 {
  239                         compatible = "nintendo,hollywood-di";
  240                         reg = <0x0d806000 0x40>;
  241                         interrupts = <2>;
  242                 };
  243         };
  244 
  245         gpio-leds {
  246                 compatible = "gpio-leds";
  247 
  248                 /* This is the blue LED in the disk drive slot */
  249                 drive-slot {
  250                         label = "wii:blue:drive_slot";
  251                         gpios = <&GPIO 5 GPIO_ACTIVE_HIGH>;
  252                         panic-indicator;
  253                 };
  254         };
  255 
  256         gpio-keys {
  257                 compatible = "gpio-keys";
  258 
  259                 power {
  260                         label = "Power Button";
  261                         gpios = <&GPIO 0 GPIO_ACTIVE_HIGH>;
  262                         linux,code = <KEY_POWER>;
  263                 };
  264 
  265                 eject {
  266                         label = "Eject Button";
  267                         gpios = <&GPIO 6 GPIO_ACTIVE_HIGH>;
  268                         linux,code = <KEY_EJECTCD>;
  269                 };
  270         };
  271 };
  272 

Cache object: f6a9e0852c948849ebeeedc303da103d


[ source navigation ] [ diff markup ] [ identifier search ] [ freetext search ] [ file search ] [ list types ] [ track identifier ]


This page is part of the FreeBSD/Linux Linux Kernel Cross-Reference, and was automatically generated using a modified version of the LXR engine.