summaryrefslogtreecommitdiff
path: root/src/soc
diff options
context:
space:
mode:
authorKyösti Mälkki <kyosti.malkki@gmail.com>2023-04-08 22:59:27 +0300
committerKyösti Mälkki <kyosti.malkki@gmail.com>2023-04-26 11:05:09 +0000
commit304f8387fe698b66c7c853098001fc83638dd874 (patch)
tree4936e225335f446fb93a701ca266622ee8981a3d /src/soc
parent1f9e24052a9d51c015d2841ee66e7408d7bdab84 (diff)
soc/amd: Use ACPI_COMMON_MADT_IOAPIC
Change IRQ #0 to GSI #2 override to positive edge trigger from the bus ISA default (positive edge). Change-Id: I2de941071fca6f7208646a065a271fbf47ac2696 Signed-off-by: Kyösti Mälkki <kyosti.malkki@gmail.com> Reviewed-on: https://review.coreboot.org/c/coreboot/+/74354 Reviewed-by: Felix Held <felix-coreboot@felixheld.de> Tested-by: build bot (Jenkins) <no-reply@coreboot.org> Reviewed-by: Arthur Heymans <arthur@aheymans.xyz>
Diffstat (limited to 'src/soc')
-rw-r--r--src/soc/amd/cezanne/acpi.c9
-rw-r--r--src/soc/amd/common/block/acpi/Kconfig2
-rw-r--r--src/soc/amd/glinda/acpi.c10
-rw-r--r--src/soc/amd/mendocino/acpi.c10
-rw-r--r--src/soc/amd/phoenix/acpi.c10
-rw-r--r--src/soc/amd/picasso/acpi.c11
-rw-r--r--src/soc/amd/stoneyridge/acpi.c11
7 files changed, 2 insertions, 61 deletions
diff --git a/src/soc/amd/cezanne/acpi.c b/src/soc/amd/cezanne/acpi.c
index 7a64c11c99..732e7367a4 100644
--- a/src/soc/amd/cezanne/acpi.c
+++ b/src/soc/amd/cezanne/acpi.c
@@ -21,19 +21,10 @@
unsigned long acpi_fill_madt(unsigned long current)
{
- current += acpi_create_madt_ioapic_from_hw((acpi_madt_ioapic_t *)current, IO_APIC_ADDR);
current += acpi_create_madt_ioapic_from_hw((acpi_madt_ioapic_t *)current,
GNB_IO_APIC_ADDR);
- /* PIT is connected to legacy IRQ 0, but IOAPIC GSI 2 */
- current += acpi_create_madt_irqoverride((acpi_madt_irqoverride_t *)current,
- MP_BUS_ISA, 0, 2,
- MP_IRQ_TRIGGER_DEFAULT | MP_IRQ_POLARITY_DEFAULT);
- /* SCI IRQ type override */
- current += acpi_create_madt_irqoverride((acpi_madt_irqoverride_t *)current,
- MP_BUS_ISA, ACPI_SCI_IRQ, ACPI_SCI_IRQ,
- MP_IRQ_TRIGGER_LEVEL | MP_IRQ_POLARITY_LOW);
current = acpi_fill_madt_irqoverride(current);
return current;
diff --git a/src/soc/amd/common/block/acpi/Kconfig b/src/soc/amd/common/block/acpi/Kconfig
index 289efbc074..9355f7d455 100644
--- a/src/soc/amd/common/block/acpi/Kconfig
+++ b/src/soc/amd/common/block/acpi/Kconfig
@@ -2,7 +2,9 @@ config SOC_AMD_COMMON_BLOCK_ACPI
bool
depends on SOC_AMD_COMMON_BLOCK_ACPIMMIO
select ACPI_AMD_HARDWARE_SLEEP_VALUES
+ select ACPI_COMMON_MADT_IOAPIC
select ACPI_COMMON_MADT_LAPIC
+ select ACPI_CUSTOM_MADT
help
Select this option to use the AcpiMmio ACPI registers.
diff --git a/src/soc/amd/glinda/acpi.c b/src/soc/amd/glinda/acpi.c
index d97dc0903f..f5185d40aa 100644
--- a/src/soc/amd/glinda/acpi.c
+++ b/src/soc/amd/glinda/acpi.c
@@ -24,19 +24,9 @@
unsigned long acpi_fill_madt(unsigned long current)
{
- current += acpi_create_madt_ioapic_from_hw((acpi_madt_ioapic_t *)current, IO_APIC_ADDR);
-
current += acpi_create_madt_ioapic_from_hw((acpi_madt_ioapic_t *)current,
GNB_IO_APIC_ADDR);
- /* PIT is connected to legacy IRQ 0, but IOAPIC GSI 2 */
- current += acpi_create_madt_irqoverride((acpi_madt_irqoverride_t *)current,
- MP_BUS_ISA, 0, 2,
- MP_IRQ_TRIGGER_DEFAULT | MP_IRQ_POLARITY_DEFAULT);
- /* SCI IRQ type override */
- current += acpi_create_madt_irqoverride((acpi_madt_irqoverride_t *)current,
- MP_BUS_ISA, ACPI_SCI_IRQ, ACPI_SCI_IRQ,
- MP_IRQ_TRIGGER_LEVEL | MP_IRQ_POLARITY_LOW);
current = acpi_fill_madt_irqoverride(current);
return current;
diff --git a/src/soc/amd/mendocino/acpi.c b/src/soc/amd/mendocino/acpi.c
index 94cb246f81..a8b04bf40b 100644
--- a/src/soc/amd/mendocino/acpi.c
+++ b/src/soc/amd/mendocino/acpi.c
@@ -23,19 +23,9 @@
unsigned long acpi_fill_madt(unsigned long current)
{
- current += acpi_create_madt_ioapic_from_hw((acpi_madt_ioapic_t *)current, IO_APIC_ADDR);
-
current += acpi_create_madt_ioapic_from_hw((acpi_madt_ioapic_t *)current,
GNB_IO_APIC_ADDR);
- /* PIT is connected to legacy IRQ 0, but IOAPIC GSI 2 */
- current += acpi_create_madt_irqoverride((acpi_madt_irqoverride_t *)current,
- MP_BUS_ISA, 0, 2,
- MP_IRQ_TRIGGER_DEFAULT | MP_IRQ_POLARITY_DEFAULT);
- /* SCI IRQ type override */
- current += acpi_create_madt_irqoverride((acpi_madt_irqoverride_t *)current,
- MP_BUS_ISA, ACPI_SCI_IRQ, ACPI_SCI_IRQ,
- MP_IRQ_TRIGGER_LEVEL | MP_IRQ_POLARITY_LOW);
current = acpi_fill_madt_irqoverride(current);
return current;
diff --git a/src/soc/amd/phoenix/acpi.c b/src/soc/amd/phoenix/acpi.c
index 427fb74ee9..e0115719a0 100644
--- a/src/soc/amd/phoenix/acpi.c
+++ b/src/soc/amd/phoenix/acpi.c
@@ -24,19 +24,9 @@
unsigned long acpi_fill_madt(unsigned long current)
{
- current += acpi_create_madt_ioapic_from_hw((acpi_madt_ioapic_t *)current, IO_APIC_ADDR);
-
current += acpi_create_madt_ioapic_from_hw((acpi_madt_ioapic_t *)current,
GNB_IO_APIC_ADDR);
- /* PIT is connected to legacy IRQ 0, but IOAPIC GSI 2 */
- current += acpi_create_madt_irqoverride((acpi_madt_irqoverride_t *)current,
- MP_BUS_ISA, 0, 2,
- MP_IRQ_TRIGGER_DEFAULT | MP_IRQ_POLARITY_DEFAULT);
- /* SCI IRQ type override */
- current += acpi_create_madt_irqoverride((acpi_madt_irqoverride_t *)current,
- MP_BUS_ISA, ACPI_SCI_IRQ, ACPI_SCI_IRQ,
- MP_IRQ_TRIGGER_LEVEL | MP_IRQ_POLARITY_LOW);
current = acpi_fill_madt_irqoverride(current);
return current;
diff --git a/src/soc/amd/picasso/acpi.c b/src/soc/amd/picasso/acpi.c
index 5d34f47fd8..9e74c6e6b8 100644
--- a/src/soc/amd/picasso/acpi.c
+++ b/src/soc/amd/picasso/acpi.c
@@ -27,20 +27,9 @@
unsigned long acpi_fill_madt(unsigned long current)
{
- current += acpi_create_madt_ioapic_from_hw((acpi_madt_ioapic_t *)current, IO_APIC_ADDR);
-
current += acpi_create_madt_ioapic_from_hw((acpi_madt_ioapic_t *)current,
GNB_IO_APIC_ADDR);
- /* PIT is connected to legacy IRQ 0, but IOAPIC GSI 2 */
- current += acpi_create_madt_irqoverride((acpi_madt_irqoverride_t *)current,
- MP_BUS_ISA, 0, 2,
- MP_IRQ_TRIGGER_DEFAULT | MP_IRQ_POLARITY_DEFAULT);
- /* SCI IRQ type override */
- current += acpi_create_madt_irqoverride((acpi_madt_irqoverride_t *)current,
- MP_BUS_ISA, ACPI_SCI_IRQ, ACPI_SCI_IRQ,
- MP_IRQ_TRIGGER_LEVEL | MP_IRQ_POLARITY_LOW);
-
current = acpi_fill_madt_irqoverride(current);
return current;
diff --git a/src/soc/amd/stoneyridge/acpi.c b/src/soc/amd/stoneyridge/acpi.c
index 9aef6088a1..7be76c1357 100644
--- a/src/soc/amd/stoneyridge/acpi.c
+++ b/src/soc/amd/stoneyridge/acpi.c
@@ -26,19 +26,8 @@
unsigned long acpi_fill_madt(unsigned long current)
{
/* Write Kern IOAPIC, only one */
- current += acpi_create_madt_ioapic_from_hw((acpi_madt_ioapic_t *)current, IO_APIC_ADDR);
-
current += acpi_create_madt_ioapic_from_hw((acpi_madt_ioapic_t *)current, IO_APIC2_ADDR);
- /* PIT is connected to legacy IRQ 0, but IOAPIC GSI 2 */
- current += acpi_create_madt_irqoverride((acpi_madt_irqoverride_t *)current,
- MP_BUS_ISA, 0, 2,
- MP_IRQ_TRIGGER_DEFAULT | MP_IRQ_POLARITY_DEFAULT);
- /* SCI IRQ type override */
- current += acpi_create_madt_irqoverride((acpi_madt_irqoverride_t *)current,
- MP_BUS_ISA, ACPI_SCI_IRQ, ACPI_SCI_IRQ,
- MP_IRQ_TRIGGER_LEVEL | MP_IRQ_POLARITY_LOW);
-
return current;
}