Felix Held has uploaded this change for review. ( https://review.coreboot.org/c/coreboot/+/68817 )
Change subject: mb/amd,google: move fch_irq_routing struct definition to soc/amd ......................................................................
mb/amd,google: move fch_irq_routing struct definition to soc/amd
Define the fch_irq_routing struct once in a common header file instead of in every mainboard's code.
Signed-off-by: Felix Held felix-coreboot@felixheld.de Change-Id: I11d9000b6ed7529e4afd7f6e8a7332c390da6dab --- M src/mainboard/amd/bilby/mainboard.c M src/mainboard/amd/birman/mainboard.c M src/mainboard/amd/chausie/mainboard.c M src/mainboard/amd/majolica/mainboard.c M src/mainboard/amd/mandolin/mainboard.c M src/mainboard/google/guybrush/mainboard.c M src/mainboard/google/skyrim/mainboard.c M src/mainboard/google/zork/mainboard.c M src/soc/amd/common/block/include/amdblocks/amd_pci_util.h 9 files changed, 27 insertions(+), 40 deletions(-)
git pull ssh://review.coreboot.org:29418/coreboot refs/changes/17/68817/1
diff --git a/src/mainboard/amd/bilby/mainboard.c b/src/mainboard/amd/bilby/mainboard.c index f87046a..c402c29 100644 --- a/src/mainboard/amd/bilby/mainboard.c +++ b/src/mainboard/amd/bilby/mainboard.c @@ -33,11 +33,7 @@ _Static_assert(sizeof(fch_pic_routing) == sizeof(fch_apic_routing), "PIC and APIC FCH interrupt tables must be the same size");
-static const struct fch_irq_routing { - uint8_t intr_index; - uint8_t pic_irq_num; - uint8_t apic_irq_num; -} bilby_fch[] = { +static const struct fch_irq_routing bilby_fch[] = { { PIRQ_A, 8, 16 }, { PIRQ_B, 10, 17 }, { PIRQ_C, 11, 18 }, diff --git a/src/mainboard/amd/birman/mainboard.c b/src/mainboard/amd/birman/mainboard.c index ffb778c..34c3b4d 100644 --- a/src/mainboard/amd/birman/mainboard.c +++ b/src/mainboard/amd/birman/mainboard.c @@ -34,11 +34,7 @@ * 8: rtc0 <- soc/amd/common/acpi/lpc.asl * 9: acpi <- soc/amd/common/acpi/lpc.asl */ -static const struct fch_irq_routing { - uint8_t intr_index; - uint8_t pic_irq_num; - uint8_t apic_irq_num; -} birman_fch[] = { +static const struct fch_irq_routing birman_fch[] = { { PIRQ_A, 12, PIRQ_NC }, { PIRQ_B, 14, PIRQ_NC }, { PIRQ_C, 15, PIRQ_NC }, diff --git a/src/mainboard/amd/chausie/mainboard.c b/src/mainboard/amd/chausie/mainboard.c index 2966b55..9251ff2 100644 --- a/src/mainboard/amd/chausie/mainboard.c +++ b/src/mainboard/amd/chausie/mainboard.c @@ -32,11 +32,7 @@ * 8: rtc0 <- soc/amd/common/acpi/lpc.asl * 9: acpi <- soc/amd/common/acpi/lpc.asl */ -static const struct fch_irq_routing { - uint8_t intr_index; - uint8_t pic_irq_num; - uint8_t apic_irq_num; -} chausie_fch[] = { +static const struct fch_irq_routing chausie_fch[] = { { PIRQ_A, 12, PIRQ_NC }, { PIRQ_B, 14, PIRQ_NC }, { PIRQ_C, 15, PIRQ_NC }, diff --git a/src/mainboard/amd/majolica/mainboard.c b/src/mainboard/amd/majolica/mainboard.c index 199cf47..58f7546 100644 --- a/src/mainboard/amd/majolica/mainboard.c +++ b/src/mainboard/amd/majolica/mainboard.c @@ -31,11 +31,7 @@ * 8: rtc0 <- soc/amd/common/acpi/lpc.asl * 9: acpi <- soc/amd/common/acpi/lpc.asl */ -static const struct fch_irq_routing { - uint8_t intr_index; - uint8_t pic_irq_num; - uint8_t apic_irq_num; -} majolica_fch[] = { +static const struct fch_irq_routing majolica_fch[] = { { PIRQ_A, 12, PIRQ_NC }, { PIRQ_B, 14, PIRQ_NC }, { PIRQ_C, 15, PIRQ_NC }, diff --git a/src/mainboard/amd/mandolin/mainboard.c b/src/mainboard/amd/mandolin/mainboard.c index ccea7c7..0f87d9c 100644 --- a/src/mainboard/amd/mandolin/mainboard.c +++ b/src/mainboard/amd/mandolin/mainboard.c @@ -28,11 +28,7 @@ _Static_assert(sizeof(fch_pic_routing) == sizeof(fch_apic_routing), "PIC and APIC FCH interrupt tables must be the same size");
-static const struct fch_irq_routing { - uint8_t intr_index; - uint8_t pic_irq_num; - uint8_t apic_irq_num; -} mandolin_fch[] = { +static const struct fch_irq_routing mandolin_fch[] = { { PIRQ_A, 8, 16 }, { PIRQ_B, 10, 17 }, { PIRQ_C, 11, 18 }, diff --git a/src/mainboard/google/guybrush/mainboard.c b/src/mainboard/google/guybrush/mainboard.c index 9a1c24d..4bcb52e 100644 --- a/src/mainboard/google/guybrush/mainboard.c +++ b/src/mainboard/google/guybrush/mainboard.c @@ -46,11 +46,7 @@ * 8: rtc0 <- soc/amd/common/acpi/lpc.asl * 9: acpi <- soc/amd/common/acpi/lpc.asl */ -static const struct fch_irq_routing { - uint8_t intr_index; - uint8_t pic_irq_num; - uint8_t apic_irq_num; -} guybrush_fch[] = { +static const struct fch_irq_routing guybrush_fch[] = { { PIRQ_A, 12, PIRQ_NC }, { PIRQ_B, 14, PIRQ_NC }, { PIRQ_C, 15, PIRQ_NC }, diff --git a/src/mainboard/google/skyrim/mainboard.c b/src/mainboard/google/skyrim/mainboard.c index 6af647c..0b707d7 100644 --- a/src/mainboard/google/skyrim/mainboard.c +++ b/src/mainboard/google/skyrim/mainboard.c @@ -33,11 +33,7 @@ * 9: acpi <- soc/amd/common/acpi/lpc.asl */
-static const struct fch_irq_routing { - uint8_t intr_index; - uint8_t pic_irq_num; - uint8_t apic_irq_num; -} skyrim_fch[] = { +static const struct fch_irq_routing skyrim_fch[] = { { PIRQ_A, 12, PIRQ_NC }, { PIRQ_B, 14, PIRQ_NC }, { PIRQ_C, 15, PIRQ_NC }, diff --git a/src/mainboard/google/zork/mainboard.c b/src/mainboard/google/zork/mainboard.c index 82e5c6a..fedf1cc 100644 --- a/src/mainboard/google/zork/mainboard.c +++ b/src/mainboard/google/zork/mainboard.c @@ -56,11 +56,7 @@ * 9: acpi <- soc/amd/common/acpi/lpc.asl * 12: i8042 <- ec/google/chromeec/acpi/superio.asl */ -static const struct fch_irq_routing { - uint8_t intr_index; - uint8_t pic_irq_num; - uint8_t apic_irq_num; -} fch_pirq[] = { +static const struct fch_irq_routing fch_pirq[] = { { PIRQ_A, 6, PIRQ_NC }, { PIRQ_B, 13, PIRQ_NC }, { PIRQ_C, 14, PIRQ_NC }, diff --git a/src/soc/amd/common/block/include/amdblocks/amd_pci_util.h b/src/soc/amd/common/block/include/amdblocks/amd_pci_util.h index 0a4061f..6543853 100644 --- a/src/soc/amd/common/block/include/amdblocks/amd_pci_util.h +++ b/src/soc/amd/common/block/include/amdblocks/amd_pci_util.h @@ -11,6 +11,12 @@ #define PCI_INTR_INDEX 0xc00 #define PCI_INTR_DATA 0xc01
+struct fch_irq_routing { + uint8_t intr_index; + uint8_t pic_irq_num; + uint8_t apic_irq_num; +}; + struct pirq_struct { u8 devfn; u8 PIN[4]; /* PINA/B/C/D are index 0/1/2/3 */