soc/amd: factor out ACPI ALIB function numbers to common code

The ACPI ALIB function numbers are defined in the AMD Generic
Encapsulated Software Architecture (AGESA™) Interface Specification
(document #55483).

TEST=Timeless build stays the same for Mandolin (Picasso) and Gardenia
(Stoneyridge).

Signed-off-by: Felix Held <felix-coreboot@felixheld.de>
Change-Id: I290ef0db32c65ebb2bbbe4f65db4df772b884161
Reviewed-on: https://review.coreboot.org/c/coreboot/+/53915
Reviewed-by: Raul Rangel <rrangel@chromium.org>
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
This commit is contained in:
Felix Held 2021-05-07 18:46:36 +02:00
parent 509b0a97f6
commit 95f1bb8525
4 changed files with 17 additions and 4 deletions

View File

@ -0,0 +1,9 @@
/* SPDX-License-Identifier: GPL-2.0-only */
#ifndef AMD_COMMON_ALIB_H
#define AMD_COMMON_ALIB_H
#define ALIB_FUNCTION_REPORT_AC_DC_STATE 0x1
#define ALIB_FUNCTION_DYNAMIC_POWER_THERMAL_CONFIG 0xc
#endif /* AMD_COMMON_ALIB_H */

View File

@ -1,5 +1,7 @@
/* SPDX-License-Identifier: GPL-2.0-only */
#include <amdblocks/alib.h>
/*
* Wrapper method that calls ALIB function 1 to report current AC/DC state.
*/
@ -23,7 +25,7 @@ Method (WAL1)
F1DA = \PWRS ^ 1
Printf ("ALIB call: func 1 params %o", Local0)
\_SB.ALIB (1, Local0)
\_SB.ALIB (ALIB_FUNCTION_REPORT_AC_DC_STATE, Local0)
}
Method (PNOT)

View File

@ -2,6 +2,7 @@
#include <acpi/acpigen.h>
#include <amdblocks/acpi.h>
#include <amdblocks/alib.h>
#include <amdblocks/memmap.h>
#include <amdblocks/ioapic.h>
#include <arch/ioapic.h>
@ -18,7 +19,6 @@
#include "chip.h"
enum {
ALIB_DPTCI_FUNCTION_ID = 0xc,
THERMAL_CONTROL_LIMIT_ID = 0x3,
SUSTAINED_POWER_LIMIT_PARAM_ID = 0x5,
FAST_PPT_LIMIT_PARAM_ID = 0x6,
@ -196,7 +196,7 @@ static void dptc_call_alib(const char *buf_name, uint8_t *buffer, size_t size)
/* \_SB.ALIB(0xc, buf_name) */
acpigen_emit_namestring("\\_SB.ALIB");
acpigen_write_integer(ALIB_DPTCI_FUNCTION_ID);
acpigen_write_integer(ALIB_FUNCTION_DYNAMIC_POWER_THERMAL_CONFIG);
acpigen_emit_namestring(buf_name);
}

View File

@ -1,5 +1,7 @@
/* SPDX-License-Identifier: GPL-2.0-only */
#include <amdblocks/alib.h>
External(\_SB.ALIB, MethodObj)
/* System Bus */
@ -142,7 +144,7 @@ Method(_INI, 0, Serialized) {
F1SZ = 3
F1DA= \PWRS
\_SB.ALIB(1, F1BF)
\_SB.ALIB(ALIB_FUNCTION_REPORT_AC_DC_STATE, F1BF)
} /* End Method(_SB._INI) */