summaryrefslogtreecommitdiff
path: root/src/soc/intel
diff options
context:
space:
mode:
authorMichael Niewöhner <foss@mniewoehner.de>2021-09-29 21:12:27 +0200
committerMichael Niewöhner <foss@mniewoehner.de>2021-10-17 12:59:17 +0000
commit9034689ee7b8e73cb524006de9538e7daf077c49 (patch)
tree0679e1a9957576ae6880b0f227d008e3653fc175 /src/soc/intel
parentfbcfb63b06ad5cafc97ce76f8640e5c39b41736d (diff)
soc/intel: deduplicate acpi_fill_soc_wake
The PM1_EN bits WAK_STS, RTC_EN, PWRBTN_EN don't need any SoC-specific handling. Deduplicate `acpi_fill_soc_wake` by setting these bits in common code. Change-Id: I06628aeb5b82b30142a383b87c82a1e22a073ef5 Signed-off-by: Michael Niewöhner <foss@mniewoehner.de> Reviewed-on: https://review.coreboot.org/c/coreboot/+/58043 Tested-by: build bot (Jenkins) <no-reply@coreboot.org> Reviewed-by: Nico Huber <nico.h@gmx.de>
Diffstat (limited to 'src/soc/intel')
-rw-r--r--src/soc/intel/alderlake/acpi.c15
-rw-r--r--src/soc/intel/apollolake/acpi.c15
-rw-r--r--src/soc/intel/cannonlake/acpi.c15
-rw-r--r--src/soc/intel/common/block/acpi/acpi.c1
-rw-r--r--src/soc/intel/elkhartlake/acpi.c15
-rw-r--r--src/soc/intel/icelake/acpi.c15
-rw-r--r--src/soc/intel/jasperlake/acpi.c15
-rw-r--r--src/soc/intel/tigerlake/acpi.c15
8 files changed, 1 insertions, 105 deletions
diff --git a/src/soc/intel/alderlake/acpi.c b/src/soc/intel/alderlake/acpi.c
index b28ec12483..9f4fa880a0 100644
--- a/src/soc/intel/alderlake/acpi.c
+++ b/src/soc/intel/alderlake/acpi.c
@@ -280,21 +280,6 @@ void soc_fill_gnvs(struct global_nvs *gnvs)
sa_fill_gnvs(gnvs);
}
-uint32_t acpi_fill_soc_wake(uint32_t generic_pm1_en,
- const struct chipset_power_state *ps)
-{
- /*
- * WAK_STS bit is set when the system is in one of the sleep states
- * (via the SLP_EN bit) and an enabled wake event occurs. Upon setting
- * this bit, the PMC will transition the system to the ON state and
- * can only be set by hardware and can only be cleared by writing a one
- * to this bit position.
- */
-
- generic_pm1_en |= WAK_STS | RTC_EN | PWRBTN_EN;
- return generic_pm1_en;
-}
-
int soc_madt_sci_irq_polarity(int sci)
{
return MP_IRQ_POLARITY_HIGH;
diff --git a/src/soc/intel/apollolake/acpi.c b/src/soc/intel/apollolake/acpi.c
index b6d61b19d7..8f5dd12459 100644
--- a/src/soc/intel/apollolake/acpi.c
+++ b/src/soc/intel/apollolake/acpi.c
@@ -95,21 +95,6 @@ void soc_fill_gnvs(struct global_nvs *gnvs)
sa_fill_gnvs(gnvs);
}
-uint32_t acpi_fill_soc_wake(uint32_t generic_pm1_en,
- const struct chipset_power_state *ps)
-{
- /*
- * WAK_STS bit is set when the system is in one of the sleep states
- * (via the SLP_EN bit) and an enabled wake event occurs. Upon setting
- * this bit, the PMC will transition the system to the ON state and
- * can only be set by hardware and can only be cleared by writing a one
- * to this bit position.
- */
-
- generic_pm1_en |= WAK_STS | RTC_EN | PWRBTN_EN;
- return generic_pm1_en;
-}
-
int soc_madt_sci_irq_polarity(int sci)
{
return MP_IRQ_POLARITY_LOW;
diff --git a/src/soc/intel/cannonlake/acpi.c b/src/soc/intel/cannonlake/acpi.c
index 70951205e1..d0f38747cb 100644
--- a/src/soc/intel/cannonlake/acpi.c
+++ b/src/soc/intel/cannonlake/acpi.c
@@ -185,21 +185,6 @@ void soc_fill_gnvs(struct global_nvs *gnvs)
sa_fill_gnvs(gnvs);
}
-uint32_t acpi_fill_soc_wake(uint32_t generic_pm1_en,
- const struct chipset_power_state *ps)
-{
- /*
- * WAK_STS bit is set when the system is in one of the sleep states
- * (via the SLP_EN bit) and an enabled wake event occurs. Upon setting
- * this bit, the PMC will transition the system to the ON state and
- * can only be set by hardware and can only be cleared by writing a one
- * to this bit position.
- */
-
- generic_pm1_en |= WAK_STS | RTC_EN | PWRBTN_EN;
- return generic_pm1_en;
-}
-
int soc_madt_sci_irq_polarity(int sci)
{
return MP_IRQ_POLARITY_HIGH;
diff --git a/src/soc/intel/common/block/acpi/acpi.c b/src/soc/intel/common/block/acpi/acpi.c
index c21a861390..9bfb91ad3f 100644
--- a/src/soc/intel/common/block/acpi/acpi.c
+++ b/src/soc/intel/common/block/acpi/acpi.c
@@ -218,6 +218,7 @@ int soc_fill_acpi_wake(const struct chipset_power_state *ps, uint32_t *pm1, uint
* powerbtn or any other wake source like lidopen, key board press etc.
*/
pm1_en = ps->pm1_en;
+ pm1_en |= WAK_STS | RTC_EN | PWRBTN_EN;
pm1_en = acpi_fill_soc_wake(pm1_en, ps);
diff --git a/src/soc/intel/elkhartlake/acpi.c b/src/soc/intel/elkhartlake/acpi.c
index abbb1ec206..7531331d25 100644
--- a/src/soc/intel/elkhartlake/acpi.c
+++ b/src/soc/intel/elkhartlake/acpi.c
@@ -249,21 +249,6 @@ void soc_fill_gnvs(struct global_nvs *gnvs)
sa_fill_gnvs(gnvs);
}
-uint32_t acpi_fill_soc_wake(uint32_t generic_pm1_en,
- const struct chipset_power_state *ps)
-{
- /*
- * WAK_STS bit is set when the system is in one of the sleep states
- * (via the SLP_EN bit) and an enabled wake event occurs. Upon setting
- * this bit, the PMC will transition the system to the ON state and
- * can only be set by hardware and can only be cleared by writing a one
- * to this bit position.
- */
-
- generic_pm1_en |= WAK_STS | RTC_EN | PWRBTN_EN;
- return generic_pm1_en;
-}
-
int soc_madt_sci_irq_polarity(int sci)
{
return MP_IRQ_POLARITY_HIGH;
diff --git a/src/soc/intel/icelake/acpi.c b/src/soc/intel/icelake/acpi.c
index cac2138200..fa6d038a51 100644
--- a/src/soc/intel/icelake/acpi.c
+++ b/src/soc/intel/icelake/acpi.c
@@ -180,21 +180,6 @@ void soc_fill_gnvs(struct global_nvs *gnvs)
sa_fill_gnvs(gnvs);
}
-uint32_t acpi_fill_soc_wake(uint32_t generic_pm1_en,
- const struct chipset_power_state *ps)
-{
- /*
- * WAK_STS bit is set when the system is in one of the sleep states
- * (via the SLP_EN bit) and an enabled wake event occurs. Upon setting
- * this bit, the PMC will transition the system to the ON state and
- * can only be set by hardware and can only be cleared by writing a one
- * to this bit position.
- */
-
- generic_pm1_en |= WAK_STS | RTC_EN | PWRBTN_EN;
- return generic_pm1_en;
-}
-
int soc_madt_sci_irq_polarity(int sci)
{
return MP_IRQ_POLARITY_HIGH;
diff --git a/src/soc/intel/jasperlake/acpi.c b/src/soc/intel/jasperlake/acpi.c
index b4efddba0c..cc7b8ae62f 100644
--- a/src/soc/intel/jasperlake/acpi.c
+++ b/src/soc/intel/jasperlake/acpi.c
@@ -260,21 +260,6 @@ void soc_fill_gnvs(struct global_nvs *gnvs)
sa_fill_gnvs(gnvs);
}
-uint32_t acpi_fill_soc_wake(uint32_t generic_pm1_en,
- const struct chipset_power_state *ps)
-{
- /*
- * WAK_STS bit is set when the system is in one of the sleep states
- * (via the SLP_EN bit) and an enabled wake event occurs. Upon setting
- * this bit, the PMC will transition the system to the ON state and
- * can only be set by hardware and can only be cleared by writing a one
- * to this bit position.
- */
-
- generic_pm1_en |= WAK_STS | RTC_EN | PWRBTN_EN;
- return generic_pm1_en;
-}
-
int soc_madt_sci_irq_polarity(int sci)
{
return MP_IRQ_POLARITY_HIGH;
diff --git a/src/soc/intel/tigerlake/acpi.c b/src/soc/intel/tigerlake/acpi.c
index 1a8ccb9e93..e560f11f69 100644
--- a/src/soc/intel/tigerlake/acpi.c
+++ b/src/soc/intel/tigerlake/acpi.c
@@ -275,21 +275,6 @@ void soc_fill_gnvs(struct global_nvs *gnvs)
sa_fill_gnvs(gnvs);
}
-uint32_t acpi_fill_soc_wake(uint32_t generic_pm1_en,
- const struct chipset_power_state *ps)
-{
- /*
- * WAK_STS bit is set when the system is in one of the sleep states
- * (via the SLP_EN bit) and an enabled wake event occurs. Upon setting
- * this bit, the PMC will transition the system to the ON state and
- * can only be set by hardware and can only be cleared by writing a one
- * to this bit position.
- */
-
- generic_pm1_en |= WAK_STS | RTC_EN | PWRBTN_EN;
- return generic_pm1_en;
-}
-
int soc_madt_sci_irq_polarity(int sci)
{
return MP_IRQ_POLARITY_HIGH;