390ba044dc
SSFG was meant to be used as a mask to enable sleep states _S1 thru _S4. However as a logical instead of bitwise 'and' operation was used, all the states were enabled if only one was marked available. State _S3 is now set conditionally if HAVE_ACPI_RESUME=y. For pi/hudson this had been fixed already preprocessor. Note that all boards had SSFG == 0x0D that previously enabled ACPI S3 sleep state even when it was not available. States _S1 and _S2 still appear enabled in ASL/AML but may not actually work. TEST: 'cat /sys/power/state' and notice choice 'mem' was removed from the list of available sleep states. Change-Id: I27d616871c1771f0c87d8fba23d4ce1569607765 Signed-off-by: Kyösti Mälkki <kyosti.malkki@gmail.com> Reviewed-on: https://review.coreboot.org/21091 Tested-by: build bot (Jenkins) <no-reply@coreboot.org> Reviewed-by: Marc Jones <marc@marcjonesconsulting.com>
109 lines
3.2 KiB
Text
109 lines
3.2 KiB
Text
/*
|
|
* 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.
|
|
*/
|
|
|
|
/* DefinitionBlock Statement */
|
|
DefinitionBlock (
|
|
"DSDT.AML", /* Output filename */
|
|
"DSDT", /* Signature */
|
|
0x02, /* DSDT Revision, needs to be 2 for 64bit */
|
|
"ASUS ", /* OEMID */
|
|
"COREBOOT", /* TABLE ID */
|
|
0x00010001 /* OEM Revision */
|
|
)
|
|
{ /* Start of ASL file */
|
|
/* #include <arch/x86/acpi/debug.asl> */ /* Include global debug methods if needed */
|
|
|
|
/* Globals for the platform */
|
|
#include "acpi/mainboard.asl"
|
|
|
|
/* Describe the USB Overcurrent pins */
|
|
#include "acpi/usb_oc.asl"
|
|
|
|
/* PCI IRQ mapping for the Southbridge */
|
|
#include <southbridge/amd/agesa/hudson/acpi/pcie.asl>
|
|
|
|
/* Describe the processor tree (\_PR) */
|
|
#include <cpu/amd/agesa/family15tn/acpi/cpu.asl>
|
|
|
|
/* Describe the supported Sleep States for this Southbridge */
|
|
#include <southbridge/amd/common/acpi/sleepstates.asl>
|
|
|
|
/* Describe the Sleep Methods (WAK, PTS, GTS, etc.) for this platform */
|
|
#include "acpi/sleep.asl"
|
|
|
|
Scope(\_SB) {
|
|
/* global utility methods expected within the \_SB scope */
|
|
#include <arch/x86/acpi/globutil.asl>
|
|
|
|
/* Describe IRQ Routing mapping for this platform (within the \_SB scope) */
|
|
#include "acpi/routing.asl"
|
|
|
|
Device(PWRB) {
|
|
Name(_HID, EISAID("PNP0C0C"))
|
|
Name(_UID, 0xAA)
|
|
Name(_PRW, Package () {3, 0x04})
|
|
Name(_STA, 0x0B)
|
|
}
|
|
|
|
Device(PCI0) {
|
|
/* Describe the AMD Northbridge */
|
|
#include <northbridge/amd/agesa/family15tn/acpi/northbridge.asl>
|
|
|
|
/* Describe the AMD Fusion Controller Hub Southbridge */
|
|
#include <southbridge/amd/agesa/hudson/acpi/fch.asl>
|
|
|
|
/**
|
|
* TODO: The devices listed here (SBR0 and SBR1) do not appear to
|
|
* be referenced anywhere and could possibly be removed.
|
|
*/
|
|
Device(SBR0) { /* PCIe 1x SB */
|
|
Name(_ADR, 0x00150000)
|
|
Name(_PRW, Package() {0x18, 4})
|
|
Method(_PRT,0) {
|
|
If(PMOD){ Return(ABR0) } /* APIC mode */
|
|
Return (PBR0) /* PIC mode */
|
|
}
|
|
}
|
|
|
|
Device(SBR1) { /* Onboard network */
|
|
Name(_ADR, 0x00150001)
|
|
Name(_PRW, Package() {0x18, 4})
|
|
Method(_PRT, 0) {
|
|
If(PMOD){ Return(ABR1) } /* APIC mode */
|
|
Return (PBR1) /* PIC mode */
|
|
}
|
|
}
|
|
}
|
|
|
|
/* Describe PCI INT[A-H] for the Southbridge */
|
|
#include <southbridge/amd/agesa/hudson/acpi/pci_int.asl>
|
|
|
|
} /* End Scope(_SB) */
|
|
|
|
/* Describe SMBUS for the Southbridge */
|
|
#include <southbridge/amd/agesa/hudson/acpi/smbus.asl>
|
|
|
|
/* Define the General Purpose Events for the platform */
|
|
#include "acpi/gpe.asl"
|
|
|
|
/* Define the Thermal zones and methods for the platform */
|
|
#include "acpi/thermal.asl"
|
|
|
|
/* Define the System Indicators for the platform */
|
|
#include "acpi/si.asl"
|
|
|
|
}
|
|
/* End of ASL file */
|