1 /**************************************************************************;
4 ;* Intel Corporation - ACPI Reference Code for the Sandy Bridge *;
5 ;* Family of Customer Reference Boards. *;
8 ;* Copyright (c) 2012 - 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 ;**************************************************************************/
27 Name(_HID,EISAID("PNP0B00"))
29 Name(_CRS,ResourceTemplate()
31 IO(Decode16,0x70,0x70,0x01,0x08)
34 Method(_STA,0,Serialized) {
37 // Report RTC Battery is Prensent or Not Present.
39 If (LEqual(BATT, 1)) {
47 Device(HPET) // High Performance Event Timer
49 Name (_HID, EisaId ("PNP0103"))
51 Method (_STA, 0, NotSerialized)
56 Method (_CRS, 0, Serialized)
58 Name (RBUF, ResourceTemplate ()
60 Memory32Fixed (ReadWrite,
61 0xFED00000, // Address Base
62 0x00000400, // Address Length
64 Interrupt (ResourceConsumer, Level, ActiveHigh, Exclusive, ,, )
66 0x00000008, //0xB HPET-2
77 Package() {0x0010FFFF, 0, LNKA, 0 },
79 Package() {0x0011FFFF, 0, LNKB, 0 },
80 // SD Host #2 - SD Card
81 Package() {0x0012FFFF, 0, LNKC, 0 },
83 Package() {0x0013FFFF, 0, LNKD, 0 },
85 Package() {0x0014FFFF, 0, LNKE, 0 },
86 // Low Power Audio Engine
87 Package() {0x0015FFFF, 0, LNKF, 0 },
89 Package() {0x0016FFFF, 0, LNKG, 0 },
91 Package() {0x0017FFFF, 0, LNKH, 0 },
94 Package() {0x0018FFFF, 0, LNKB, 0 },
97 Package() {0x0018FFFF, 2, LNKD, 0 },
100 Package() {0x0018FFFF, 3, LNKC, 0 },
103 Package() {0x0018FFFF, 1, LNKA, 0 },
105 Package() {0x001AFFFF, 0, LNKF, 0 },
107 // High Definition Audio Controller
108 Package() {0x001BFFFF, 0, LNKG, 0 },
111 Package() {0x001DFFFF, 0, LNKH, 0 },
113 Package() {0x001EFFFF, 0, LNKD, 0 },
115 Package() {0x001EFFFF, 3, LNKA, 0 },
117 Package() {0x001EFFFF, 1, LNKB, 0 },
119 Package() {0x001EFFFF, 2, LNKC, 0 },
127 Package() {0x001FFFFF, 1, LNKC, 0 },
130 Package() {0x001CFFFF, 0, LNKA, 0 },
132 Package() {0x001CFFFF, 1, LNKB, 0 },
134 Package() {0x001CFFFF, 2, LNKC, 0 },
136 Package() {0x001CFFFF, 3, LNKD, 0 },
140 Package() {0x0002FFFF, 0, LNKA, 0 },
146 Package() {0x0010FFFF, 0, 0, 16 },
148 Package() {0x0011FFFF, 0, 0, 17 },
149 // SD Host #2 - SD Card
150 Package() {0x0012FFFF, 0, 0, 18 },
152 Package() {0x0013FFFF, 0, 0, 19 },
154 Package() {0x0014FFFF, 0, 0, 20 },
155 // Low Power Audio Engine
156 Package() {0x0015FFFF, 0, 0, 21 },
158 Package() {0x0016FFFF, 0, 0, 22 },
161 Package() {0x0017FFFF, 0, 0, 23 },
165 Package() {0x0018FFFF, 0, 0, 17 },
168 Package() {0x0018FFFF, 2, 0, 19 },
171 Package() {0x0018FFFF, 3, 0, 18 },
174 Package() {0x0018FFFF, 1, 0, 16 },
177 Package() {0x001AFFFF, 0, 0, 21 },
179 // High Definition Audio Controller
180 Package() {0x001BFFFF, 0, 0, 22 },
183 Package() {0x001DFFFF, 0, 0, 23 },
185 Package() {0x001EFFFF, 0, 0, 19 },
187 Package() {0x001EFFFF, 3, 0, 16 },
189 Package() {0x001EFFFF, 1, 0, 17 },
191 Package() {0x001EFFFF, 2, 0, 18 },
199 Package() {0x001FFFFF, 1, 0, 18 },
202 Package() {0x001CFFFF, 0, 0, 16 },
204 Package() {0x001CFFFF, 1, 0, 17 },
206 Package() {0x001CFFFF, 2, 0, 18 },
208 Package() {0x001CFFFF, 3, 0, 19 },
211 Package() {0x0002FFFF, 0, 0, 16 },
217 Package() {0x0000FFFF, 0, LNKA, 0 },
218 Package() {0x0000FFFF, 1, LNKB, 0 },
219 Package() {0x0000FFFF, 2, LNKC, 0 },
220 Package() {0x0000FFFF, 3, LNKD, 0 },
226 Package() {0x0000FFFF, 0, 0, 16 },
227 Package() {0x0000FFFF, 1, 0, 17 },
228 Package() {0x0000FFFF, 2, 0, 18 },
229 Package() {0x0000FFFF, 3, 0, 19 },
235 Package() {0x0000FFFF, 0, LNKB, 0 },
236 Package() {0x0000FFFF, 1, LNKC, 0 },
237 Package() {0x0000FFFF, 2, LNKD, 0 },
238 Package() {0x0000FFFF, 3, LNKA, 0 },
244 Package() {0x0000FFFF, 0, 0, 17 },
245 Package() {0x0000FFFF, 1, 0, 18 },
246 Package() {0x0000FFFF, 2, 0, 19 },
247 Package() {0x0000FFFF, 3, 0, 16 },
253 Package() {0x0000FFFF, 0, LNKC, 0 },
254 Package() {0x0000FFFF, 1, LNKD, 0 },
255 Package() {0x0000FFFF, 2, LNKA, 0 },
256 Package() {0x0000FFFF, 3, LNKB, 0 },
262 Package() {0x0000FFFF, 0, 0, 18 },
263 Package() {0x0000FFFF, 1, 0, 19 },
264 Package() {0x0000FFFF, 2, 0, 16 },
265 Package() {0x0000FFFF, 3, 0, 17 },
271 Package() {0x0000FFFF, 0, LNKD, 0 },
272 Package() {0x0000FFFF, 1, LNKA, 0 },
273 Package() {0x0000FFFF, 2, LNKB, 0 },
274 Package() {0x0000FFFF, 3, LNKC, 0 },
280 Package() {0x0000FFFF, 0, 0, 19 },
281 Package() {0x0000FFFF, 1, 0, 16 },
282 Package() {0x0000FFFF, 2, 0, 17 },
283 Package() {0x0000FFFF, 3, 0, 18 },
289 Package() {0x0000FFFF, 0, LNKF, 0 },
290 Package() {0x0000FFFF, 1, LNKG, 0 },
291 Package() {0x0000FFFF, 2, LNKH, 0 },
292 Package() {0x0000FFFF, 3, LNKE, 0 },
294 Package() {0x0001FFFF, 0, LNKG, 0 },
295 Package() {0x0001FFFF, 1, LNKF, 0 },
296 Package() {0x0001FFFF, 2, LNKE, 0 },
297 Package() {0x0001FFFF, 3, LNKH, 0 },
299 Package() {0x0002FFFF, 0, LNKC, 0 },
300 Package() {0x0002FFFF, 1, LNKD, 0 },
301 Package() {0x0002FFFF, 2, LNKB, 0 },
302 Package() {0x0002FFFF, 3, LNKA, 0 },
304 Package() {0x0003FFFF, 0, LNKD, 0 },
305 Package() {0x0003FFFF, 1, LNKC, 0 },
306 Package() {0x0003FFFF, 2, LNKF, 0 },
307 Package() {0x0003FFFF, 3, LNKG, 0 },
313 Package() {0x0000FFFF, 0, 0, 21 },
314 Package() {0x0000FFFF, 1, 0, 22 },
315 Package() {0x0000FFFF, 2, 0, 23 },
316 Package() {0x0000FFFF, 3, 0, 20 },
318 Package() {0x0001FFFF, 0, 0, 22 },
319 Package() {0x0001FFFF, 1, 0, 21 },
320 Package() {0x0001FFFF, 2, 0, 20 },
321 Package() {0x0001FFFF, 3, 0, 23 },
323 Package() {0x0002FFFF, 0, 0, 18 },
324 Package() {0x0002FFFF, 1, 0, 19 },
325 Package() {0x0002FFFF, 2, 0, 17 },
326 Package() {0x0002FFFF, 3, 0, 16 },
328 Package() {0x0003FFFF, 0, 0, 19 },
329 Package() {0x0003FFFF, 1, 0, 18 },
330 Package() {0x0003FFFF, 2, 0, 21 },
331 Package() {0x0003FFFF, 3, 0, 22 },
333 //---------------------------------------------------------------------------
334 // List of IRQ resource buffers compatible with _PRS return format.
335 //---------------------------------------------------------------------------
337 // RSxy, PRSy - name of the IRQ resource buffer to be returned by _PRS, "xy" - last two characters of IRQ Link name.
338 // Note. PRSy name is generated if IRQ Link name starts from "LNK".
339 // HLxy , LLxy - reference names, can be used to access bit mask of available IRQs. HL and LL stand for active High(Low) Level triggered Irq model.
340 //---------------------------------------------------------------------------
341 Name(PRSA, ResourceTemplate() // Link name: LNKA
343 IRQ(Level, ActiveLow, Shared, LLKA) {3,4,5,6,10,11,12,14,15}
345 Alias(PRSA,PRSB) // Link name: LNKB
346 Alias(PRSA,PRSC) // Link name: LNKC
347 Alias(PRSA,PRSD) // Link name: LNKD
348 Alias(PRSA,PRSE) // Link name: LNKE
349 Alias(PRSA,PRSF) // Link name: LNKF
350 Alias(PRSA,PRSG) // Link name: LNKG
351 Alias(PRSA,PRSH) // Link name: LNKH
352 //---------------------------------------------------------------------------
353 // Begin PCI tree object scope
354 //---------------------------------------------------------------------------
356 Device(PCI0) // PCI Bridge "Host Bridge"
358 Name(_HID, EISAID("PNP0A08")) // Indicates PCI Express/PCI-X Mode2 host hierarchy
359 Name(_CID, EISAID("PNP0A03")) // To support legacy OS that doesn't understand the new HID
360 Name(_ADR, 0x00000000)
361 Method(^BN00, 0) { return(0x0000) } // Returns default Bus number for Peer PCI busses. Name can be overriden with control method placed directly under Device scope
362 Method(_BBN, 0) { return(BN00()) } // Bus number, optional for the Root PCI Bus
363 Name(_UID, 0x0000) // Unique Bus ID, optional
364 Name(_DEP, Package(0x1)
371 If(PICM) {Return(AR00)} // APIC mode
372 Return (PR00) // PIC Mode
375 include("HOST_BUS.ASL")
376 Device(LPCB) // LPC Bridge
378 Name(_ADR, 0x001F0000)
380 } // end "LPC Bridge"
382 } // end PCI0 Bridge "Host Bridge"