summaryrefslogtreecommitdiff
path: root/src/include/acpi
diff options
context:
space:
mode:
authorRaul E Rangel <rrangel@chromium.org>2021-04-19 15:58:25 -0600
committerRaul Rangel <rrangel@chromium.org>2021-04-21 22:27:55 +0000
commitc7048323f4a635ec854b2792a00ae47b1775d9f7 (patch)
tree63ea85da1bd8e70da54c88c2cda74d28e3f17577 /src/include/acpi
parenta89a4ea8ea04aaf369cd99f487f3537fe9e46702 (diff)
acpi: Add acpigen_write_LPI_package
Low Power Idle States defines additional information not present in the _CST. See ACPI Specification, Version 6.3 Section 8.4.4.3 _LPI. BUG=b:178728116, b:185787242 TEST=Boot guybrush and dump ACPI tables Signed-off-by: Raul E Rangel <rrangel@chromium.org> Signed-off-by: Jason Glenesk <jason.glenesk@amd.corp-partner.google.com> Change-Id: I4f5301b95ff8245facaf48e2fbd51cc82df2d8cc Reviewed-on: https://review.coreboot.org/c/coreboot/+/52529 Tested-by: build bot (Jenkins) <no-reply@coreboot.org> Reviewed-by: Furquan Shaikh <furquan@google.com> Reviewed-by: Marshall Dawson <marshalldawson3rd@gmail.com>
Diffstat (limited to 'src/include/acpi')
-rw-r--r--src/include/acpi/acpi.h19
-rw-r--r--src/include/acpi/acpigen.h1
2 files changed, 20 insertions, 0 deletions
diff --git a/src/include/acpi/acpi.h b/src/include/acpi/acpi.h
index 932fb6fee8..7f086791c0 100644
--- a/src/include/acpi/acpi.h
+++ b/src/include/acpi/acpi.h
@@ -898,6 +898,25 @@ typedef struct acpi_tstate {
u32 status;
} __packed acpi_tstate_t;
+enum acpi_lpi_state_flags {
+ ACPI_LPI_STATE_DISABLED = 0,
+ ACPI_LPI_STATE_ENABLED
+};
+
+/* Low Power Idle State */
+struct acpi_lpi_state {
+ u32 min_residency_us;
+ u32 worst_case_wakeup_latency_us;
+ u32 flags;
+ u32 arch_context_lost_flags;
+ u32 residency_counter_frequency_hz;
+ u32 enabled_parent_state;
+ acpi_addr_t entry_method;
+ acpi_addr_t residency_counter_register;
+ acpi_addr_t usage_counter_register;
+ const char *state_name;
+};
+
/* Port types for ACPI _UPC object */
enum acpi_upc_type {
UPC_TYPE_A,
diff --git a/src/include/acpi/acpigen.h b/src/include/acpi/acpigen.h
index c79828819d..0e8d29a81f 100644
--- a/src/include/acpi/acpigen.h
+++ b/src/include/acpi/acpigen.h
@@ -338,6 +338,7 @@ inline void acpigen_write_device_end(void)
{
acpigen_pop_len();
}
+void acpigen_write_LPI_package(u64 level, const struct acpi_lpi_state *states, u16 nentries);
void acpigen_write_PPC(u8 nr);
void acpigen_write_PPC_NVS(void);
void acpigen_write_empty_PCT(void);