ASUS F2A85-M: Split DSDT into common sections (as per Parmer)
Rearranged the F2A85-M DSDT file to match the functionality found on Parmer. As with the Parmer implementation, the F2A85-M dsdt.asl file in the mainboard directory contains only #include references to the appropriate files. As with Parmer, some include files have no content but are left as a template for other platforms and as placeholders for completing the ACPI implementation for F2A85-M. Change-Id: Ic72cb6004538ca9d9f79826b9b3c8d6aeb25017c Signed-off-by: Kimarie Hoot <kimarie.hoot@se-eng.com> Reviewed-on: http://review.coreboot.org/3805 Tested-by: build bot (Jenkins) Reviewed-by: Martin Roth <martin@se-eng.com>
This commit is contained in:
parent
436a3753ec
commit
0cc33da553
|
@ -0,0 +1,76 @@
|
||||||
|
/*
|
||||||
|
* This file is part of the coreboot project.
|
||||||
|
*
|
||||||
|
* Copyright (C) 2013 Sage Electronic Engineering, LLC
|
||||||
|
*
|
||||||
|
* This program is free software; you can redistribute it and/or modify
|
||||||
|
* it under the terms of the GNU General Public License as published by
|
||||||
|
* the Free Software Foundation; version 2 of the License.
|
||||||
|
*
|
||||||
|
* This program is distributed in the hope that it will be useful,
|
||||||
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
* GNU General Public License for more details.
|
||||||
|
*
|
||||||
|
* You should have received a copy of the GNU General Public License
|
||||||
|
* along with this program; if not, write to the Free Software
|
||||||
|
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
|
||||||
|
*/
|
||||||
|
|
||||||
|
Scope(\_GPE) { /* Start Scope GPE */
|
||||||
|
|
||||||
|
/* General event 3 */
|
||||||
|
Method(_L03) {
|
||||||
|
/* DBGO("\\_GPE\\_L00\n") */
|
||||||
|
Notify(\_SB.PCI0.PWRB, 0x02) /* NOTIFY_DEVICE_WAKE */
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Legacy PM event */
|
||||||
|
Method(_L08) {
|
||||||
|
/* DBGO("\\_GPE\\_L08\n") */
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Temp warning (TWarn) event */
|
||||||
|
Method(_L09) {
|
||||||
|
/* DBGO("\\_GPE\\_L09\n") */
|
||||||
|
/* Notify (\_TZ.TZ00, 0x80) */
|
||||||
|
}
|
||||||
|
|
||||||
|
/* USB controller PME# */
|
||||||
|
Method(_L0B) {
|
||||||
|
/* DBGO("\\_GPE\\_L0B\n") */
|
||||||
|
Notify(\_SB.PCI0.UOH1, 0x02) /* NOTIFY_DEVICE_WAKE */
|
||||||
|
Notify(\_SB.PCI0.UOH2, 0x02) /* NOTIFY_DEVICE_WAKE */
|
||||||
|
Notify(\_SB.PCI0.UOH3, 0x02) /* NOTIFY_DEVICE_WAKE */
|
||||||
|
Notify(\_SB.PCI0.UOH4, 0x02) /* NOTIFY_DEVICE_WAKE */
|
||||||
|
Notify(\_SB.PCI0.UOH5, 0x02) /* NOTIFY_DEVICE_WAKE */
|
||||||
|
Notify(\_SB.PCI0.UOH6, 0x02) /* NOTIFY_DEVICE_WAKE */
|
||||||
|
Notify(\_SB.PCI0.UEH1, 0x02) /* NOTIFY_DEVICE_WAKE */
|
||||||
|
Notify(\_SB.PCI0.PWRB, 0x02) /* NOTIFY_DEVICE_WAKE */
|
||||||
|
}
|
||||||
|
|
||||||
|
/* ExtEvent0 SCI event */
|
||||||
|
Method(_L10) {
|
||||||
|
/* DBGO("\\_GPE\\_L10\n") */
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/* ExtEvent1 SCI event */
|
||||||
|
Method(_L11) {
|
||||||
|
/* DBGO("\\_GPE\\_L11\n") */
|
||||||
|
}
|
||||||
|
|
||||||
|
/* GPIO0 or GEvent8 event */
|
||||||
|
Method(_L18) {
|
||||||
|
/* DBGO("\\_GPE\\_L18\n") */
|
||||||
|
Notify(\_SB.PCI0.PBR4, 0x02) /* NOTIFY_DEVICE_WAKE */
|
||||||
|
Notify(\_SB.PCI0.PWRB, 0x02) /* NOTIFY_DEVICE_WAKE */
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Azalia SCI event */
|
||||||
|
Method(_L1B) {
|
||||||
|
/* DBGO("\\_GPE\\_L1B\n") */
|
||||||
|
Notify(\_SB.PCI0.AZHD, 0x02) /* NOTIFY_DEVICE_WAKE */
|
||||||
|
Notify(\_SB.PCI0.PWRB, 0x02) /* NOTIFY_DEVICE_WAKE */
|
||||||
|
}
|
||||||
|
} /* End Scope GPE */
|
|
@ -1,7 +1,7 @@
|
||||||
/*
|
/*
|
||||||
* This file is part of the coreboot project.
|
* This file is part of the coreboot project.
|
||||||
*
|
*
|
||||||
* Copyright (C) 2012 Advanced Micro Devices, Inc.
|
* Copyright (C) 2013 Sage Electronic Engineering, LLC
|
||||||
*
|
*
|
||||||
* This program is free software; you can redistribute it and/or modify
|
* This program is free software; you can redistribute it and/or modify
|
||||||
* it under the terms of the GNU General Public License as published by
|
* it under the terms of the GNU General Public License as published by
|
||||||
|
@ -17,228 +17,4 @@
|
||||||
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
|
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
|
||||||
*/
|
*/
|
||||||
|
|
||||||
/*
|
/* No IDE functionality */
|
||||||
Scope (_SB) {
|
|
||||||
Device(PCI0) {
|
|
||||||
Device(IDEC) {
|
|
||||||
Name(_ADR, 0x00140001)
|
|
||||||
#include "ide.asl"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
*/
|
|
||||||
|
|
||||||
/* Some timing tables */
|
|
||||||
Name(UDTT, Package(){ /* Udma timing table */
|
|
||||||
120, 90, 60, 45, 30, 20, 15, 0 /* UDMA modes 0 -> 6 */
|
|
||||||
})
|
|
||||||
|
|
||||||
Name(MDTT, Package(){ /* MWDma timing table */
|
|
||||||
480, 150, 120, 0 /* Legacy DMA modes 0 -> 2 */
|
|
||||||
})
|
|
||||||
|
|
||||||
Name(POTT, Package(){ /* Pio timing table */
|
|
||||||
600, 390, 270, 180, 120, 0 /* PIO modes 0 -> 4 */
|
|
||||||
})
|
|
||||||
|
|
||||||
/* Some timing register value tables */
|
|
||||||
Name(MDRT, Package(){ /* MWDma timing register table */
|
|
||||||
0x77, 0x21, 0x20, 0xFF /* Legacy DMA modes 0 -> 2 */
|
|
||||||
})
|
|
||||||
|
|
||||||
Name(PORT, Package(){
|
|
||||||
0x99, 0x47, 0x34, 0x22, 0x20, 0x99 /* PIO modes 0 -> 4 */
|
|
||||||
})
|
|
||||||
|
|
||||||
OperationRegion(ICRG, PCI_Config, 0x40, 0x20) /* ide control registers */
|
|
||||||
Field(ICRG, AnyAcc, NoLock, Preserve)
|
|
||||||
{
|
|
||||||
PPTS, 8, /* Primary PIO Slave Timing */
|
|
||||||
PPTM, 8, /* Primary PIO Master Timing */
|
|
||||||
OFFSET(0x04), PMTS, 8, /* Primary MWDMA Slave Timing */
|
|
||||||
PMTM, 8, /* Primary MWDMA Master Timing */
|
|
||||||
OFFSET(0x08), PPCR, 8, /* Primary PIO Control */
|
|
||||||
OFFSET(0x0A), PPMM, 4, /* Primary PIO master Mode */
|
|
||||||
PPSM, 4, /* Primary PIO slave Mode */
|
|
||||||
OFFSET(0x14), PDCR, 2, /* Primary UDMA Control */
|
|
||||||
OFFSET(0x16), PDMM, 4, /* Primary UltraDMA Mode */
|
|
||||||
PDSM, 4, /* Primary UltraDMA Mode */
|
|
||||||
}
|
|
||||||
|
|
||||||
Method(GTTM, 1) /* get total time*/
|
|
||||||
{
|
|
||||||
Store(And(Arg0, 0x0F), Local0) /* Recovery Width */
|
|
||||||
Increment(Local0)
|
|
||||||
Store(ShiftRight(Arg0, 4), Local1) /* Command Width */
|
|
||||||
Increment(Local1)
|
|
||||||
Return(Multiply(30, Add(Local0, Local1)))
|
|
||||||
}
|
|
||||||
|
|
||||||
Device(PRID)
|
|
||||||
{
|
|
||||||
Name (_ADR, Zero)
|
|
||||||
Method(_GTM, 0)
|
|
||||||
{
|
|
||||||
NAME(OTBF, Buffer(20) { /* out buffer */
|
|
||||||
0xFF, 0xFF, 0xFF, 0xFF,
|
|
||||||
0xFF, 0xFF, 0xFF, 0xFF,
|
|
||||||
0xFF, 0xFF, 0xFF, 0xFF,
|
|
||||||
0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00
|
|
||||||
})
|
|
||||||
|
|
||||||
CreateDwordField(OTBF, 0, PSD0) /* PIO spd0 */
|
|
||||||
CreateDwordField(OTBF, 4, DSD0) /* DMA spd0 */
|
|
||||||
CreateDwordField(OTBF, 8, PSD1) /* PIO spd1 */
|
|
||||||
CreateDwordField(OTBF, 12, DSD1) /* DMA spd1 */
|
|
||||||
CreateDwordField(OTBF, 16, BFFG) /* buffer flags */
|
|
||||||
|
|
||||||
/* Just return if the channel is disabled */
|
|
||||||
If(And(PPCR, 0x01)) { /* primary PIO control */
|
|
||||||
Return(OTBF)
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Always tell them independent timing available and IOChannelReady used on both drives */
|
|
||||||
Or(BFFG, 0x1A, BFFG)
|
|
||||||
|
|
||||||
Store(GTTM(PPTM), PSD0) /* save total time of primary PIO master timming to PIO spd0 */
|
|
||||||
Store(GTTM(PPTS), PSD1) /* save total time of primary PIO slave Timing to PIO spd1 */
|
|
||||||
|
|
||||||
If(And(PDCR, 0x01)) { /* It's under UDMA mode */
|
|
||||||
Or(BFFG, 0x01, BFFG)
|
|
||||||
Store(DerefOf(Index(UDTT, PDMM)), DSD0)
|
|
||||||
}
|
|
||||||
Else {
|
|
||||||
Store(GTTM(PMTM), DSD0) /* Primary MWDMA Master Timing, DmaSpd0 */
|
|
||||||
}
|
|
||||||
|
|
||||||
If(And(PDCR, 0x02)) { /* It's under UDMA mode */
|
|
||||||
Or(BFFG, 0x04, BFFG)
|
|
||||||
Store(DerefOf(Index(UDTT, PDSM)), DSD1)
|
|
||||||
}
|
|
||||||
Else {
|
|
||||||
Store(GTTM(PMTS), DSD1) /* Primary MWDMA Slave Timing, DmaSpd0 */
|
|
||||||
}
|
|
||||||
|
|
||||||
Return(OTBF) /* out buffer */
|
|
||||||
} /* End Method(_GTM) */
|
|
||||||
|
|
||||||
Method(_STM, 3, NotSerialized)
|
|
||||||
{
|
|
||||||
NAME(INBF, Buffer(20) { /* in buffer */
|
|
||||||
0xFF, 0xFF, 0xFF, 0xFF,
|
|
||||||
0xFF, 0xFF, 0xFF, 0xFF,
|
|
||||||
0xFF, 0xFF, 0xFF, 0xFF,
|
|
||||||
0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00
|
|
||||||
})
|
|
||||||
|
|
||||||
CreateDwordField(INBF, 0, PSD0) /* PIO spd0 */
|
|
||||||
CreateDwordField(INBF, 4, DSD0) /* PIO spd0 */
|
|
||||||
CreateDwordField(INBF, 8, PSD1) /* PIO spd1 */
|
|
||||||
CreateDwordField(INBF, 12, DSD1) /* DMA spd1 */
|
|
||||||
CreateDwordField(INBF, 16, BFFG) /*buffer flag */
|
|
||||||
|
|
||||||
Store(Match(POTT, MLE, PSD0, MTR, 0, 0), Local0)
|
|
||||||
Divide(Local0, 5, PPMM,) /* Primary PIO master Mode */
|
|
||||||
Store(Match(POTT, MLE, PSD1, MTR, 0, 0), Local1)
|
|
||||||
Divide(Local1, 5, PPSM,) /* Primary PIO slave Mode */
|
|
||||||
|
|
||||||
Store(DerefOf(Index(PORT, Local0)), PPTM) /* Primary PIO Master Timing */
|
|
||||||
Store(DerefOf(Index(PORT, Local1)), PPTS) /* Primary PIO Slave Timing */
|
|
||||||
|
|
||||||
If(And(BFFG, 0x01)) { /* Drive 0 is under UDMA mode */
|
|
||||||
Store(Match(UDTT, MLE, DSD0, MTR, 0, 0), Local0)
|
|
||||||
Divide(Local0, 7, PDMM,)
|
|
||||||
Or(PDCR, 0x01, PDCR)
|
|
||||||
}
|
|
||||||
Else {
|
|
||||||
If(LNotEqual(DSD0, 0xFFFFFFFF)) {
|
|
||||||
Store(Match(MDTT, MLE, DSD0, MTR, 0, 0), Local0)
|
|
||||||
Store(DerefOf(Index(MDRT, Local0)), PMTM)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
If(And(BFFG, 0x04)) { /* Drive 1 is under UDMA mode */
|
|
||||||
Store(Match(UDTT, MLE, DSD1, MTR, 0, 0), Local0)
|
|
||||||
Divide(Local0, 7, PDSM,)
|
|
||||||
Or(PDCR, 0x02, PDCR)
|
|
||||||
}
|
|
||||||
Else {
|
|
||||||
If(LNotEqual(DSD1, 0xFFFFFFFF)) {
|
|
||||||
Store(Match(MDTT, MLE, DSD1, MTR, 0, 0), Local0)
|
|
||||||
Store(DerefOf(Index(MDRT, Local0)), PMTS)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
/* Return(INBF) */
|
|
||||||
} /*End Method(_STM) */
|
|
||||||
Device(MST)
|
|
||||||
{
|
|
||||||
Name(_ADR, 0)
|
|
||||||
Method(_GTF) {
|
|
||||||
Name(CMBF, Buffer(21) {
|
|
||||||
0x03, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xEF,
|
|
||||||
0x03, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xEF,
|
|
||||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xF5
|
|
||||||
})
|
|
||||||
CreateByteField(CMBF, 1, POMD)
|
|
||||||
CreateByteField(CMBF, 8, DMMD)
|
|
||||||
CreateByteField(CMBF, 5, CMDA)
|
|
||||||
CreateByteField(CMBF, 12, CMDB)
|
|
||||||
CreateByteField(CMBF, 19, CMDC)
|
|
||||||
|
|
||||||
Store(0xA0, CMDA)
|
|
||||||
Store(0xA0, CMDB)
|
|
||||||
Store(0xA0, CMDC)
|
|
||||||
|
|
||||||
Or(PPMM, 0x08, POMD)
|
|
||||||
|
|
||||||
If(And(PDCR, 0x01)) {
|
|
||||||
Or(PDMM, 0x40, DMMD)
|
|
||||||
}
|
|
||||||
Else {
|
|
||||||
Store(Match
|
|
||||||
(MDTT, MLE, GTTM(PMTM),
|
|
||||||
MTR, 0, 0), Local0)
|
|
||||||
If(LLess(Local0, 3)) {
|
|
||||||
Or(0x20, Local0, DMMD)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
Return(CMBF)
|
|
||||||
}
|
|
||||||
} /* End Device(MST) */
|
|
||||||
|
|
||||||
Device(SLAV)
|
|
||||||
{
|
|
||||||
Name(_ADR, 1)
|
|
||||||
Method(_GTF) {
|
|
||||||
Name(CMBF, Buffer(21) {
|
|
||||||
0x03, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xEF,
|
|
||||||
0x03, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xEF,
|
|
||||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xF5
|
|
||||||
})
|
|
||||||
CreateByteField(CMBF, 1, POMD)
|
|
||||||
CreateByteField(CMBF, 8, DMMD)
|
|
||||||
CreateByteField(CMBF, 5, CMDA)
|
|
||||||
CreateByteField(CMBF, 12, CMDB)
|
|
||||||
CreateByteField(CMBF, 19, CMDC)
|
|
||||||
|
|
||||||
Store(0xB0, CMDA)
|
|
||||||
Store(0xB0, CMDB)
|
|
||||||
Store(0xB0, CMDC)
|
|
||||||
|
|
||||||
Or(PPSM, 0x08, POMD)
|
|
||||||
|
|
||||||
If(And(PDCR, 0x02)) {
|
|
||||||
Or(PDSM, 0x40, DMMD)
|
|
||||||
}
|
|
||||||
Else {
|
|
||||||
Store(Match
|
|
||||||
(MDTT, MLE, GTTM(PMTS),
|
|
||||||
MTR, 0, 0), Local0)
|
|
||||||
If(LLess(Local0, 3)) {
|
|
||||||
Or(0x20, Local0, DMMD)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
Return(CMBF)
|
|
||||||
}
|
|
||||||
} /* End Device(SLAV) */
|
|
||||||
}
|
|
||||||
|
|
|
@ -0,0 +1,36 @@
|
||||||
|
/*
|
||||||
|
* This file is part of the coreboot project.
|
||||||
|
*
|
||||||
|
* Copyright (C) 2013 Sage Electronic Engineering, LLC
|
||||||
|
*
|
||||||
|
* This program is free software; you can redistribute it and/or modify
|
||||||
|
* it under the terms of the GNU General Public License as published by
|
||||||
|
* the Free Software Foundation; version 2 of the License.
|
||||||
|
*
|
||||||
|
* This program is distributed in the hope that it will be useful,
|
||||||
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
* GNU General Public License for more details.
|
||||||
|
*
|
||||||
|
* You should have received a copy of the GNU General Public License
|
||||||
|
* along with this program; if not, write to the Free Software
|
||||||
|
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
|
||||||
|
*/
|
||||||
|
|
||||||
|
/* Data to be patched by the BIOS during POST */
|
||||||
|
/* FIXME the patching is not done yet! */
|
||||||
|
/* Memory related values */
|
||||||
|
Name(LOMH, 0x0) /* Start of unused memory in C0000-E0000 range */
|
||||||
|
Name(PBAD, 0x0) /* Address of BIOS area (If TOM2 != 0, Addr >> 16) */
|
||||||
|
Name(PBLN, 0x0) /* Length of BIOS area */
|
||||||
|
|
||||||
|
Name(PCBA, CONFIG_MMCONF_BASE_ADDRESS) /* Base address of PCIe config space */
|
||||||
|
Name(PCLN, Multiply(0x100000, CONFIG_MMCONF_BUS_NUMBER)) /* Length of PCIe config space, 1MB each bus */
|
||||||
|
Name(HPBA, 0xFED00000) /* Base address of HPET table */
|
||||||
|
|
||||||
|
Name(SSFG, 0x0D) /* S1 support: bit 0, S2 Support: bit 1, etc. S0 & S5 assumed */
|
||||||
|
|
||||||
|
/* Some global data */
|
||||||
|
Name(OSTP, 3) /* Assume nothing. WinXp = 1, Vista = 2, Linux = 3, WinCE = 4 */
|
||||||
|
Name(OSV, Ones) /* Assume nothing */
|
||||||
|
Name(PMOD, One) /* Assume APIC */
|
|
@ -2,6 +2,7 @@
|
||||||
* This file is part of the coreboot project.
|
* This file is part of the coreboot project.
|
||||||
*
|
*
|
||||||
* Copyright (C) 2012 Advanced Micro Devices, Inc.
|
* Copyright (C) 2012 Advanced Micro Devices, Inc.
|
||||||
|
* Copyright (C) 2013 Sage Electronic Engineering, LLC
|
||||||
*
|
*
|
||||||
* This program is free software; you can redistribute it and/or modify
|
* This program is free software; you can redistribute it and/or modify
|
||||||
* it under the terms of the GNU General Public License as published by
|
* it under the terms of the GNU General Public License as published by
|
||||||
|
@ -17,16 +18,7 @@
|
||||||
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
|
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
|
||||||
*/
|
*/
|
||||||
|
|
||||||
/*
|
/* Routing is in System Bus scope */
|
||||||
DefinitionBlock ("DSDT.AML","DSDT",0x01,"XXXXXX","XXXXXXXX",0x00010001
|
|
||||||
)
|
|
||||||
{
|
|
||||||
#include "routing.asl"
|
|
||||||
}
|
|
||||||
*/
|
|
||||||
|
|
||||||
/* Routing is in System Bus scope */
|
|
||||||
Scope(\_SB) {
|
|
||||||
Name(PR0, Package(){
|
Name(PR0, Package(){
|
||||||
/* NB devices */
|
/* NB devices */
|
||||||
/* Bus 0, Dev 0 - F15 Host Controller */
|
/* Bus 0, Dev 0 - F15 Host Controller */
|
||||||
|
@ -45,24 +37,27 @@ Scope(\_SB) {
|
||||||
Package(){0x0002FFFF, 2, INTA, 0 },
|
Package(){0x0002FFFF, 2, INTA, 0 },
|
||||||
Package(){0x0002FFFF, 3, INTB, 0 },
|
Package(){0x0002FFFF, 3, INTB, 0 },
|
||||||
|
|
||||||
|
/* Bus 0, Dev 3 - PCIe graphics port 1 bridge */
|
||||||
|
|
||||||
/* Bus 0, Dev 4 - PCIe Bridge for 4x slot */
|
/* Bus 0, Dev 4 - PCIe Bridge for 4x slot */
|
||||||
Package(){0x0004FFFF, 0, INTA, 0 },
|
Package(){0x0004FFFF, 0, INTA, 0 },
|
||||||
Package(){0x0004FFFF, 1, INTB, 0 },
|
Package(){0x0004FFFF, 1, INTB, 0 },
|
||||||
Package(){0x0004FFFF, 2, INTC, 0 },
|
Package(){0x0004FFFF, 2, INTC, 0 },
|
||||||
Package(){0x0004FFFF, 3, INTD, 0 },
|
Package(){0x0004FFFF, 3, INTD, 0 },
|
||||||
|
|
||||||
|
/* Bus 0, Dev 5 - General purpose PCIe bridge 5 */
|
||||||
|
/* Bus 0, Dev 6 - PCIe Bridge for Ethernet Chip */
|
||||||
|
/* Bus 0, Dev 7 - PCIe Bridge for x1 PCIe Slot */
|
||||||
|
/* Bus 0, Dev 8 - Southbridge port (normally hidden) */
|
||||||
|
|
||||||
/* Bus 0, Funct 8 - Southbridge port (normally hidden) */
|
|
||||||
|
|
||||||
/* SB devices */
|
|
||||||
/* Bus 0, Dev 20 - F0:SMBus/ACPI,F1:IDE;F2:HDAudio;F3:LPC;F4:PCIBridge;F5:USB */
|
/* Bus 0, Dev 20 - F0:SMBus/ACPI,F1:IDE;F2:HDAudio;F3:LPC;F4:PCIBridge;F5:USB */
|
||||||
Package(){0x0014FFFF, 0, INTA, 0 },
|
Package(){0x0014FFFF, 0, INTA, 0 },
|
||||||
Package(){0x0014FFFF, 1, INTB, 0 },
|
Package(){0x0014FFFF, 1, INTB, 0 },
|
||||||
Package(){0x0014FFFF, 2, INTC, 0 },
|
Package(){0x0014FFFF, 2, INTC, 0 },
|
||||||
Package(){0x0014FFFF, 3, INTD, 0 },
|
Package(){0x0014FFFF, 3, INTD, 0 },
|
||||||
|
|
||||||
/* Bus 0, Dev 19 - USB: OHCI, dev 18,19 func 0-2, dev 20 func 5;
|
/* Bus 0, Dev 18,19,22 - USB: OHCI @ func 0
|
||||||
* EHCI, dev 18, 19 func 2 */
|
* EHCI @ func 2 */
|
||||||
Package(){0x0012FFFF, 0, INTC, 0 },
|
Package(){0x0012FFFF, 0, INTC, 0 },
|
||||||
Package(){0x0012FFFF, 1, INTB, 0 },
|
Package(){0x0012FFFF, 1, INTB, 0 },
|
||||||
|
|
||||||
|
@ -72,7 +67,8 @@ Scope(\_SB) {
|
||||||
Package(){0x0016FFFF, 0, INTC, 0 },
|
Package(){0x0016FFFF, 0, INTC, 0 },
|
||||||
Package(){0x0016FFFF, 1, INTB, 0 },
|
Package(){0x0016FFFF, 1, INTB, 0 },
|
||||||
|
|
||||||
/* Bus 0, Dev 10 - USB: XHCI func 0, 1 */
|
/* SB devices */
|
||||||
|
/* Bus 0, Dev 16 - USB: XHCI func 0, 1 */
|
||||||
Package(){0x0010FFFF, 0, INTC, 0 },
|
Package(){0x0010FFFF, 0, INTC, 0 },
|
||||||
Package(){0x0010FFFF, 1, INTB, 0 },
|
Package(){0x0010FFFF, 1, INTB, 0 },
|
||||||
|
|
||||||
|
@ -104,23 +100,28 @@ Scope(\_SB) {
|
||||||
Package(){0x0002FFFF, 2, 0, 16 },
|
Package(){0x0002FFFF, 2, 0, 16 },
|
||||||
Package(){0x0002FFFF, 3, 0, 17 },
|
Package(){0x0002FFFF, 3, 0, 17 },
|
||||||
|
|
||||||
|
/* Bus 0, Dev 3 - PCIe graphics port 1 bridge */
|
||||||
|
|
||||||
/* Bus 0, Dev 4 - PCIe Bridge for x4 PCIe Slot black */
|
/* Bus 0, Dev 4 - PCIe Bridge for x4 PCIe Slot black */
|
||||||
Package(){0x0004FFFF, 0, 0, 16 },
|
Package(){0x0004FFFF, 0, 0, 16 },
|
||||||
Package(){0x0004FFFF, 1, 0, 17 },
|
Package(){0x0004FFFF, 1, 0, 17 },
|
||||||
Package(){0x0004FFFF, 2, 0, 18 },
|
Package(){0x0004FFFF, 2, 0, 18 },
|
||||||
Package(){0x0004FFFF, 3, 0, 19 },
|
Package(){0x0004FFFF, 3, 0, 19 },
|
||||||
|
|
||||||
/* Bus 0, Funct 8 - Southbridge port (normally hidden) */
|
/* Bus 0, Dev 5 - General purpose PCIe bridge 5 */
|
||||||
|
/* Bus 0, Dev 6 - General purpose PCIe bridge 6 */
|
||||||
|
/* Bus 0, Dev 7 - PCIe Bridge for network card */
|
||||||
|
/* Bus 0, Dev 8 - Southbridge port (normally hidden) */
|
||||||
|
|
||||||
/* SB devices in APIC mode */
|
|
||||||
/* Bus 0, Dev 20 - F0:SMBus/ACPI, F1:IDE; F2:HDAudio; F3:LPC; F4:PCIBridge; F5:USB */
|
/* Bus 0, Dev 20 - F0:SMBus/ACPI, F1:IDE; F2:HDAudio; F3:LPC; F4:PCIBridge; F5:USB */
|
||||||
Package(){0x0014FFFF, 0, 0, 16 },
|
Package(){0x0014FFFF, 0, 0, 16 },
|
||||||
Package(){0x0014FFFF, 1, 0, 17 },
|
Package(){0x0014FFFF, 1, 0, 17 },
|
||||||
Package(){0x0014FFFF, 2, 0, 18 },
|
Package(){0x0014FFFF, 2, 0, 18 },
|
||||||
Package(){0x0014FFFF, 3, 0, 19 },
|
Package(){0x0014FFFF, 3, 0, 19 },
|
||||||
|
|
||||||
/* Bus 0, Dev 19 - USB: OHCI, dev 18,19 func 0-2, dev 20 func 5;
|
/* SB devices in APIC mode */
|
||||||
* EHCI, dev 18, 19 func 2 */
|
/* Bus 0, Dev 18,19,22 - USB: OHCI @ func 0
|
||||||
|
* EHCI @ func 2 */
|
||||||
Package(){0x0012FFFF, 0, 0, 18 },
|
Package(){0x0012FFFF, 0, 0, 18 },
|
||||||
Package(){0x0012FFFF, 1, 0, 17 },
|
Package(){0x0012FFFF, 1, 0, 17 },
|
||||||
|
|
||||||
|
@ -130,7 +131,7 @@ Scope(\_SB) {
|
||||||
Package(){0x0016FFFF, 0, 0, 18 },
|
Package(){0x0016FFFF, 0, 0, 18 },
|
||||||
Package(){0x0016FFFF, 1, 0, 17 },
|
Package(){0x0016FFFF, 1, 0, 17 },
|
||||||
|
|
||||||
/* Bus 0, Dev 10 - USB: XHCI func 0, 1 */
|
/* Bus 0, Dev 16 - USB: XHCI func 0, 1 */
|
||||||
Package(){0x0010FFFF, 0, 0, 0x12},
|
Package(){0x0010FFFF, 0, 0, 0x12},
|
||||||
Package(){0x0010FFFF, 1, 0, 0x11},
|
Package(){0x0010FFFF, 1, 0, 0x11},
|
||||||
|
|
||||||
|
@ -153,26 +154,72 @@ Scope(\_SB) {
|
||||||
})
|
})
|
||||||
Name(APS2, Package(){
|
Name(APS2, Package(){
|
||||||
/* The external GFX - Hooked to PCIe slot 2 */
|
/* The external GFX - Hooked to PCIe slot 2 */
|
||||||
Package(){0x0000FFFF, 0, 0, 0x12 },
|
Package(){0x0000FFFF, 0, 0, 18 },
|
||||||
Package(){0x0000FFFF, 1, 0, 0x13 },
|
Package(){0x0000FFFF, 1, 0, 19 },
|
||||||
Package(){0x0000FFFF, 2, 0, 0x10 },
|
Package(){0x0000FFFF, 2, 0, 16 },
|
||||||
Package(){0x0000FFFF, 3, 0, 0x11 },
|
Package(){0x0000FFFF, 3, 0, 17 },
|
||||||
})
|
})
|
||||||
|
|
||||||
/* black slot */
|
/* black slot */
|
||||||
Name(PS4, Package(){
|
Name(PS4, Package(){
|
||||||
/* PCIe slot - Hooked to PCIe slot x4 */
|
/* PCIe slot - Hooked to PCIe slot 4 */
|
||||||
Package(){0x0000FFFF, 0, INTA, 0 },
|
Package(){0x0000FFFF, 0, INTA, 0 },
|
||||||
Package(){0x0000FFFF, 1, INTB, 0 },
|
Package(){0x0000FFFF, 1, INTB, 0 },
|
||||||
Package(){0x0000FFFF, 2, INTC, 0 },
|
Package(){0x0000FFFF, 2, INTC, 0 },
|
||||||
Package(){0x0000FFFF, 3, INTD, 0 },
|
Package(){0x0000FFFF, 3, INTD, 0 },
|
||||||
})
|
})
|
||||||
Name(APS4, Package(){
|
Name(APS4, Package(){
|
||||||
/* PCIe slot - Hooked to PCIe slot x4 */
|
/* PCIe slot - Hooked to PCIe slot 4 */
|
||||||
Package(){0x0000FFFF, 0, 0, 0x10 },
|
Package(){0x0000FFFF, 0, 0, 16 },
|
||||||
Package(){0x0000FFFF, 1, 0, 0x11 },
|
Package(){0x0000FFFF, 1, 0, 17 },
|
||||||
Package(){0x0000FFFF, 2, 0, 0x12 },
|
Package(){0x0000FFFF, 2, 0, 18 },
|
||||||
Package(){0x0000FFFF, 3, 0, 0x13 },
|
Package(){0x0000FFFF, 3, 0, 19 },
|
||||||
|
})
|
||||||
|
|
||||||
|
Name(PS5, Package(){
|
||||||
|
/* PCIe slot - Hooked to PCIe slot 5 */
|
||||||
|
Package(){0x0000FFFF, 0, INTB, 0 },
|
||||||
|
Package(){0x0000FFFF, 1, INTC, 0 },
|
||||||
|
Package(){0x0000FFFF, 2, INTD, 0 },
|
||||||
|
Package(){0x0000FFFF, 3, INTA, 0 },
|
||||||
|
})
|
||||||
|
Name(APS5, Package(){
|
||||||
|
/* PCIe slot - Hooked to PCIe slot 5 */
|
||||||
|
Package(){0x0000FFFF, 0, 0, 17 },
|
||||||
|
Package(){0x0000FFFF, 1, 0, 18 },
|
||||||
|
Package(){0x0000FFFF, 2, 0, 19 },
|
||||||
|
Package(){0x0000FFFF, 3, 0, 16 },
|
||||||
|
})
|
||||||
|
|
||||||
|
Name(PS6, Package(){
|
||||||
|
/* PCIe slot - Hooked to PCIe slot 6 */
|
||||||
|
Package(){0x0000FFFF, 0, INTC, 0 },
|
||||||
|
Package(){0x0000FFFF, 1, INTD, 0 },
|
||||||
|
Package(){0x0000FFFF, 2, INTA, 0 },
|
||||||
|
Package(){0x0000FFFF, 3, INTB, 0 },
|
||||||
|
})
|
||||||
|
Name(APS6, Package(){
|
||||||
|
/* PCIe slot - Hooked to PCIe slot 6 */
|
||||||
|
Package(){0x0000FFFF, 0, 0, 18 },
|
||||||
|
Package(){0x0000FFFF, 1, 0, 19 },
|
||||||
|
Package(){0x0000FFFF, 2, 0, 16 },
|
||||||
|
Package(){0x0000FFFF, 3, 0, 17 },
|
||||||
|
})
|
||||||
|
|
||||||
|
Name(PS7, Package(){
|
||||||
|
/* The onboard Ethernet chip - Hooked to PCIe slot 7 */
|
||||||
|
Package(){0x0000FFFF, 0, INTD, 0 },
|
||||||
|
Package(){0x0000FFFF, 1, INTA, 0 },
|
||||||
|
Package(){0x0000FFFF, 2, INTB, 0 },
|
||||||
|
Package(){0x0000FFFF, 3, INTC, 0 },
|
||||||
|
})
|
||||||
|
|
||||||
|
Name(APS7, Package(){
|
||||||
|
/* The onboard Ethernet chip - Hooked to PCIe slot 7 */
|
||||||
|
Package(){0x0000FFFF, 0, 0, 19 },
|
||||||
|
Package(){0x0000FFFF, 1, 0, 16 },
|
||||||
|
Package(){0x0000FFFF, 2, 0, 17 },
|
||||||
|
Package(){0x0000FFFF, 3, 0, 18 },
|
||||||
})
|
})
|
||||||
|
|
||||||
Name(PBR0, Package(){
|
Name(PBR0, Package(){
|
||||||
|
@ -213,4 +260,3 @@ Scope(\_SB) {
|
||||||
Package(){0x0005FFFF, 2, 0, 0x16 },
|
Package(){0x0005FFFF, 2, 0, 0x16 },
|
||||||
Package(){0x0005FFFF, 3, 0, 0x17 },
|
Package(){0x0005FFFF, 3, 0, 0x17 },
|
||||||
})
|
})
|
||||||
}
|
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
/*
|
/*
|
||||||
* This file is part of the coreboot project.
|
* This file is part of the coreboot project.
|
||||||
*
|
*
|
||||||
* Copyright (C) 2012 Advanced Micro Devices, Inc.
|
* Copyright (C) 2013 Sage Electronic Engineering, LLC
|
||||||
*
|
*
|
||||||
* This program is free software; you can redistribute it and/or modify
|
* This program is free software; you can redistribute it and/or modify
|
||||||
* it under the terms of the GNU General Public License as published by
|
* it under the terms of the GNU General Public License as published by
|
||||||
|
@ -17,132 +17,4 @@
|
||||||
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
|
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
|
||||||
*/
|
*/
|
||||||
|
|
||||||
/* simple name description */
|
/* No SATA functionality */
|
||||||
|
|
||||||
/*
|
|
||||||
Scope (_SB) {
|
|
||||||
Device(PCI0) {
|
|
||||||
Device(SATA) {
|
|
||||||
Name(_ADR, 0x00110000)
|
|
||||||
#include "sata.asl"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
*/
|
|
||||||
|
|
||||||
Name(STTM, Buffer(20) {
|
|
||||||
0x78, 0x00, 0x00, 0x00, 0x0f, 0x00, 0x00, 0x00,
|
|
||||||
0x78, 0x00, 0x00, 0x00, 0x0f, 0x00, 0x00, 0x00,
|
|
||||||
0x1f, 0x00, 0x00, 0x00
|
|
||||||
})
|
|
||||||
|
|
||||||
/* Start by clearing the PhyRdyChg bits */
|
|
||||||
Method(_INI) {
|
|
||||||
\_GPE._L1F()
|
|
||||||
}
|
|
||||||
|
|
||||||
Device(PMRY)
|
|
||||||
{
|
|
||||||
Name(_ADR, 0)
|
|
||||||
Method(_GTM, 0x0, NotSerialized) {
|
|
||||||
Return(STTM)
|
|
||||||
}
|
|
||||||
Method(_STM, 0x3, NotSerialized) {}
|
|
||||||
|
|
||||||
Device(PMST) {
|
|
||||||
Name(_ADR, 0)
|
|
||||||
Method(_STA,0) {
|
|
||||||
if (LGreater(P0IS,0)) {
|
|
||||||
return (0x0F) /* sata is visible */
|
|
||||||
}
|
|
||||||
else {
|
|
||||||
return (0x00) /* sata is missing */
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}/* end of PMST */
|
|
||||||
|
|
||||||
Device(PSLA)
|
|
||||||
{
|
|
||||||
Name(_ADR, 1)
|
|
||||||
Method(_STA,0) {
|
|
||||||
if (LGreater(P1IS,0)) {
|
|
||||||
return (0x0F) /* sata is visible */
|
|
||||||
}
|
|
||||||
else {
|
|
||||||
return (0x00) /* sata is missing */
|
|
||||||
}
|
|
||||||
}
|
|
||||||
} /* end of PSLA */
|
|
||||||
} /* end of PMRY */
|
|
||||||
|
|
||||||
Device(SEDY)
|
|
||||||
{
|
|
||||||
Name(_ADR, 1) /* IDE Scondary Channel */
|
|
||||||
Method(_GTM, 0x0, NotSerialized) {
|
|
||||||
Return(STTM)
|
|
||||||
}
|
|
||||||
Method(_STM, 0x3, NotSerialized) {}
|
|
||||||
|
|
||||||
Device(SMST)
|
|
||||||
{
|
|
||||||
Name(_ADR, 0)
|
|
||||||
Method(_STA,0) {
|
|
||||||
if (LGreater(P2IS,0)) {
|
|
||||||
return (0x0F) /* sata is visible */
|
|
||||||
}
|
|
||||||
else {
|
|
||||||
return (0x00) /* sata is missing */
|
|
||||||
}
|
|
||||||
}
|
|
||||||
} /* end of SMST */
|
|
||||||
|
|
||||||
Device(SSLA)
|
|
||||||
{
|
|
||||||
Name(_ADR, 1)
|
|
||||||
Method(_STA,0) {
|
|
||||||
if (LGreater(P3IS,0)) {
|
|
||||||
return (0x0F) /* sata is visible */
|
|
||||||
}
|
|
||||||
else {
|
|
||||||
return (0x00) /* sata is missing */
|
|
||||||
}
|
|
||||||
}
|
|
||||||
} /* end of SSLA */
|
|
||||||
} /* end of SEDY */
|
|
||||||
|
|
||||||
/* SATA Hot Plug Support */
|
|
||||||
Scope(\_GPE) {
|
|
||||||
Method(_L1F,0x0,NotSerialized) {
|
|
||||||
if (\_SB.P0PR) {
|
|
||||||
if (LGreater(\_SB.P0IS,0)) {
|
|
||||||
sleep(32)
|
|
||||||
}
|
|
||||||
Notify(\_SB.PCI0.STCR.PMRY.PMST, 0x01) /* NOTIFY_DEVICE_CHECK */
|
|
||||||
store(one, \_SB.P0PR)
|
|
||||||
}
|
|
||||||
|
|
||||||
if (\_SB.P1PR) {
|
|
||||||
if (LGreater(\_SB.P1IS,0)) {
|
|
||||||
sleep(32)
|
|
||||||
}
|
|
||||||
Notify(\_SB.PCI0.STCR.PMRY.PSLA, 0x01) /* NOTIFY_DEVICE_CHECK */
|
|
||||||
store(one, \_SB.P1PR)
|
|
||||||
}
|
|
||||||
|
|
||||||
if (\_SB.P2PR) {
|
|
||||||
if (LGreater(\_SB.P2IS,0)) {
|
|
||||||
sleep(32)
|
|
||||||
}
|
|
||||||
Notify(\_SB.PCI0.STCR.SEDY.SMST, 0x01) /* NOTIFY_DEVICE_CHECK */
|
|
||||||
store(one, \_SB.P2PR)
|
|
||||||
}
|
|
||||||
|
|
||||||
if (\_SB.P3PR) {
|
|
||||||
if (LGreater(\_SB.P3IS,0)) {
|
|
||||||
sleep(32)
|
|
||||||
}
|
|
||||||
Notify(\_SB.PCI0.STCR.SEDY.SSLA, 0x01) /* NOTIFY_DEVICE_CHECK */
|
|
||||||
store(one, \_SB.P3PR)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
|
@ -0,0 +1,26 @@
|
||||||
|
/*
|
||||||
|
* This file is part of the coreboot project.
|
||||||
|
*
|
||||||
|
* Copyright (C) 2013 Sage Electronic Engineering, LLC
|
||||||
|
*
|
||||||
|
* This program is free software; you can redistribute it and/or modify
|
||||||
|
* it under the terms of the GNU General Public License as published by
|
||||||
|
* the Free Software Foundation; version 2 of the License.
|
||||||
|
*
|
||||||
|
* This program is distributed in the hope that it will be useful,
|
||||||
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
* GNU General Public License for more details.
|
||||||
|
*
|
||||||
|
* You should have received a copy of the GNU General Public License
|
||||||
|
* along with this program; if not, write to the Free Software
|
||||||
|
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
|
||||||
|
*/
|
||||||
|
Scope(\_SI) {
|
||||||
|
Method(_SST, 1) {
|
||||||
|
/* DBGO("\\_SI\\_SST\n") */
|
||||||
|
/* DBGO(" New Indicator state: ") */
|
||||||
|
/* DBGO(Arg0) */
|
||||||
|
/* DBGO("\n") */
|
||||||
|
}
|
||||||
|
} /* End Scope SI */
|
|
@ -0,0 +1,100 @@
|
||||||
|
/*
|
||||||
|
* This file is part of the coreboot project.
|
||||||
|
*
|
||||||
|
* Copyright (C) 2013 Sage Electronic Engineering, LLC
|
||||||
|
*
|
||||||
|
* This program is free software; you can redistribute it and/or modify
|
||||||
|
* it under the terms of the GNU General Public License as published by
|
||||||
|
* the Free Software Foundation; version 2 of the License.
|
||||||
|
*
|
||||||
|
* This program is distributed in the hope that it will be useful,
|
||||||
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
* GNU General Public License for more details.
|
||||||
|
*
|
||||||
|
* You should have received a copy of the GNU General Public License
|
||||||
|
* along with this program; if not, write to the Free Software
|
||||||
|
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
|
||||||
|
*/
|
||||||
|
|
||||||
|
/* Wake status package */
|
||||||
|
Name(WKST,Package(){Zero, Zero})
|
||||||
|
|
||||||
|
/*
|
||||||
|
* \_PTS - Prepare to Sleep method
|
||||||
|
*
|
||||||
|
* Entry:
|
||||||
|
* Arg0=The value of the sleeping state S1=1, S2=2, etc
|
||||||
|
*
|
||||||
|
* Exit:
|
||||||
|
* -none-
|
||||||
|
*
|
||||||
|
* The _PTS control method is executed at the beginning of the sleep process
|
||||||
|
* for S1-S5. The sleeping value is passed to the _PTS control method. This
|
||||||
|
* control method may be executed a relatively long time before entering the
|
||||||
|
* sleep state and the OS may abort the operation without notification to
|
||||||
|
* the ACPI driver. This method cannot modify the configuration or power
|
||||||
|
* state of any device in the system.
|
||||||
|
*/
|
||||||
|
Method(\_PTS, 1) {
|
||||||
|
/* DBGO("\\_PTS\n") */
|
||||||
|
/* DBGO("From S0 to S") */
|
||||||
|
/* DBGO(Arg0) */
|
||||||
|
/* DBGO("\n") */
|
||||||
|
|
||||||
|
/* Clear sleep SMI status flag and enable sleep SMI trap. */
|
||||||
|
/*Store(One, CSSM)
|
||||||
|
Store(One, SSEN)*/
|
||||||
|
|
||||||
|
/* On older chips, clear PciExpWakeDisEn */
|
||||||
|
/*if (LLessEqual(\_SB.SBRI, 0x13)) {
|
||||||
|
* Store(0,\_SB.PWDE)
|
||||||
|
*}
|
||||||
|
*/
|
||||||
|
|
||||||
|
/* Clear wake status structure. */
|
||||||
|
Store(0, Index(WKST,0))
|
||||||
|
Store(0, Index(WKST,1))
|
||||||
|
|
||||||
|
Store (0x07, UPWS)
|
||||||
|
} /* End Method(\_PTS) */
|
||||||
|
|
||||||
|
/*
|
||||||
|
* \_BFS OEM Back From Sleep method
|
||||||
|
*
|
||||||
|
* Entry:
|
||||||
|
* Arg0=The value of the sleeping state S1=1, S2=2
|
||||||
|
*
|
||||||
|
* Exit:
|
||||||
|
* -none-
|
||||||
|
*/
|
||||||
|
Method(\_BFS, 1) {
|
||||||
|
/* DBGO("\\_BFS\n") */
|
||||||
|
/* DBGO("From S") */
|
||||||
|
/* DBGO(Arg0) */
|
||||||
|
/* DBGO(" to S0\n") */
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* \_WAK System Wake method
|
||||||
|
*
|
||||||
|
* Entry:
|
||||||
|
* Arg0=The value of the sleeping state S1=1, S2=2
|
||||||
|
*
|
||||||
|
* Exit:
|
||||||
|
* Return package of 2 DWords
|
||||||
|
* Dword 1 - Status
|
||||||
|
* 0x00000000 wake succeeded
|
||||||
|
* 0x00000001 Wake was signaled but failed due to lack of power
|
||||||
|
* 0x00000002 Wake was signaled but failed due to thermal condition
|
||||||
|
* Dword 2 - Power Supply state
|
||||||
|
* if non-zero the effective S-state the power supply entered
|
||||||
|
*/
|
||||||
|
Method(\_WAK, 1) {
|
||||||
|
/* DBGO("\\_WAK\n") */
|
||||||
|
/* DBGO("From S") */
|
||||||
|
/* DBGO(Arg0) */
|
||||||
|
/* DBGO(" to S0\n") */
|
||||||
|
|
||||||
|
Return(WKST)
|
||||||
|
} /* End Method(\_WAK) */
|
|
@ -0,0 +1,20 @@
|
||||||
|
/*
|
||||||
|
* This file is part of the coreboot project.
|
||||||
|
*
|
||||||
|
* Copyright (C) 2013 Sage Electronic Engineering, LLC
|
||||||
|
*
|
||||||
|
* This program is free software; you can redistribute it and/or modify
|
||||||
|
* it under the terms of the GNU General Public License as published by
|
||||||
|
* the Free Software Foundation; version 2 of the License.
|
||||||
|
*
|
||||||
|
* This program is distributed in the hope that it will be useful,
|
||||||
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
* GNU General Public License for more details.
|
||||||
|
*
|
||||||
|
* You should have received a copy of the GNU General Public License
|
||||||
|
* along with this program; if not, write to the Free Software
|
||||||
|
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
|
||||||
|
*/
|
||||||
|
|
||||||
|
/* No Super I/O device or functionality yet */
|
|
@ -0,0 +1,20 @@
|
||||||
|
/*
|
||||||
|
* This file is part of the coreboot project.
|
||||||
|
*
|
||||||
|
* Copyright (C) 2013 Sage Electronic Engineering, LLC
|
||||||
|
*
|
||||||
|
* This program is free software; you can redistribute it and/or modify
|
||||||
|
* it under the terms of the GNU General Public License as published by
|
||||||
|
* the Free Software Foundation; version 2 of the License.
|
||||||
|
*
|
||||||
|
* This program is distributed in the hope that it will be useful,
|
||||||
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
* GNU General Public License for more details.
|
||||||
|
*
|
||||||
|
* You should have received a copy of the GNU General Public License
|
||||||
|
* along with this program; if not, write to the Free Software
|
||||||
|
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
|
||||||
|
*/
|
||||||
|
|
||||||
|
/* No thermal zone functionality */
|
|
@ -1,114 +0,0 @@
|
||||||
/*
|
|
||||||
* This file is part of the coreboot project.
|
|
||||||
*
|
|
||||||
* Copyright (C) 2012 Advanced Micro Devices, Inc.
|
|
||||||
*
|
|
||||||
* This program is free software; you can redistribute it and/or modify
|
|
||||||
* it under the terms of the GNU General Public License as published by
|
|
||||||
* the Free Software Foundation; version 2 of the License.
|
|
||||||
*
|
|
||||||
* This program is distributed in the hope that it will be useful,
|
|
||||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
||||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
||||||
* GNU General Public License for more details.
|
|
||||||
*
|
|
||||||
* You should have received a copy of the GNU General Public License
|
|
||||||
* along with this program; if not, write to the Free Software
|
|
||||||
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
|
|
||||||
*/
|
|
||||||
|
|
||||||
/* simple name description */
|
|
||||||
/*
|
|
||||||
DefinitionBlock ("DSDT.AML","DSDT",0x01,"XXXXXX","XXXXXXXX",0x00010001
|
|
||||||
)
|
|
||||||
{
|
|
||||||
#include "usb.asl"
|
|
||||||
}
|
|
||||||
*/
|
|
||||||
Method(UCOC, 0) {
|
|
||||||
Sleep(20)
|
|
||||||
Store(0x13,CMTI)
|
|
||||||
Store(0,GPSL)
|
|
||||||
}
|
|
||||||
|
|
||||||
/* USB Port 0 overcurrent uses Gpm 0 */
|
|
||||||
If(LLessEqual(UOM0,9)) {
|
|
||||||
Scope (\_GPE) {
|
|
||||||
Method (_L13) {
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/* USB Port 1 overcurrent uses Gpm 1 */
|
|
||||||
If (LLessEqual(UOM1,9)) {
|
|
||||||
Scope (\_GPE) {
|
|
||||||
Method (_L14) {
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/* USB Port 2 overcurrent uses Gpm 2 */
|
|
||||||
If (LLessEqual(UOM2,9)) {
|
|
||||||
Scope (\_GPE) {
|
|
||||||
Method (_L15) {
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/* USB Port 3 overcurrent uses Gpm 3 */
|
|
||||||
If (LLessEqual(UOM3,9)) {
|
|
||||||
Scope (\_GPE) {
|
|
||||||
Method (_L16) {
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/* USB Port 4 overcurrent uses Gpm 4 */
|
|
||||||
If (LLessEqual(UOM4,9)) {
|
|
||||||
Scope (\_GPE) {
|
|
||||||
Method (_L19) {
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/* USB Port 5 overcurrent uses Gpm 5 */
|
|
||||||
If (LLessEqual(UOM5,9)) {
|
|
||||||
Scope (\_GPE) {
|
|
||||||
Method (_L1A) {
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/* USB Port 6 overcurrent uses Gpm 6 */
|
|
||||||
If (LLessEqual(UOM6,9)) {
|
|
||||||
Scope (\_GPE) {
|
|
||||||
/* Method (_L1C) { */
|
|
||||||
Method (_L06) {
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/* USB Port 7 overcurrent uses Gpm 7 */
|
|
||||||
If (LLessEqual(UOM7,9)) {
|
|
||||||
Scope (\_GPE) {
|
|
||||||
/* Method (_L1D) { */
|
|
||||||
Method (_L07) {
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/* USB Port 8 overcurrent uses Gpm 8 */
|
|
||||||
If (LLessEqual(UOM8,9)) {
|
|
||||||
Scope (\_GPE) {
|
|
||||||
Method (_L17) {
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/* USB Port 9 overcurrent uses Gpm 9 */
|
|
||||||
If (LLessEqual(UOM9,9)) {
|
|
||||||
Scope (\_GPE) {
|
|
||||||
Method (_L0E) {
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
|
@ -0,0 +1,31 @@
|
||||||
|
/*
|
||||||
|
* This file is part of the coreboot project.
|
||||||
|
*
|
||||||
|
* Copyright (C) 2012 Advanced Micro Devices, Inc.
|
||||||
|
* Copyright (C) 2013 Sage Electronic Engineering, LLC
|
||||||
|
*
|
||||||
|
* This program is free software; you can redistribute it and/or modify
|
||||||
|
* it under the terms of the GNU General Public License as published by
|
||||||
|
* the Free Software Foundation; version 2 of the License.
|
||||||
|
*
|
||||||
|
* This program is distributed in the hope that it will be useful,
|
||||||
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
* GNU General Public License for more details.
|
||||||
|
*
|
||||||
|
* You should have received a copy of the GNU General Public License
|
||||||
|
* along with this program; if not, write to the Free Software
|
||||||
|
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
|
||||||
|
*/
|
||||||
|
|
||||||
|
/* USB overcurrent mapping pins. */
|
||||||
|
Name(UOM0, 0)
|
||||||
|
Name(UOM1, 2)
|
||||||
|
Name(UOM2, 0)
|
||||||
|
Name(UOM3, 7)
|
||||||
|
Name(UOM4, 2)
|
||||||
|
Name(UOM5, 2)
|
||||||
|
Name(UOM6, 6)
|
||||||
|
Name(UOM7, 2)
|
||||||
|
Name(UOM8, 6)
|
||||||
|
Name(UOM9, 6)
|
File diff suppressed because it is too large
Load Diff
|
@ -49,6 +49,16 @@ Device(AMRT) {
|
||||||
Name(_ADR, 0x00000000)
|
Name(_ADR, 0x00000000)
|
||||||
} /* end AMRT */
|
} /* end AMRT */
|
||||||
|
|
||||||
|
/* Dev2 is also an external GFX bridge */
|
||||||
|
Device(PBR2) {
|
||||||
|
Name(_ADR, 0x00020000)
|
||||||
|
Name(_PRW, Package() {0x18, 4})
|
||||||
|
Method(_PRT,0) {
|
||||||
|
If(PMOD){ Return(APS2) } /* APIC mode */
|
||||||
|
Return (PS2) /* PIC Mode */
|
||||||
|
} /* end _PRT */
|
||||||
|
} /* end PBR2 */
|
||||||
|
|
||||||
/* Dev4 GPP0 Root Port Bridge */
|
/* Dev4 GPP0 Root Port Bridge */
|
||||||
Device(PBR4) {
|
Device(PBR4) {
|
||||||
Name(_ADR, 0x00040000)
|
Name(_ADR, 0x00040000)
|
||||||
|
|
|
@ -76,6 +76,14 @@ Name(CRES, ResourceTemplate() {
|
||||||
* sequential.
|
* sequential.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
WordBusNumber (ResourceProducer, MinFixed, MaxFixed, PosDecode,
|
||||||
|
0x0000, /* address granularity */
|
||||||
|
0x0000, /* range minimum */
|
||||||
|
0x00FF, /* range maximum */
|
||||||
|
0x0000, /* translation */
|
||||||
|
0x0100, /* length */
|
||||||
|
,, PSB0) /* ResourceSourceIndex, ResourceSource, DescriptorName */
|
||||||
|
|
||||||
IO(Decode16, 0x0CF8, 0x0CF8, 1, 8)
|
IO(Decode16, 0x0CF8, 0x0CF8, 1, 8)
|
||||||
|
|
||||||
WORDIO(ResourceProducer, MinFixed, MaxFixed, PosDecode, EntireRange,
|
WORDIO(ResourceProducer, MinFixed, MaxFixed, PosDecode, EntireRange,
|
||||||
|
|
Loading…
Reference in New Issue