1 /**************************************************************************;
4 ;* Intel Corporation - ACPI Reference Code for the Haswell *;
5 ;* Family of Customer Reference Boards. *;
8 ;* Copyright (c) 2010 - 2015, Intel Corporation. All rights reserved *;
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.
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.
20 ;**************************************************************************/
22 //scope is \_SB.PCI0.XHC
25 Name(_ADR, 0x00140000) //Device 20, Function 0
27 //When it is in Host mode, USH core is connected to USB3 microAB(USB3 P1 and USB2 P0)
28 Name (_DDN, "Baytrail XHCI controller (CCG core/Host only)" )
34 Name(_DEP, Package(0x1)
41 Name (_STR, Unicode ("Baytrail XHCI controller (CCG core/Host only)"))
42 Name(_PRW, Package() {0xD,4})
46 If (LAnd (PMES, PMEE)) {
52 OperationRegion (PMEB, PCI_Config, 0x74, 0x04) // Power Management Control/Status
53 Field (PMEB, WordAcc, NoLock, Preserve)
56 PMEE, 1, //bit8 PME_En
58 PMES, 1 //bit15 PME_Status
63 If(LNotEqual(XHCI, 0)) //NVS variable controls present of XHCI controller
72 OperationRegion(XPRT,PCI_Config,0xD0,0x10)
73 Field(XPRT,DWordAcc,NoLock,Preserve) //usbx_top.doc.xml
75 PR2, 32, //bit[8:0] USB2HCSEL
76 PR2M, 32, //bit[8:0] USB2HCSELM
77 PR3, 32, //bit[3:0] USB3SSEN
78 PR3M, 32 //bit[3:0] USB3SSENM
83 Name(_ADR, Zero) //address 0 is reserved for root hub
86 // Super Speed Ports - must match _UPC declarations of the coresponding Full Speed Ports.
92 Method(_UPC,0,Serialized)
96 0xFF, // Port is connectable if non-zero
97 0x06, // USB3 uAB connector
104 Method(_PLD,0,Serialized)
106 Name(PLDP, Package() //pls check ACPI 5.0 section 6.1.8
110 //31:0 - Bit[6:0]=2 revision is 0x2, Bit[7]=1 Ignore Color Bit[31:8]=0 RGB color is ignored
111 0x82, 0x00, 0x00, 0x00,
112 //63:32 - Bit[47:32]=0 width: 0x0000 Bit[63:48]=0 Height:0x0000
113 0x00, 0x00, 0x00, 0x00,
114 //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
115 // 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
116 0x4B, 0x19, 0x00, 0x00,
117 //127:96 -bit[96]=1 Ejectable bit[97]=1 OSPM Ejection required Bit[105:98]=0 no Cabinet Number
118 // 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
119 0x03, 0x00, 0x00, 0x00,
120 //159:128 Vert. and Horiz. Offsets not supplied
121 0xFF, 0xFF, 0xFF, 0xFF
129 // pair port with port 7 (SS)
130 // The UPC declarations for LS/FS/HS and SS ports that are paired to form a USB3.0 compatible connector.
131 // A "pair" is defined by two ports that declare _PLDs with identical Panel, Vertical Position, Horizontal Postion, Shape, Group Orientation
137 Method(_UPC,0,Serialized)
139 Name(UPCP, Package() { 0xFF,0x06,0x00,0x00 })
143 Method(_PLD,0,Serialized)
145 Name(PLDP, Package() //pls check ACPI 5.0 section 6.1.8
149 //31:0 - Bit[6:0]=2 revision is 0x2, Bit[7]=1 Ignore Color Bit[31:8]=0 RGB color is ignored
150 0x82, 0x00, 0x00, 0x00,
151 //63:32 - Bit[47:32]=0 width: 0x0000 Bit[63:48]=0 Height:0x0000
152 0x00, 0x00, 0x00, 0x00,
153 //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
154 // 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
155 0x4B, 0x19, 0x00, 0x00,
156 //127:96 -bit[96]=1 Ejectable bit[97]=1 OSPM Ejection required Bit[105:98]=0 no Cabinet Number
157 // 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
158 0x03, 0x00, 0x00, 0x00,
159 //159:128 Vert. and Horiz. Offsets not supplied
160 0xFF, 0xFF, 0xFF, 0xFF
167 // USB2 Type-A/USB2 only
168 // EHCI debug capable
171 Name(_ADR, 0x02) // 0 is for root hub so physical port index starts from 1 (it is port1 in schematic)
173 Method(_UPC,0,Serialized)
186 Method(_PLD,0,Serialized)
192 //31:0 - Bit[6:0]=2 revision is 0x2, Bit[7]=1 Ignore Color Bit[31:8]=0 RGB color is ignored
193 0x82, 0x00, 0x00, 0x00,
194 //63:32 - Bit[47:32]=0 width: 0x0000 Bit[63:48]=0 Height:0x0000
195 0x00, 0x00, 0x00, 0x00,
196 //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
197 // 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
198 0x4B, 0x08, 0x00, 0x00,
199 //127:96 -bit[96]=1 Ejectable bit[97]=1 OSPM Ejection required Bit[105:98]=0 no Cabinet Number
200 // 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
201 0x03, 0x00, 0x00, 0x00,
202 //159:128 Vert. and Horiz. Offsets not supplied
203 0xFF, 0xFF, 0xFF, 0xFF
215 Method(_UPC,0,Serialized)
228 Method(_RMV, 0) // for XHCICV debug purpose
233 Method(_PLD,0,Serialized)
239 //31:0 - Bit[6:0]=2 revision is 0x2, Bit[7]=1 Ignore Color Bit[31:8]=0 RGB color is ignored
240 0x82, 0x00, 0x00, 0x00,
241 //63:32 - Bit[47:32]=0 width: 0x0000 Bit[63:48]=0 Height:0x0000
242 0x00, 0x00, 0x00, 0x00,
243 //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)
244 // bit[71:70]=b'00 Vertical Position ignore bit[73:72]=b'00 Horizontal Position ignore
245 // 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
246 0x30, 0x08, 0x00, 0x00,
247 //127:96 -bit[96]=0 not Ejectable bit[97]=0 OSPM Ejection not required Bit[105:98]=0 no Cabinet Number
248 // 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
249 0x00, 0x00, 0x00, 0x00,
250 //159:128 Vert. and Horiz. Offsets not supplied
251 0xFF, 0xFF, 0xFF, 0xFF
262 Method(_UPC,0,Serialized)
267 0xFF, //Proprietary connector (FPC connector)
274 Method(_PLD,0,Serialized)
280 //31:0 - Bit[6:0]=2 revision is 0x2, Bit[7]=1 Ignore Color Bit[31:8]=0 RGB color is ignored
281 0x82, 0x00, 0x00, 0x00,
282 //63:32 - Bit[47:32]=0 width: 0x0000 Bit[63:48]=0 Height:0x0000
283 0x00, 0x00, 0x00, 0x00,
284 //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)
285 // bit[71:70]=b'00 Vertical Position ignore bit[73:72]=b'00 Horizontal Position ignore
286 // 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
287 0x30, 0x08, 0x00, 0x00,
288 //127:96 -bit[96]=0 not Ejectable bit[97]=0 OSPM Ejection not required Bit[105:98]=0 no Cabinet Number
289 // 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
290 0x00, 0x00, 0x00, 0x00,
291 //159:128 Vert. and Horiz. Offsets not supplied
292 0xFF, 0xFF, 0xFF, 0xFF
301 Device(HSC1) // USB2 HSIC 01
305 Method(_UPC,0,Serialized)
310 0xFF, //Proprietary connector (FPC connector)
317 Method(_PLD,0,Serialized)
323 //31:0 - Bit[6:0]=2 revision is 0x2, Bit[7]=1 Ignore Color Bit[31:8]=0 RGB color is ignored
324 0x82, 0x00, 0x00, 0x00,
325 //63:32 - Bit[47:32]=0 width: 0x0000 Bit[63:48]=0 Height:0x0000
326 0x00, 0x00, 0x00, 0x00,
327 //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)
328 // bit[71:70]=b'00 Vertical Position ignore bit[73:72]=b'00 Horizontal Position ignore
329 // 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
330 0x30, 0x08, 0x00, 0x00,
331 //127:96 -bit[96]=0 not Ejectable bit[97]=0 OSPM Ejection not required Bit[105:98]=0 no Cabinet Number
332 // 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
333 0x00, 0x00, 0x00, 0x00,
334 //159:128 Vert. and Horiz. Offsets not supplied
335 0xFF, 0xFF, 0xFF, 0xFF
342 Device(HSC2) // USB2 HSIC 02
346 Method(_UPC,0,Serialized)
351 0xFF, //Proprietary connector (FPC connector)
358 Method(_PLD,0,Serialized)
364 //31:0 - Bit[6:0]=2 revision is 0x2, Bit[7]=1 Ignore Color Bit[31:8]=0 RGB color is ignored
365 0x82, 0x00, 0x00, 0x00,
366 //63:32 - Bit[47:32]=0 width: 0x0000 Bit[63:48]=0 Height:0x0000
367 0x00, 0x00, 0x00, 0x00,
368 //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)
369 // bit[71:70]=b'00 Vertical Position ignore bit[73:72]=b'00 Horizontal Position ignore
370 // 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
371 0x30, 0x08, 0x00, 0x00,
372 //127:96 -bit[96]=0 not Ejectable bit[97]=0 OSPM Ejection not required Bit[105:98]=0 no Cabinet Number
373 // 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
374 0x00, 0x00, 0x00, 0x00,
375 //159:128 Vert. and Horiz. Offsets not supplied
376 0xFF, 0xFF, 0xFF, 0xFF