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
Reviewed-on: https://review.coreboot.org/c/coreboot/+/68817
Reviewed-by: Fred Reitberger <reitbergerfred@gmail.com>
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
This commit is contained in:
Felix Held
2022-10-25 17:48:30 +02:00
parent a7b86c3362
commit 886c1ffc65
9 changed files with 14 additions and 40 deletions

View File

@ -33,11 +33,7 @@ static uint8_t fch_apic_routing[0x80];
_Static_assert(sizeof(fch_pic_routing) == sizeof(fch_apic_routing), _Static_assert(sizeof(fch_pic_routing) == sizeof(fch_apic_routing),
"PIC and APIC FCH interrupt tables must be the same size"); "PIC and APIC FCH interrupt tables must be the same size");
static const struct fch_irq_routing { static const struct fch_irq_routing bilby_fch[] = {
uint8_t intr_index;
uint8_t pic_irq_num;
uint8_t apic_irq_num;
} bilby_fch[] = {
{ PIRQ_A, 8, 16 }, { PIRQ_A, 8, 16 },
{ PIRQ_B, 10, 17 }, { PIRQ_B, 10, 17 },
{ PIRQ_C, 11, 18 }, { PIRQ_C, 11, 18 },

View File

@ -34,11 +34,7 @@ _Static_assert(sizeof(fch_pic_routing) == sizeof(fch_apic_routing),
* 8: rtc0 <- soc/amd/common/acpi/lpc.asl * 8: rtc0 <- soc/amd/common/acpi/lpc.asl
* 9: acpi <- soc/amd/common/acpi/lpc.asl * 9: acpi <- soc/amd/common/acpi/lpc.asl
*/ */
static const struct fch_irq_routing { static const struct fch_irq_routing birman_fch[] = {
uint8_t intr_index;
uint8_t pic_irq_num;
uint8_t apic_irq_num;
} birman_fch[] = {
{ PIRQ_A, 12, PIRQ_NC }, { PIRQ_A, 12, PIRQ_NC },
{ PIRQ_B, 14, PIRQ_NC }, { PIRQ_B, 14, PIRQ_NC },
{ PIRQ_C, 15, PIRQ_NC }, { PIRQ_C, 15, PIRQ_NC },

View File

@ -32,11 +32,7 @@ _Static_assert(sizeof(fch_pic_routing) == sizeof(fch_apic_routing),
* 8: rtc0 <- soc/amd/common/acpi/lpc.asl * 8: rtc0 <- soc/amd/common/acpi/lpc.asl
* 9: acpi <- soc/amd/common/acpi/lpc.asl * 9: acpi <- soc/amd/common/acpi/lpc.asl
*/ */
static const struct fch_irq_routing { static const struct fch_irq_routing chausie_fch[] = {
uint8_t intr_index;
uint8_t pic_irq_num;
uint8_t apic_irq_num;
} chausie_fch[] = {
{ PIRQ_A, 12, PIRQ_NC }, { PIRQ_A, 12, PIRQ_NC },
{ PIRQ_B, 14, PIRQ_NC }, { PIRQ_B, 14, PIRQ_NC },
{ PIRQ_C, 15, PIRQ_NC }, { PIRQ_C, 15, PIRQ_NC },

View File

@ -31,11 +31,7 @@ _Static_assert(sizeof(fch_pic_routing) == sizeof(fch_apic_routing),
* 8: rtc0 <- soc/amd/common/acpi/lpc.asl * 8: rtc0 <- soc/amd/common/acpi/lpc.asl
* 9: acpi <- soc/amd/common/acpi/lpc.asl * 9: acpi <- soc/amd/common/acpi/lpc.asl
*/ */
static const struct fch_irq_routing { static const struct fch_irq_routing majolica_fch[] = {
uint8_t intr_index;
uint8_t pic_irq_num;
uint8_t apic_irq_num;
} majolica_fch[] = {
{ PIRQ_A, 12, PIRQ_NC }, { PIRQ_A, 12, PIRQ_NC },
{ PIRQ_B, 14, PIRQ_NC }, { PIRQ_B, 14, PIRQ_NC },
{ PIRQ_C, 15, PIRQ_NC }, { PIRQ_C, 15, PIRQ_NC },

View File

@ -28,11 +28,7 @@ static uint8_t fch_apic_routing[0x80];
_Static_assert(sizeof(fch_pic_routing) == sizeof(fch_apic_routing), _Static_assert(sizeof(fch_pic_routing) == sizeof(fch_apic_routing),
"PIC and APIC FCH interrupt tables must be the same size"); "PIC and APIC FCH interrupt tables must be the same size");
static const struct fch_irq_routing { static const struct fch_irq_routing mandolin_fch[] = {
uint8_t intr_index;
uint8_t pic_irq_num;
uint8_t apic_irq_num;
} mandolin_fch[] = {
{ PIRQ_A, 8, 16 }, { PIRQ_A, 8, 16 },
{ PIRQ_B, 10, 17 }, { PIRQ_B, 10, 17 },
{ PIRQ_C, 11, 18 }, { PIRQ_C, 11, 18 },

View File

@ -46,11 +46,7 @@ _Static_assert(sizeof(fch_pic_routing) == sizeof(fch_apic_routing),
* 8: rtc0 <- soc/amd/common/acpi/lpc.asl * 8: rtc0 <- soc/amd/common/acpi/lpc.asl
* 9: acpi <- soc/amd/common/acpi/lpc.asl * 9: acpi <- soc/amd/common/acpi/lpc.asl
*/ */
static const struct fch_irq_routing { static const struct fch_irq_routing guybrush_fch[] = {
uint8_t intr_index;
uint8_t pic_irq_num;
uint8_t apic_irq_num;
} guybrush_fch[] = {
{ PIRQ_A, 12, PIRQ_NC }, { PIRQ_A, 12, PIRQ_NC },
{ PIRQ_B, 14, PIRQ_NC }, { PIRQ_B, 14, PIRQ_NC },
{ PIRQ_C, 15, PIRQ_NC }, { PIRQ_C, 15, PIRQ_NC },

View File

@ -33,11 +33,7 @@ _Static_assert(sizeof(fch_pic_routing) == sizeof(fch_apic_routing),
* 9: acpi <- soc/amd/common/acpi/lpc.asl * 9: acpi <- soc/amd/common/acpi/lpc.asl
*/ */
static const struct fch_irq_routing { static const struct fch_irq_routing skyrim_fch[] = {
uint8_t intr_index;
uint8_t pic_irq_num;
uint8_t apic_irq_num;
} skyrim_fch[] = {
{ PIRQ_A, 12, PIRQ_NC }, { PIRQ_A, 12, PIRQ_NC },
{ PIRQ_B, 14, PIRQ_NC }, { PIRQ_B, 14, PIRQ_NC },
{ PIRQ_C, 15, PIRQ_NC }, { PIRQ_C, 15, PIRQ_NC },

View File

@ -56,11 +56,7 @@ _Static_assert(sizeof(fch_pic_routing) == sizeof(fch_apic_routing),
* 9: acpi <- soc/amd/common/acpi/lpc.asl * 9: acpi <- soc/amd/common/acpi/lpc.asl
* 12: i8042 <- ec/google/chromeec/acpi/superio.asl * 12: i8042 <- ec/google/chromeec/acpi/superio.asl
*/ */
static const struct fch_irq_routing { static const struct fch_irq_routing fch_pirq[] = {
uint8_t intr_index;
uint8_t pic_irq_num;
uint8_t apic_irq_num;
} fch_pirq[] = {
{ PIRQ_A, 6, PIRQ_NC }, { PIRQ_A, 6, PIRQ_NC },
{ PIRQ_B, 13, PIRQ_NC }, { PIRQ_B, 13, PIRQ_NC },
{ PIRQ_C, 14, PIRQ_NC }, { PIRQ_C, 14, PIRQ_NC },

View File

@ -11,6 +11,12 @@
#define PCI_INTR_INDEX 0xc00 #define PCI_INTR_INDEX 0xc00
#define PCI_INTR_DATA 0xc01 #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 { struct pirq_struct {
u8 devfn; u8 devfn;
u8 PIN[4]; /* PINA/B/C/D are index 0/1/2/3 */ u8 PIN[4]; /* PINA/B/C/D are index 0/1/2/3 */