/**************************************************************************; ;* *; ;* *; ;* Intel Corporation - ACPI Reference Code for the Sandy Bridge *; ;* Family of Customer Reference Boards. *; ;* *; ;* *; ;* Copyright (c) 2012 - 2015, Intel Corporation. All rights reserved *; ; ; This program and the accompanying materials are licensed and made available under ; the terms and conditions of the BSD License that accompanies this distribution. ; The full text of the license may be found at ; http://opensource.org/licenses/bsd-license.php. ; ; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, ; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. ; ;* *; ;* *; ;**************************************************************************/ Scope(\_SB) { //RTC Device(RTC) // RTC { Name(_HID,EISAID("PNP0B00")) Name(_CRS,ResourceTemplate() { IO(Decode16,0x70,0x70,0x01,0x08) }) Method(_STA,0,Serialized) { // // Report RTC Battery is Prensent or Not Present. // If (LEqual(BATT, 1)) { Return (0xF) } Return (0x0) } } //RTC Device(HPET) // High Performance Event Timer { Name (_HID, EisaId ("PNP0103")) Name (_UID, 0x00) Method (_STA, 0, NotSerialized) { Return (0x0F) } Method (_CRS, 0, Serialized) { Name (RBUF, ResourceTemplate () { Memory32Fixed (ReadWrite, 0xFED00000, // Address Base 0x00000400, // Address Length ) Interrupt (ResourceConsumer, Level, ActiveHigh, Exclusive, ,, ) { 0x00000008, //0xB HPET-2 } }) Return (RBUF) } } //HPET Name(PR00, Package() { // SD Host #0 - eMMC Package() {0x0010FFFF, 0, LNKA, 0 }, // SD Host #1 - SDIO Package() {0x0011FFFF, 0, LNKB, 0 }, // SD Host #2 - SD Card Package() {0x0012FFFF, 0, LNKC, 0 }, // SATA Controller Package() {0x0013FFFF, 0, LNKD, 0 }, // xHCI Host Package() {0x0014FFFF, 0, LNKE, 0 }, // Low Power Audio Engine Package() {0x0015FFFF, 0, LNKF, 0 }, // USB OTG Package() {0x0016FFFF, 0, LNKG, 0 }, // MIPI-HSI/eMMC4.5 Package() {0x0017FFFF, 0, LNKH, 0 }, // LPSS2 DMA // LPSS2 I2C #4 Package() {0x0018FFFF, 0, LNKB, 0 }, // LPSS2 I2C #1 // LPSS2 I2C #5 Package() {0x0018FFFF, 2, LNKD, 0 }, // LPSS2 I2C #2 // LPSS2 I2C #6 Package() {0x0018FFFF, 3, LNKC, 0 }, // LPSS2 I2C #3 // LPSS2 I2C #7 Package() {0x0018FFFF, 1, LNKA, 0 }, // SeC Package() {0x001AFFFF, 0, LNKF, 0 }, // // High Definition Audio Controller Package() {0x001BFFFF, 0, LNKG, 0 }, // // EHCI Controller Package() {0x001DFFFF, 0, LNKH, 0 }, // LPSS DMA Package() {0x001EFFFF, 0, LNKD, 0 }, // LPSS I2C #0 Package() {0x001EFFFF, 3, LNKA, 0 }, // LPSS I2C #1 Package() {0x001EFFFF, 1, LNKB, 0 }, // LPSS PCM Package() {0x001EFFFF, 2, LNKC, 0 }, // LPSS I2S // LPSS HS-UART #0 // LPSS HS-UART #1 // LPSS SPI // LPC Bridge // // SMBus Controller Package() {0x001FFFFF, 1, LNKC, 0 }, // // PCIE Root Port #1 Package() {0x001CFFFF, 0, LNKA, 0 }, // PCIE Root Port #2 Package() {0x001CFFFF, 1, LNKB, 0 }, // PCIE Root Port #3 Package() {0x001CFFFF, 2, LNKC, 0 }, // PCIE Root Port #4 Package() {0x001CFFFF, 3, LNKD, 0 }, // Host Bridge // Mobile IGFX Package() {0x0002FFFF, 0, LNKA, 0 }, }) Name(AR00, Package() { // SD Host #0 - eMMC Package() {0x0010FFFF, 0, 0, 16 }, // SD Host #1 - SDIO Package() {0x0011FFFF, 0, 0, 17 }, // SD Host #2 - SD Card Package() {0x0012FFFF, 0, 0, 18 }, // SATA Controller Package() {0x0013FFFF, 0, 0, 19 }, // xHCI Host Package() {0x0014FFFF, 0, 0, 20 }, // Low Power Audio Engine Package() {0x0015FFFF, 0, 0, 21 }, // USB OTG Package() {0x0016FFFF, 0, 0, 22 }, // // MIPI-HSI Package() {0x0017FFFF, 0, 0, 23 }, // // LPSS2 DMA // LPSS2 I2C #4 Package() {0x0018FFFF, 0, 0, 17 }, // LPSS2 I2C #1 // LPSS2 I2C #5 Package() {0x0018FFFF, 2, 0, 19 }, // LPSS2 I2C #2 // LPSS2 I2C #6 Package() {0x0018FFFF, 3, 0, 18 }, // LPSS2 I2C #3 // LPSS2 I2C #7 Package() {0x0018FFFF, 1, 0, 16 }, // SeC Package() {0x001AFFFF, 0, 0, 21 }, // // High Definition Audio Controller Package() {0x001BFFFF, 0, 0, 22 }, // // EHCI Controller Package() {0x001DFFFF, 0, 0, 23 }, // LPSS DMA Package() {0x001EFFFF, 0, 0, 19 }, // LPSS I2C #0 Package() {0x001EFFFF, 3, 0, 16 }, // LPSS I2C #1 Package() {0x001EFFFF, 1, 0, 17 }, // LPSS PCM Package() {0x001EFFFF, 2, 0, 18 }, // LPSS I2S // LPSS HS-UART #0 // LPSS HS-UART #1 // LPSS SPI // LPC Bridge // // SMBus Controller Package() {0x001FFFFF, 1, 0, 18 }, // // PCIE Root Port #1 Package() {0x001CFFFF, 0, 0, 16 }, // PCIE Root Port #2 Package() {0x001CFFFF, 1, 0, 17 }, // PCIE Root Port #3 Package() {0x001CFFFF, 2, 0, 18 }, // PCIE Root Port #4 Package() {0x001CFFFF, 3, 0, 19 }, // Host Bridge // Mobile IGFX Package() {0x0002FFFF, 0, 0, 16 }, }) Name(PR04, Package() { // PCIE Port #1 Slot Package() {0x0000FFFF, 0, LNKA, 0 }, Package() {0x0000FFFF, 1, LNKB, 0 }, Package() {0x0000FFFF, 2, LNKC, 0 }, Package() {0x0000FFFF, 3, LNKD, 0 }, }) Name(AR04, Package() { // PCIE Port #1 Slot Package() {0x0000FFFF, 0, 0, 16 }, Package() {0x0000FFFF, 1, 0, 17 }, Package() {0x0000FFFF, 2, 0, 18 }, Package() {0x0000FFFF, 3, 0, 19 }, }) Name(PR05, Package() { // PCIE Port #2 Slot Package() {0x0000FFFF, 0, LNKB, 0 }, Package() {0x0000FFFF, 1, LNKC, 0 }, Package() {0x0000FFFF, 2, LNKD, 0 }, Package() {0x0000FFFF, 3, LNKA, 0 }, }) Name(AR05, Package() { // PCIE Port #2 Slot Package() {0x0000FFFF, 0, 0, 17 }, Package() {0x0000FFFF, 1, 0, 18 }, Package() {0x0000FFFF, 2, 0, 19 }, Package() {0x0000FFFF, 3, 0, 16 }, }) Name(PR06, Package() { // PCIE Port #3 Slot Package() {0x0000FFFF, 0, LNKC, 0 }, Package() {0x0000FFFF, 1, LNKD, 0 }, Package() {0x0000FFFF, 2, LNKA, 0 }, Package() {0x0000FFFF, 3, LNKB, 0 }, }) Name(AR06, Package() { // PCIE Port #3 Slot Package() {0x0000FFFF, 0, 0, 18 }, Package() {0x0000FFFF, 1, 0, 19 }, Package() {0x0000FFFF, 2, 0, 16 }, Package() {0x0000FFFF, 3, 0, 17 }, }) Name(PR07, Package() { // PCIE Port #4 Slot Package() {0x0000FFFF, 0, LNKD, 0 }, Package() {0x0000FFFF, 1, LNKA, 0 }, Package() {0x0000FFFF, 2, LNKB, 0 }, Package() {0x0000FFFF, 3, LNKC, 0 }, }) Name(AR07, Package() { // PCIE Port #4 Slot Package() {0x0000FFFF, 0, 0, 19 }, Package() {0x0000FFFF, 1, 0, 16 }, Package() {0x0000FFFF, 2, 0, 17 }, Package() {0x0000FFFF, 3, 0, 18 }, }) Name(PR01, Package() { // PCI slot 1 Package() {0x0000FFFF, 0, LNKF, 0 }, Package() {0x0000FFFF, 1, LNKG, 0 }, Package() {0x0000FFFF, 2, LNKH, 0 }, Package() {0x0000FFFF, 3, LNKE, 0 }, // PCI slot 2 Package() {0x0001FFFF, 0, LNKG, 0 }, Package() {0x0001FFFF, 1, LNKF, 0 }, Package() {0x0001FFFF, 2, LNKE, 0 }, Package() {0x0001FFFF, 3, LNKH, 0 }, // PCI slot 3 Package() {0x0002FFFF, 0, LNKC, 0 }, Package() {0x0002FFFF, 1, LNKD, 0 }, Package() {0x0002FFFF, 2, LNKB, 0 }, Package() {0x0002FFFF, 3, LNKA, 0 }, // PCI slot 4 Package() {0x0003FFFF, 0, LNKD, 0 }, Package() {0x0003FFFF, 1, LNKC, 0 }, Package() {0x0003FFFF, 2, LNKF, 0 }, Package() {0x0003FFFF, 3, LNKG, 0 }, }) Name(AR01, Package() { // PCI slot 1 Package() {0x0000FFFF, 0, 0, 21 }, Package() {0x0000FFFF, 1, 0, 22 }, Package() {0x0000FFFF, 2, 0, 23 }, Package() {0x0000FFFF, 3, 0, 20 }, // PCI slot 2 Package() {0x0001FFFF, 0, 0, 22 }, Package() {0x0001FFFF, 1, 0, 21 }, Package() {0x0001FFFF, 2, 0, 20 }, Package() {0x0001FFFF, 3, 0, 23 }, // PCI slot 3 Package() {0x0002FFFF, 0, 0, 18 }, Package() {0x0002FFFF, 1, 0, 19 }, Package() {0x0002FFFF, 2, 0, 17 }, Package() {0x0002FFFF, 3, 0, 16 }, // PCI slot 4 Package() {0x0003FFFF, 0, 0, 19 }, Package() {0x0003FFFF, 1, 0, 18 }, Package() {0x0003FFFF, 2, 0, 21 }, Package() {0x0003FFFF, 3, 0, 22 }, }) //--------------------------------------------------------------------------- // List of IRQ resource buffers compatible with _PRS return format. //--------------------------------------------------------------------------- // Naming legend: // RSxy, PRSy - name of the IRQ resource buffer to be returned by _PRS, "xy" - last two characters of IRQ Link name. // Note. PRSy name is generated if IRQ Link name starts from "LNK". // 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. //--------------------------------------------------------------------------- Name(PRSA, ResourceTemplate() // Link name: LNKA { IRQ(Level, ActiveLow, Shared, LLKA) {3,4,5,6,10,11,12,14,15} }) Alias(PRSA,PRSB) // Link name: LNKB Alias(PRSA,PRSC) // Link name: LNKC Alias(PRSA,PRSD) // Link name: LNKD Alias(PRSA,PRSE) // Link name: LNKE Alias(PRSA,PRSF) // Link name: LNKF Alias(PRSA,PRSG) // Link name: LNKG Alias(PRSA,PRSH) // Link name: LNKH //--------------------------------------------------------------------------- // Begin PCI tree object scope //--------------------------------------------------------------------------- Device(PCI0) // PCI Bridge "Host Bridge" { Name(_HID, EISAID("PNP0A08")) // Indicates PCI Express/PCI-X Mode2 host hierarchy Name(_CID, EISAID("PNP0A03")) // To support legacy OS that doesn't understand the new HID Name(_ADR, 0x00000000) 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 Method(_BBN, 0) { return(BN00()) } // Bus number, optional for the Root PCI Bus Name(_UID, 0x0000) // Unique Bus ID, optional Name(_DEP, Package(0x1) { PEPD }) Method(_PRT,0) { If(PICM) {Return(AR00)} // APIC mode Return (PR00) // PIC Mode } // end _PRT include("HOST_BUS.ASL") Device(LPCB) // LPC Bridge { Name(_ADR, 0x001F0000) include("LpcB.asl") } // end "LPC Bridge" } // end PCI0 Bridge "Host Bridge" } // end _SB scope