diff options
author | Felix Held <felix-coreboot@felixheld.de> | 2021-05-08 01:30:30 +0200 |
---|---|---|
committer | Martin Roth <martinroth@google.com> | 2021-05-10 04:21:18 +0000 |
commit | 18b51e93ac5a772e60a46d7dd6236e70429a1e91 (patch) | |
tree | 22ee1d33dc0926543d1f4c92e6abe469c791025f /src/soc/amd/common/block | |
parent | dcec409e95703b7a99600187e4b56c0b458114eb (diff) |
soc/amd/picasso: move acpigen_dptc_call_alib to new common alib
Signed-off-by: Felix Held <felix-coreboot@felixheld.de>
Change-Id: Ib0f7da12429b6278d1e4bc5d6650c7ee0f3b5209
Reviewed-on: https://review.coreboot.org/c/coreboot/+/53940
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Martin Roth <martinroth@google.com>
Diffstat (limited to 'src/soc/amd/common/block')
-rw-r--r-- | src/soc/amd/common/block/acpi/Kconfig | 3 | ||||
-rw-r--r-- | src/soc/amd/common/block/acpi/Makefile.inc | 1 | ||||
-rw-r--r-- | src/soc/amd/common/block/acpi/alib.c | 17 | ||||
-rw-r--r-- | src/soc/amd/common/block/include/amdblocks/alib.h | 2 |
4 files changed, 23 insertions, 0 deletions
diff --git a/src/soc/amd/common/block/acpi/Kconfig b/src/soc/amd/common/block/acpi/Kconfig index 716610e370..846db889d8 100644 --- a/src/soc/amd/common/block/acpi/Kconfig +++ b/src/soc/amd/common/block/acpi/Kconfig @@ -5,5 +5,8 @@ config SOC_AMD_COMMON_BLOCK_ACPI help Select this option to use the AcpiMmio ACPI registers. +config SOC_AMD_COMMON_BLOCK_ACPI_ALIB + bool + config SOC_AMD_COMMON_BLOCK_ACPI_GPIO bool diff --git a/src/soc/amd/common/block/acpi/Makefile.inc b/src/soc/amd/common/block/acpi/Makefile.inc index e14dba2175..9f774d4770 100644 --- a/src/soc/amd/common/block/acpi/Makefile.inc +++ b/src/soc/amd/common/block/acpi/Makefile.inc @@ -9,6 +9,7 @@ smm-y += acpi.c ramstage-y += pm_state.c ramstage-y += tables.c +ramstage-$(CONFIG_SOC_AMD_COMMON_BLOCK_ACPI_ALIB) += alib.c ramstage-$(CONFIG_SOC_AMD_COMMON_BLOCK_ACPI_GPIO) += gpio.c endif # CONFIG_SOC_AMD_COMMON_BLOCK_ACPI diff --git a/src/soc/amd/common/block/acpi/alib.c b/src/soc/amd/common/block/acpi/alib.c new file mode 100644 index 0000000000..5e1e8fb443 --- /dev/null +++ b/src/soc/amd/common/block/acpi/alib.c @@ -0,0 +1,17 @@ +/* SPDX-License-Identifier: GPL-2.0-only */ + +#include <acpi/acpigen.h> +#include <amdblocks/alib.h> +#include <types.h> + +void acpigen_dptc_call_alib(const char *buf_name, uint8_t *buffer, size_t size) +{ + /* Name (buf_name, Buffer(size) {...} */ + acpigen_write_name(buf_name); + acpigen_write_byte_buffer(buffer, size); + + /* \_SB.ALIB(0xc, buf_name) */ + acpigen_emit_namestring("\\_SB.ALIB"); + acpigen_write_integer(ALIB_FUNCTION_DYNAMIC_POWER_THERMAL_CONFIG); + acpigen_emit_namestring(buf_name); +} diff --git a/src/soc/amd/common/block/include/amdblocks/alib.h b/src/soc/amd/common/block/include/amdblocks/alib.h index 5e929248fd..b9d34c5860 100644 --- a/src/soc/amd/common/block/include/amdblocks/alib.h +++ b/src/soc/amd/common/block/include/amdblocks/alib.h @@ -21,6 +21,8 @@ struct alib_dptc_param { uint32_t value; } __packed; +void acpigen_dptc_call_alib(const char *buf_name, uint8_t *buffer, size_t size); + #endif /* !__ACPI__ */ #endif /* AMD_COMMON_ALIB_H */ |