soc/amd/picasso: add missing GNB I/O APIC initialization

Change-Id: Iddb0c20e769e6921ba5d0dd4a84ab9e494d522e1
Signed-off-by: Felix Held <felix-coreboot@felixheld.de>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/48269
Reviewed-by: Marshall Dawson <marshalldawson3rd@gmail.com>
Reviewed-by: Raul Rangel <rrangel@chromium.org>
Reviewed-by: Nikolai Vyssotski <nikolai.vyssotski@amd.corp-partner.google.com>
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
diff --git a/src/soc/amd/picasso/root_complex.c b/src/soc/amd/picasso/root_complex.c
index 045f30c..5166fe5 100644
--- a/src/soc/amd/picasso/root_complex.c
+++ b/src/soc/amd/picasso/root_complex.c
@@ -1,6 +1,7 @@
 /* SPDX-License-Identifier: GPL-2.0-only */
 
 #include <acpi/acpigen.h>
+#include <arch/ioapic.h>
 #include <assert.h>
 #include <cbmem.h>
 #include <console/console.h>
@@ -181,6 +182,11 @@
 	gnb_apic->flags = IORESOURCE_MEM | IORESOURCE_ASSIGNED | IORESOURCE_FIXED;
 }
 
+static void root_complex_init(struct device *dev)
+{
+	setup_ioapic((u8 *)GNB_IO_APIC_ADDR, CONFIG_PICASSO_GNB_IOAPIC_ID);
+}
+
 static void dptc_call_alib(const char *buf_name, uint8_t *buffer, size_t size)
 {
 	/* Name (buf_name, Buffer(size) {...} */
@@ -266,6 +272,7 @@
 	.read_resources		= read_resources,
 	.set_resources		= noop_set_resources,
 	.enable_resources	= pci_dev_enable_resources,
+	.init			= root_complex_init,
 	.acpi_fill_ssdt		= root_complex_fill_ssdt,
 };