AMD binaryPI: Use madt_ioapic_from_hw()

Read IOAPIC ID and number of interrupts from programmed registers.

Change-Id: Ic8ba395bc220fdb691118719f7b32dd7400931f4
Signed-off-by: Kyösti Mälkki <kyosti.malkki@gmail.com>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/55570
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Arthur Heymans <arthur@aheymans.xyz>
diff --git a/src/southbridge/amd/pi/hudson/sm.c b/src/southbridge/amd/pi/hudson/sm.c
index c40bf5e..2dc2ae3 100644
--- a/src/southbridge/amd/pi/hudson/sm.c
+++ b/src/southbridge/amd/pi/hudson/sm.c
@@ -5,7 +5,6 @@
 #include <device/pci_ids.h>
 #include <device/smbus.h>
 #include <arch/ioapic.h>
-#include <southbridge/amd/pi/hudson/ioapic.h>
 
 #include "hudson.h"
 #include "smbus.c"
@@ -22,7 +21,7 @@
 
 static void sm_init(struct device *dev)
 {
-	setup_ioapic(VIO_APIC_VADDR, FCH_IOAPIC_ID);
+	register_new_ioapic_gsi0(VIO_APIC_VADDR);
 }
 
 static int lsmbus_recv_byte(struct device *dev)