+++ /dev/null
-/**************************************************************************;\r
-;* *;\r
-;* *;\r
-;* Intel Corporation - ACPI Reference Code for the Haswell *;\r
-;* Family of Customer Reference Boards. *;\r
-;* *;\r
-;* *;\r
-;* Copyright (c) 2010 - 2015, Intel Corporation. All rights reserved *;\r
-;\r
-; SPDX-License-Identifier: BSD-2-Clause-Patent\r
-;\r
-;* *;\r
-;* *;\r
-;**************************************************************************/\r
-\r
-//scope is \_SB.PCI0.XHC\r
-Device(XHC1)\r
-{\r
- Name(_ADR, 0x00140000) //Device 20, Function 0\r
-\r
- //When it is in Host mode, USH core is connected to USB3 microAB(USB3 P1 and USB2 P0)\r
- Name (_DDN, "Baytrail XHCI controller (CCG core/Host only)" )\r
-\r
- Method(XDEP, 0)\r
- {\r
- If(LEqual(OSYS,2013))\r
- {\r
- Name(_DEP, Package(0x1)\r
- {\r
- PEPD\r
- })\r
- }\r
- }\r
-\r
- Name (_STR, Unicode ("Baytrail XHCI controller (CCG core/Host only)"))\r
- Name(_PRW, Package() {0xD,4})\r
-\r
- Method(_PSW,1)\r
- {\r
- If (LAnd (PMES, PMEE)) {\r
- Store (0, PMEE)\r
- Store (1, PMES)\r
- }\r
- }\r
-\r
- OperationRegion (PMEB, PCI_Config, 0x74, 0x04) // Power Management Control/Status\r
- Field (PMEB, WordAcc, NoLock, Preserve)\r
- {\r
- , 8,\r
- PMEE, 1, //bit8 PME_En\r
- , 6,\r
- PMES, 1 //bit15 PME_Status\r
- }\r
-\r
- Method(_STA, 0)\r
- {\r
- If(LNotEqual(XHCI, 0)) //NVS variable controls present of XHCI controller\r
- {\r
- Return (0xF)\r
- } Else\r
- {\r
- Return (0x0)\r
- }\r
- }\r
-\r
- OperationRegion(XPRT,PCI_Config,0xD0,0x10)\r
- Field(XPRT,DWordAcc,NoLock,Preserve) //usbx_top.doc.xml\r
- {\r
- PR2, 32, //bit[8:0] USB2HCSEL\r
- PR2M, 32, //bit[8:0] USB2HCSELM\r
- PR3, 32, //bit[3:0] USB3SSEN\r
- PR3M, 32 //bit[3:0] USB3SSENM\r
- }\r
-\r
- Device(RHUB)\r
- {\r
- Name(_ADR, Zero) //address 0 is reserved for root hub\r
-\r
- //\r
- // Super Speed Ports - must match _UPC declarations of the coresponding Full Speed Ports.\r
- // Paired with Port 1\r
- Device(SSP1)\r
- {\r
- Name(_ADR, 0x07)\r
-\r
- Method(_UPC,0,Serialized)\r
- {\r
- Name(UPCP, Package()\r
- {\r
- 0xFF, // Port is connectable if non-zero\r
- 0x06, // USB3 uAB connector\r
- 0x00,\r
- 0x00\r
- })\r
- Return(UPCP)\r
- }\r
-\r
- Method(_PLD,0,Serialized)\r
- {\r
- Name(PLDP, Package() //pls check ACPI 5.0 section 6.1.8\r
- {\r
- Buffer(0x14)\r
- {\r
- //31:0 - Bit[6:0]=2 revision is 0x2, Bit[7]=1 Ignore Color Bit[31:8]=0 RGB color is ignored\r
- 0x82, 0x00, 0x00, 0x00,\r
- //63:32 - Bit[47:32]=0 width: 0x0000 Bit[63:48]=0 Height:0x0000\r
- 0x00, 0x00, 0x00, 0x00,\r
- //95:64 - bit[66:64]=b'011 visiable/docking/no lid bit[69:67]=b'001 bottom panel bit[71:70]=b'01 Center bit[73:72]=b'01 Center\r
- // bit[77:74]=6 Horizontal Trapezoid bit[78]=0 bit[86:79]=0 bit[94:87]='0 no group info' bit[95]=0 not a bay\r
- 0x4B, 0x19, 0x00, 0x00,\r
- //127:96 -bit[96]=1 Ejectable bit[97]=1 OSPM Ejection required Bit[105:98]=0 no Cabinet Number\r
- // bit[113:106]=0 no Card cage Number bit[114]=0 no reference shape Bit[118:115]=0 no rotation Bit[123:119]=0 no order\r
- 0x03, 0x00, 0x00, 0x00,\r
- //159:128 Vert. and Horiz. Offsets not supplied\r
- 0xFF, 0xFF, 0xFF, 0xFF\r
- }\r
- })\r
- Return (PLDP)\r
- }\r
- }\r
- //\r
- // High Speed Ports\r
- // pair port with port 7 (SS)\r
- // The UPC declarations for LS/FS/HS and SS ports that are paired to form a USB3.0 compatible connector.\r
- // A "pair" is defined by two ports that declare _PLDs with identical Panel, Vertical Position, Horizontal Postion, Shape, Group Orientation\r
- // and Group Token\r
- Device(HS01)\r
- {\r
- Name(_ADR, 0x01)\r
-\r
- Method(_UPC,0,Serialized)\r
- {\r
- Name(UPCP, Package() { 0xFF,0x06,0x00,0x00 })\r
- Return(UPCP)\r
- }\r
-\r
- Method(_PLD,0,Serialized)\r
- {\r
- Name(PLDP, Package() //pls check ACPI 5.0 section 6.1.8\r
- {\r
- Buffer(0x14)\r
- {\r
- //31:0 - Bit[6:0]=2 revision is 0x2, Bit[7]=1 Ignore Color Bit[31:8]=0 RGB color is ignored\r
- 0x82, 0x00, 0x00, 0x00,\r
- //63:32 - Bit[47:32]=0 width: 0x0000 Bit[63:48]=0 Height:0x0000\r
- 0x00, 0x00, 0x00, 0x00,\r
- //95:64 - bit[66:64]=b'011 visiable/docking/no lid bit[69:67]=b'001 bottom panel bit[71:70]=b'01 Center bit[73:72]=b'01 Center\r
- // bit[77:74]=6 Horizontal Trapezoid bit[78]=0 bit[86:79]=0 bit[94:87]='0 no group info' bit[95]=0 not a bay\r
- 0x4B, 0x19, 0x00, 0x00,\r
- //127:96 -bit[96]=1 Ejectable bit[97]=1 OSPM Ejection required Bit[105:98]=0 no Cabinet Number\r
- // bit[113:106]=0 no Card cage Number bit[114]=0 no reference shape Bit[118:115]=0 no rotation Bit[123:119]=0 no order\r
- 0x03, 0x00, 0x00, 0x00,\r
- //159:128 Vert. and Horiz. Offsets not supplied\r
- 0xFF, 0xFF, 0xFF, 0xFF\r
- }\r
- })\r
- Return (PLDP)\r
- }\r
- }//end of HS01\r
-\r
- // USB2 Type-A/USB2 only\r
- // EHCI debug capable\r
- Device(HS02)\r
- {\r
- Name(_ADR, 0x02) // 0 is for root hub so physical port index starts from 1 (it is port1 in schematic)\r
-\r
- Method(_UPC,0,Serialized)\r
- {\r
- Name(UPCP, Package()\r
- {\r
- 0xFF, // connectable\r
- 0xFF, //\r
- 0x00,\r
- 0x00\r
- })\r
-\r
- Return(UPCP)\r
- }\r
-\r
- Method(_PLD,0,Serialized)\r
- {\r
- Name(PLDP, Package()\r
- {\r
- Buffer(0x14)\r
- {\r
- //31:0 - Bit[6:0]=2 revision is 0x2, Bit[7]=1 Ignore Color Bit[31:8]=0 RGB color is ignored\r
- 0x82, 0x00, 0x00, 0x00,\r
- //63:32 - Bit[47:32]=0 width: 0x0000 Bit[63:48]=0 Height:0x0000\r
- 0x00, 0x00, 0x00, 0x00,\r
- //95:64 - bit[66:64]=b'011 visiable/docking/no lid bit[69:67]=b'001 bottom panel bit[71:70]=b'01 Center bit[73:72]=b'00 Left\r
- // bit[77:74]=2 Square bit[78]=0 bit[86:79]=0 bit[94:87]='0 no group info' bit[95]=0 not a bay\r
- 0x4B, 0x08, 0x00, 0x00,\r
- //127:96 -bit[96]=1 Ejectable bit[97]=1 OSPM Ejection required Bit[105:98]=0 no Cabinet Number\r
- // bit[113:106]=0 no Card cage Number bit[114]=0 no reference shape Bit[118:115]=0 no rotation Bit[123:119]=0 no order\r
- 0x03, 0x00, 0x00, 0x00,\r
- //159:128 Vert. and Horiz. Offsets not supplied\r
- 0xFF, 0xFF, 0xFF, 0xFF\r
- }\r
- })\r
-\r
- Return (PLDP)\r
- }\r
- }//end of HS02\r
- // high speed port 3\r
- Device(HS03)\r
- {\r
- Name(_ADR, 0x03)\r
-\r
- Method(_UPC,0,Serialized)\r
- {\r
- Name(UPCP, Package()\r
- {\r
- 0xFF, // connectable\r
- 0xFF,\r
- 0x00,\r
- 0x00\r
- })\r
-\r
- Return(UPCP)\r
- }\r
-\r
- Method(_RMV, 0) // for XHCICV debug purpose\r
- {\r
- Return(0x0)\r
- }\r
-\r
- Method(_PLD,0,Serialized)\r
- {\r
- Name(PLDP, Package()\r
- {\r
- Buffer(0x14)\r
- {\r
- //31:0 - Bit[6:0]=2 revision is 0x2, Bit[7]=1 Ignore Color Bit[31:8]=0 RGB color is ignored\r
- 0x82, 0x00, 0x00, 0x00,\r
- //63:32 - Bit[47:32]=0 width: 0x0000 Bit[63:48]=0 Height:0x0000\r
- 0x00, 0x00, 0x00, 0x00,\r
- //95:64 - bit[66:64]=b'000 not Visible/no docking/no lid bit[69:67]=6 (b'110) unknown(Vertical Position and Horizontal Position will be ignored)\r
- // bit[71:70]=b'00 Vertical Position ignore bit[73:72]=b'00 Horizontal Position ignore\r
- // bit[77:74]=2 Square bit[78]=0 bit[86:79]=0 bit[94:87]='0 no group info' bit[95]=0 not a bay\r
- 0x30, 0x08, 0x00, 0x00,\r
- //127:96 -bit[96]=0 not Ejectable bit[97]=0 OSPM Ejection not required Bit[105:98]=0 no Cabinet Number\r
- // bit[113:106]=0 no Card cage Number bit[114]=0 no reference shape Bit[118:115]=0 no rotation Bit[123:119]=0 no order\r
- 0x00, 0x00, 0x00, 0x00,\r
- //159:128 Vert. and Horiz. Offsets not supplied\r
- 0xFF, 0xFF, 0xFF, 0xFF\r
- }\r
- })\r
- Return (PLDP)\r
- }\r
- }\r
-\r
- Device(HS04)\r
- {\r
- Name(_ADR, 0x04)\r
-\r
- Method(_UPC,0,Serialized)\r
- {\r
- Name(UPCP, Package()\r
- {\r
- 0xFF, //connectable\r
- 0xFF, //Proprietary connector (FPC connector)\r
- 0x00,\r
- 0x00\r
- })\r
-\r
- Return(UPCP)\r
- }\r
- Method(_PLD,0,Serialized)\r
- {\r
- Name(PLDP, Package()\r
- {\r
- Buffer(0x14)\r
- {\r
- //31:0 - Bit[6:0]=2 revision is 0x2, Bit[7]=1 Ignore Color Bit[31:8]=0 RGB color is ignored\r
- 0x82, 0x00, 0x00, 0x00,\r
- //63:32 - Bit[47:32]=0 width: 0x0000 Bit[63:48]=0 Height:0x0000\r
- 0x00, 0x00, 0x00, 0x00,\r
- //95:64 - bit[66:64]=b'000 not Visible/no docking/no lid bit[69:67]=6 (b'110) unknown(Vertical Position and Horizontal Position will be ignored)\r
- // bit[71:70]=b'00 Vertical Position ignore bit[73:72]=b'00 Horizontal Position ignore\r
- // bit[77:74]=2 Square bit[78]=0 bit[86:79]=0 bit[94:87]='0 no group info' bit[95]=0 not a bay\r
- 0x30, 0x08, 0x00, 0x00,\r
- //127:96 -bit[96]=0 not Ejectable bit[97]=0 OSPM Ejection not required Bit[105:98]=0 no Cabinet Number\r
- // bit[113:106]=0 no Card cage Number bit[114]=0 no reference shape Bit[118:115]=0 no rotation Bit[123:119]=0 no order\r
- 0x00, 0x00, 0x00, 0x00,\r
- //159:128 Vert. and Horiz. Offsets not supplied\r
- 0xFF, 0xFF, 0xFF, 0xFF\r
- }\r
- })\r
-\r
- Return (PLDP)\r
- }\r
- }\r
-\r
-\r
- Device(HSC1) // USB2 HSIC 01\r
- {\r
- Name(_ADR, 0x05)\r
-\r
- Method(_UPC,0,Serialized)\r
- {\r
- Name(UPCP, Package()\r
- {\r
- 0xFF, //connectable\r
- 0xFF, //Proprietary connector (FPC connector)\r
- 0x00,\r
- 0x00\r
- })\r
-\r
- Return(UPCP)\r
- }\r
- Method(_PLD,0,Serialized)\r
- {\r
- Name(PLDP, Package()\r
- {\r
- Buffer(0x14)\r
- {\r
- //31:0 - Bit[6:0]=2 revision is 0x2, Bit[7]=1 Ignore Color Bit[31:8]=0 RGB color is ignored\r
- 0x82, 0x00, 0x00, 0x00,\r
- //63:32 - Bit[47:32]=0 width: 0x0000 Bit[63:48]=0 Height:0x0000\r
- 0x00, 0x00, 0x00, 0x00,\r
- //95:64 - bit[66:64]=b'000 not Visible/no docking/no lid bit[69:67]=6 (b'110) unknown(Vertical Position and Horizontal Position will be ignored)\r
- // bit[71:70]=b'00 Vertical Position ignore bit[73:72]=b'00 Horizontal Position ignore\r
- // bit[77:74]=2 Square bit[78]=0 bit[86:79]=0 bit[94:87]='0 no group info' bit[95]=0 not a bay\r
- 0x30, 0x08, 0x00, 0x00,\r
- //127:96 -bit[96]=0 not Ejectable bit[97]=0 OSPM Ejection not required Bit[105:98]=0 no Cabinet Number\r
- // bit[113:106]=0 no Card cage Number bit[114]=0 no reference shape Bit[118:115]=0 no rotation Bit[123:119]=0 no order\r
- 0x00, 0x00, 0x00, 0x00,\r
- //159:128 Vert. and Horiz. Offsets not supplied\r
- 0xFF, 0xFF, 0xFF, 0xFF\r
- }\r
- })\r
- Return (PLDP)\r
- }\r
- }\r
-\r
- Device(HSC2) // USB2 HSIC 02\r
- {\r
- Name(_ADR, 0x06)\r
-\r
- Method(_UPC,0,Serialized)\r
- {\r
- Name(UPCP, Package()\r
- {\r
- 0xFF, //connectable\r
- 0xFF, //Proprietary connector (FPC connector)\r
- 0x00,\r
- 0x00\r
- })\r
-\r
- Return(UPCP)\r
- }\r
- Method(_PLD,0,Serialized)\r
- {\r
- Name(PLDP, Package()\r
- {\r
- Buffer(0x14)\r
- {\r
- //31:0 - Bit[6:0]=2 revision is 0x2, Bit[7]=1 Ignore Color Bit[31:8]=0 RGB color is ignored\r
- 0x82, 0x00, 0x00, 0x00,\r
- //63:32 - Bit[47:32]=0 width: 0x0000 Bit[63:48]=0 Height:0x0000\r
- 0x00, 0x00, 0x00, 0x00,\r
- //95:64 - bit[66:64]=b'000 not Visible/no docking/no lid bit[69:67]=6 (b'110) unknown(Vertical Position and Horizontal Position will be ignored)\r
- // bit[71:70]=b'00 Vertical Position ignore bit[73:72]=b'00 Horizontal Position ignore\r
- // bit[77:74]=2 Square bit[78]=0 bit[86:79]=0 bit[94:87]='0 no group info' bit[95]=0 not a bay\r
- 0x30, 0x08, 0x00, 0x00,\r
- //127:96 -bit[96]=0 not Ejectable bit[97]=0 OSPM Ejection not required Bit[105:98]=0 no Cabinet Number\r
- // bit[113:106]=0 no Card cage Number bit[114]=0 no reference shape Bit[118:115]=0 no rotation Bit[123:119]=0 no order\r
- 0x00, 0x00, 0x00, 0x00,\r
- //159:128 Vert. and Horiz. Offsets not supplied\r
- 0xFF, 0xFF, 0xFF, 0xFF\r
- }\r
- })\r
- Return (PLDP)\r
- }\r
- }\r
- } //end of root hub\r
-\r
-} // end of XHC1\r
-\r