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 ; SPDX-License-Identifier: BSD-2-Clause-Patent
14 ;**************************************************************************/
21 Name(_HID,EISAID("PNP0B00"))
23 Name(_CRS,ResourceTemplate()
25 IO(Decode16,0x70,0x70,0x01,0x08)
28 Method(_STA,0,Serialized) {
31 // Report RTC Battery is Prensent or Not Present.
33 If (LEqual(BATT, 1)) {
41 Device(HPET) // High Performance Event Timer
43 Name (_HID, EisaId ("PNP0103"))
45 Method (_STA, 0, NotSerialized)
50 Method (_CRS, 0, Serialized)
52 Name (RBUF, ResourceTemplate ()
54 Memory32Fixed (ReadWrite,
55 0xFED00000, // Address Base
56 0x00000400, // Address Length
58 Interrupt (ResourceConsumer, Level, ActiveHigh, Exclusive, ,, )
60 0x00000008, //0xB HPET-2
71 Package() {0x0010FFFF, 0, LNKA, 0 },
73 Package() {0x0011FFFF, 0, LNKB, 0 },
74 // SD Host #2 - SD Card
75 Package() {0x0012FFFF, 0, LNKC, 0 },
77 Package() {0x0013FFFF, 0, LNKD, 0 },
79 Package() {0x0014FFFF, 0, LNKE, 0 },
80 // Low Power Audio Engine
81 Package() {0x0015FFFF, 0, LNKF, 0 },
83 Package() {0x0016FFFF, 0, LNKG, 0 },
85 Package() {0x0017FFFF, 0, LNKH, 0 },
88 Package() {0x0018FFFF, 0, LNKB, 0 },
91 Package() {0x0018FFFF, 2, LNKD, 0 },
94 Package() {0x0018FFFF, 3, LNKC, 0 },
97 Package() {0x0018FFFF, 1, LNKA, 0 },
99 Package() {0x001AFFFF, 0, LNKF, 0 },
101 // High Definition Audio Controller
102 Package() {0x001BFFFF, 0, LNKG, 0 },
105 Package() {0x001DFFFF, 0, LNKH, 0 },
107 Package() {0x001EFFFF, 0, LNKD, 0 },
109 Package() {0x001EFFFF, 3, LNKA, 0 },
111 Package() {0x001EFFFF, 1, LNKB, 0 },
113 Package() {0x001EFFFF, 2, LNKC, 0 },
121 Package() {0x001FFFFF, 1, LNKC, 0 },
124 Package() {0x001CFFFF, 0, LNKA, 0 },
126 Package() {0x001CFFFF, 1, LNKB, 0 },
128 Package() {0x001CFFFF, 2, LNKC, 0 },
130 Package() {0x001CFFFF, 3, LNKD, 0 },
134 Package() {0x0002FFFF, 0, LNKA, 0 },
140 Package() {0x0010FFFF, 0, 0, 16 },
142 Package() {0x0011FFFF, 0, 0, 17 },
143 // SD Host #2 - SD Card
144 Package() {0x0012FFFF, 0, 0, 18 },
146 Package() {0x0013FFFF, 0, 0, 19 },
148 Package() {0x0014FFFF, 0, 0, 20 },
149 // Low Power Audio Engine
150 Package() {0x0015FFFF, 0, 0, 21 },
152 Package() {0x0016FFFF, 0, 0, 22 },
155 Package() {0x0017FFFF, 0, 0, 23 },
159 Package() {0x0018FFFF, 0, 0, 17 },
162 Package() {0x0018FFFF, 2, 0, 19 },
165 Package() {0x0018FFFF, 3, 0, 18 },
168 Package() {0x0018FFFF, 1, 0, 16 },
171 Package() {0x001AFFFF, 0, 0, 21 },
173 // High Definition Audio Controller
174 Package() {0x001BFFFF, 0, 0, 22 },
177 Package() {0x001DFFFF, 0, 0, 23 },
179 Package() {0x001EFFFF, 0, 0, 19 },
181 Package() {0x001EFFFF, 3, 0, 16 },
183 Package() {0x001EFFFF, 1, 0, 17 },
185 Package() {0x001EFFFF, 2, 0, 18 },
193 Package() {0x001FFFFF, 1, 0, 18 },
196 Package() {0x001CFFFF, 0, 0, 16 },
198 Package() {0x001CFFFF, 1, 0, 17 },
200 Package() {0x001CFFFF, 2, 0, 18 },
202 Package() {0x001CFFFF, 3, 0, 19 },
205 Package() {0x0002FFFF, 0, 0, 16 },
211 Package() {0x0000FFFF, 0, LNKA, 0 },
212 Package() {0x0000FFFF, 1, LNKB, 0 },
213 Package() {0x0000FFFF, 2, LNKC, 0 },
214 Package() {0x0000FFFF, 3, LNKD, 0 },
220 Package() {0x0000FFFF, 0, 0, 16 },
221 Package() {0x0000FFFF, 1, 0, 17 },
222 Package() {0x0000FFFF, 2, 0, 18 },
223 Package() {0x0000FFFF, 3, 0, 19 },
229 Package() {0x0000FFFF, 0, LNKB, 0 },
230 Package() {0x0000FFFF, 1, LNKC, 0 },
231 Package() {0x0000FFFF, 2, LNKD, 0 },
232 Package() {0x0000FFFF, 3, LNKA, 0 },
238 Package() {0x0000FFFF, 0, 0, 17 },
239 Package() {0x0000FFFF, 1, 0, 18 },
240 Package() {0x0000FFFF, 2, 0, 19 },
241 Package() {0x0000FFFF, 3, 0, 16 },
247 Package() {0x0000FFFF, 0, LNKC, 0 },
248 Package() {0x0000FFFF, 1, LNKD, 0 },
249 Package() {0x0000FFFF, 2, LNKA, 0 },
250 Package() {0x0000FFFF, 3, LNKB, 0 },
256 Package() {0x0000FFFF, 0, 0, 18 },
257 Package() {0x0000FFFF, 1, 0, 19 },
258 Package() {0x0000FFFF, 2, 0, 16 },
259 Package() {0x0000FFFF, 3, 0, 17 },
265 Package() {0x0000FFFF, 0, LNKD, 0 },
266 Package() {0x0000FFFF, 1, LNKA, 0 },
267 Package() {0x0000FFFF, 2, LNKB, 0 },
268 Package() {0x0000FFFF, 3, LNKC, 0 },
274 Package() {0x0000FFFF, 0, 0, 19 },
275 Package() {0x0000FFFF, 1, 0, 16 },
276 Package() {0x0000FFFF, 2, 0, 17 },
277 Package() {0x0000FFFF, 3, 0, 18 },
283 Package() {0x0000FFFF, 0, LNKF, 0 },
284 Package() {0x0000FFFF, 1, LNKG, 0 },
285 Package() {0x0000FFFF, 2, LNKH, 0 },
286 Package() {0x0000FFFF, 3, LNKE, 0 },
288 Package() {0x0001FFFF, 0, LNKG, 0 },
289 Package() {0x0001FFFF, 1, LNKF, 0 },
290 Package() {0x0001FFFF, 2, LNKE, 0 },
291 Package() {0x0001FFFF, 3, LNKH, 0 },
293 Package() {0x0002FFFF, 0, LNKC, 0 },
294 Package() {0x0002FFFF, 1, LNKD, 0 },
295 Package() {0x0002FFFF, 2, LNKB, 0 },
296 Package() {0x0002FFFF, 3, LNKA, 0 },
298 Package() {0x0003FFFF, 0, LNKD, 0 },
299 Package() {0x0003FFFF, 1, LNKC, 0 },
300 Package() {0x0003FFFF, 2, LNKF, 0 },
301 Package() {0x0003FFFF, 3, LNKG, 0 },
307 Package() {0x0000FFFF, 0, 0, 21 },
308 Package() {0x0000FFFF, 1, 0, 22 },
309 Package() {0x0000FFFF, 2, 0, 23 },
310 Package() {0x0000FFFF, 3, 0, 20 },
312 Package() {0x0001FFFF, 0, 0, 22 },
313 Package() {0x0001FFFF, 1, 0, 21 },
314 Package() {0x0001FFFF, 2, 0, 20 },
315 Package() {0x0001FFFF, 3, 0, 23 },
317 Package() {0x0002FFFF, 0, 0, 18 },
318 Package() {0x0002FFFF, 1, 0, 19 },
319 Package() {0x0002FFFF, 2, 0, 17 },
320 Package() {0x0002FFFF, 3, 0, 16 },
322 Package() {0x0003FFFF, 0, 0, 19 },
323 Package() {0x0003FFFF, 1, 0, 18 },
324 Package() {0x0003FFFF, 2, 0, 21 },
325 Package() {0x0003FFFF, 3, 0, 22 },
327 //---------------------------------------------------------------------------
328 // List of IRQ resource buffers compatible with _PRS return format.
329 //---------------------------------------------------------------------------
331 // RSxy, PRSy - name of the IRQ resource buffer to be returned by _PRS, "xy" - last two characters of IRQ Link name.
332 // Note. PRSy name is generated if IRQ Link name starts from "LNK".
333 // 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.
334 //---------------------------------------------------------------------------
335 Name(PRSA, ResourceTemplate() // Link name: LNKA
337 IRQ(Level, ActiveLow, Shared, LLKA) {3,4,5,6,10,11,12,14,15}
339 Alias(PRSA,PRSB) // Link name: LNKB
340 Alias(PRSA,PRSC) // Link name: LNKC
341 Alias(PRSA,PRSD) // Link name: LNKD
342 Alias(PRSA,PRSE) // Link name: LNKE
343 Alias(PRSA,PRSF) // Link name: LNKF
344 Alias(PRSA,PRSG) // Link name: LNKG
345 Alias(PRSA,PRSH) // Link name: LNKH
346 //---------------------------------------------------------------------------
347 // Begin PCI tree object scope
348 //---------------------------------------------------------------------------
350 Device(PCI0) // PCI Bridge "Host Bridge"
352 Name(_HID, EISAID("PNP0A08")) // Indicates PCI Express/PCI-X Mode2 host hierarchy
353 Name(_CID, EISAID("PNP0A03")) // To support legacy OS that doesn't understand the new HID
354 Name(_ADR, 0x00000000)
355 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
356 Method(_BBN, 0) { return(BN00()) } // Bus number, optional for the Root PCI Bus
357 Name(_UID, 0x0000) // Unique Bus ID, optional
358 Name(_DEP, Package(0x1)
365 If(PICM) {Return(AR00)} // APIC mode
366 Return (PR00) // PIC Mode
369 include("HOST_BUS.ASL")
370 Device(LPCB) // LPC Bridge
372 Name(_ADR, 0x001F0000)
374 } // end "LPC Bridge"
376 } // end PCI0 Bridge "Host Bridge"