Home | History | Annotate | Download | only in AcpiTablesPCAT
      1 /***************************************************************************************;
      2 ;*                                                                                     *;
      3 ;*                                                                                     *;
      4 ;*    Intel Corporation - ACPI Reference Code for the Baytrail                         *;
      5 ;*    Family of Customer Reference Boards.                                             *;
      6 ;*                                                                                     *;
      7 ;*                                                                                     *;
      8 ;*    Copyright (c)  2011  - 2014, Intel Corporation. All rights reserved              *;
      9 ;*                                                                                     *;
     10 ;*   This program and the accompanying materials are licensed and made available under *;
     11 ;*   the terms and conditions of the BSD License that accompanies this distribution.   *;
     12 ;*   The full text of the license may be found at                                      *;
     13 ;*   http://opensource.org/licenses/bsd-license.php.                                   *;
     14 ;*                                                                                     *;
     15 ;*   THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,             *;
     16 ;*   WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.     *;
     17 ;*                                                                                     *;
     18 ;*                                                                                     *;
     19 ;*                                                                                     *;
     20 ;***************************************************************************************/
     21 
     22 OperationRegion(PWKE,PCI_Config,0x62,0x04)
     23 
     24 Field(PWKE,DWordAcc,NoLock,Preserve)
     25 {
     26   , 1,
     27   PWUC, 8 // Port Wake Up Capability Mask
     28 }
     29 
     30 Method(_PSW,1)
     31 {
     32   If(Arg0)
     33   {
     34     Store(Ones,PWUC)
     35   }
     36   Else
     37   {
     38     Store(0,PWUC)
     39   }
     40 }
     41 
     42 // Leaves the USB ports on in S3/S4 to allow
     43 // the ability to Wake from USB.  Therefore, define
     44 // the below control methods to state D2 entry during
     45 // the given S-State.
     46 
     47 Method(_S3D,0)
     48 {
     49   Return(2)
     50 }
     51 
     52 Method(_S4D,0)
     53 {
     54   Return(2)
     55 }
     56 
     57 Device(HUBN)
     58 {
     59   Name(_ADR, Zero)
     60   Device(PR01)
     61   {
     62     Name(_ADR, One)
     63 
     64     //
     65     // There will have "Generic USB Hub" existed at Port 1 of each EHCI controller
     66     // in Windows "Device Manager" while RMH is enabled, so need to add _UPC
     67     // and _PLD to report OS that it's not user visible to pass WHQL: Single Computer
     68     // Display Object test in Win7
     69     //
     70     Name(_UPC, Package()
     71     {
     72       0xFF,                       // Port is connectable
     73       0x00,                       // Connector type - Type "A"
     74       0x00000000,                 // Reserved 0 - must be zero
     75       0x00000000
     76     })                // Reserved 1 - must be zero
     77 
     78     Name(_PLD, Package()
     79     {
     80       Buffer (0x10)
     81       {
     82         0x81, 0x00, 0x00, 0x00,     // Revision 1, Ignore color
     83         0x00, 0x00, 0x00, 0x00,
     84         0x30, 0x1C, 0x00, 0x00,     // Panel Unknown, Shape Unknown
     85         0x00, 0x00, 0x00, 0x00
     86       }
     87     })
     88 
     89     Device(PR11)
     90     {
     91       Name(_ADR, One)
     92       Name(_UPC, Package()
     93       {
     94         0xFF,                       // Port is connectable
     95         0xFF,                       // Proprietary connector
     96         0x00000000,                 // Reserved 0 - must be zero
     97         0x00000000
     98       })                // Reserved 1 - must be zero
     99       Name(_PLD, Package()
    100       {
    101         Buffer (0x10)
    102         {
    103           0x81, 0x00, 0x00, 0x00,     // Revision 1, Ignore color
    104           0x00, 0x00, 0x00, 0x00,
    105           0xE1, 0x1C, 0x00, 0x00,     // Front Panel, Vertical Upper, Horz. Left, Shape Unknown
    106           0x00, 0x00, 0x00, 0x00
    107         }
    108       })
    109     }
    110 
    111     Device(PR12)
    112     {
    113       Name(_ADR, 0x02)
    114       Name(_UPC, Package()
    115       {
    116         0xFF,                       // Port is connectable
    117         0xFF,                       // Proprietary connector
    118         0x00000000,                 // Reserved 0 - must be zero
    119         0x00000000
    120       })                // Reserved 1 - must be zero
    121       Name(_PLD, Package()
    122       {
    123         Buffer (0x10)
    124         {
    125           0x81, 0x00, 0x00, 0x00,     // Revision 1, Ignore color
    126           0x00, 0x00, 0x00, 0x00,
    127           0xE1, 0x1D, 0x00, 0x00,     // Front Panel, Vertical Center, Horz. Left, Shape Unknown
    128           0x00, 0x00, 0x00, 0x00
    129         }
    130       })
    131     }
    132 
    133     Device(PR13)
    134     {
    135       Name(_ADR, 0x03)
    136       Name(_UPC, Package()
    137       {
    138         0xFF,                       // Port is connectable
    139         0xFF,                       // Proprietary connector
    140         0x00000000,                 // Reserved 0 - must be zero
    141         0x00000000
    142       })                // Reserved 1 - must be zero
    143       Name(_PLD, Package()
    144       {
    145         Buffer (0x10)
    146         {
    147           0x81, 0x00, 0x00, 0x00,     // Revision 1, Ignore color
    148           0x00, 0x00, 0x00, 0x00,
    149           0xE1, 0x1D, 0x00, 0x00,     // Front Panel, Vertical Center, Horz. Left, Shape Unknown
    150           0x00, 0x00, 0x00, 0x00
    151         }
    152       })
    153     }
    154 
    155     Device(PR14)
    156     {
    157       Name(_ADR, 0x04)
    158       Name(_UPC, Package()
    159       {
    160         0xFF,                       // Port is connectable
    161         0xFF,                       // Proprietary connector
    162         0x00000000,                 // Reserved 0 - must be zero
    163         0x00000000
    164       })                // Reserved 1 - must be zero
    165 
    166       Name(_PLD, Package()
    167       {
    168         Buffer (0x10)
    169         {
    170           0x81, 0x00, 0x00, 0x00,     // Revision 1, Ignore color
    171           0x00, 0x00, 0x00, 0x00,
    172           0xE1, 0x1E, 0x00, 0x00,     // Front Panel, Vertical Lower, Horz. Left, Shape Unknown
    173           0x00, 0x00, 0x00, 0x00
    174         }
    175       })
    176 
    177       // copy USB Sideband Deferring GPE Vector (HOST_ALERT#1) to DSM method
    178       Include("UsbSbd.asl")
    179     }
    180 
    181     Device(PR15)
    182     {
    183       Name(_ADR, 0x05)
    184       Name(_UPC, Package()
    185       {
    186         0xFF,                       // Port is connectable
    187         0xFF,                       // Proprietary connector
    188         0x00000000,                 // Reserved 0 - must be zero
    189         0x00000000
    190       })                // Reserved 1 - must be zero
    191       Name(_PLD, Package()
    192       {
    193         Buffer (0x10)
    194         {
    195           0x81, 0x00, 0x00, 0x00,     // Revision 1, Ignore color
    196           0x00, 0x00, 0x00, 0x00,
    197           0xB1, 0x1E, 0x00, 0x00,     // Panel Unknown, Shape Unknown
    198           0x00, 0x00, 0x00, 0x00
    199         }
    200       })
    201       // copy USB Sideband Deferring GPE Vector (HOST_ALERT#2) to DSM method
    202       Include("UsbSbd.asl")
    203     }
    204 
    205     Device(PR16)
    206     {
    207       Name(_ADR, 0x06)
    208       Name(_UPC, Package()
    209       {
    210         0xFF,                       // Port is connectable
    211         0xFF,                       // Proprietary connector
    212         0x00000000,                 // Reserved 0 - must be zero
    213         0x00000000
    214       })                // Reserved 1 - must be zero
    215       Name(_PLD, Package()
    216       {
    217         Buffer (0x10)
    218         {
    219           0x81, 0x00, 0x00, 0x00,     // Revision 1, Ignore color
    220           0x00, 0x00, 0x00, 0x00,
    221           0xB1, 0x1E, 0x00, 0x00,     // Panel Unknown, Shape Unknown
    222           0x00, 0x00, 0x00, 0x00
    223         }
    224       })
    225       // copy USB Sideband Deferring GPE Vector (HOST_ALERT#1) to DSM method
    226       Include("UsbSbd.asl")
    227     }
    228 
    229     Device(PR17)
    230     {
    231       Name(_ADR, 0x07)
    232       Name(_UPC, Package()
    233       {
    234         0xFF,                       // Port is connectable
    235         0xFF,                       // Proprietary connector
    236         0x00000000,                 // Reserved 0 - must be zero
    237         0x00000000
    238       })                // Reserved 1 - must be zero
    239       Name(_PLD, Package()
    240       {
    241         Buffer (0x10)
    242         {
    243           0x81, 0x00, 0x00, 0x00,     // Revision 1, Ignore color
    244           0x00, 0x00, 0x00, 0x00,
    245           0xB1, 0x1E, 0x00, 0x00,     // Panel Unknown, Shape Unknown
    246           0x00, 0x00, 0x00, 0x00
    247         }
    248       })
    249       // copy USB Sideband Deferring GPE Vector (HOST_ALERT#2) to DSM method
    250       Include("UsbSbd.asl")
    251     }
    252 
    253     Device(PR18)
    254     {
    255       Name(_ADR, 0x08)
    256       Name(_UPC, Package()
    257       {
    258         0xFF,                       // Port is connectable
    259         0xFF,                       // Proprietary connector
    260         0x00000000,                 // Reserved 0 - must be zero
    261         0x00000000
    262       })                // Reserved 1 - must be zero
    263       Name(_PLD, Package()
    264       {
    265         Buffer (0x10)
    266         {
    267           0x81, 0x00, 0x00, 0x00,     // Revision 1, Ignore color
    268           0x00, 0x00, 0x00, 0x00,
    269           0xB1, 0x1E, 0x00, 0x00,     // Panel Unknown, Shape Unknown
    270           0x00, 0x00, 0x00, 0x00
    271         }
    272       })
    273     }
    274   } // End of PR01
    275 } // End of HUBN
    276