aboutsummaryrefslogtreecommitdiff
path: root/src/mainboard/portwell/m107/irqroute.h
diff options
context:
space:
mode:
authorFrans Hendriks <fhendriks@eltan.com>2019-07-15 08:48:55 +0200
committerMartin Roth <martinroth@google.com>2019-07-17 14:21:52 +0000
commited52e3dd9c33e5f714bde615e16c1b187cdd269f (patch)
treea19282a87dd1789b319ea0ac3612963148bb2983 /src/mainboard/portwell/m107/irqroute.h
parent6feb4dadd85518c5e4603cb7da48ac4bec484c62 (diff)
mainboard/portwell/m107: Do initial mainboard commit
Initial support for Portwell PQ7-M107 (Q7) module. Code based on Intel Strago mainboard. BUG=N/A TEST=booting SeaBIOS and Linux 4.20 kernel on PQ7-M107 Change-Id: I7d3173fdcf881f894a75cd9798ba173b425d4e62 Signed-off-by: Frans Hendriks <fhendriks@eltan.com> Reviewed-on: https://review.coreboot.org/c/coreboot/+/29470 Tested-by: build bot (Jenkins) <no-reply@coreboot.org> Reviewed-by: Martin Roth <martinroth@google.com>
Diffstat (limited to 'src/mainboard/portwell/m107/irqroute.h')
-rw-r--r--src/mainboard/portwell/m107/irqroute.h70
1 files changed, 70 insertions, 0 deletions
diff --git a/src/mainboard/portwell/m107/irqroute.h b/src/mainboard/portwell/m107/irqroute.h
new file mode 100644
index 0000000000..6b7cb4169e
--- /dev/null
+++ b/src/mainboard/portwell/m107/irqroute.h
@@ -0,0 +1,70 @@
+/*
+ * This file is part of the coreboot project.
+ *
+ * Copyright (C) 2013 Google Inc.
+ * Copyright (C) 2015 Intel Corp.
+ * Copyright (C) 2018 Eltan B.V.
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; version 2 of the License.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ */
+
+#include <soc/irq.h>
+#include <soc/pci_devs.h>
+#include <soc/pm.h>
+
+/*
+ * IR02h GFX INT(A) - PIRQ A
+ * IR0Bh PUNIT INT(A) - PIRQ F
+ * IR10h EMMC INT(ABCD) - PIRQ DEFG
+ * IR11h SDIO INT(A) - PIRQ B
+ * IR12h SD INT(A) - PIRQ C
+ * IR13h SATA INT(A) - PIRQ D
+ * IR14h XHCI INT(A) - PIRQ E
+ * IR15h LP Audio INT(A) - PIRQ F
+ * IR17h MMC INT(A) - PIRQ F
+ * IR18h SIO INT(ABCD) - PIRQ BADC
+ * IR1Ah TXE INT(A) - PIRQ F
+ * IR1Bh HD Audio INT(A) - PIRQ G
+ * IR1Ch PCIe INT(ABCD) - PIRQ EFGH
+ * IR1Dh EHCI INT(A) - PIRQ D
+ * IR1Eh SIO INT(ABCD) - PIRQ BDEF
+ * IR1Fh LPC INT(ABCD) - PIRQ HGBC
+*/
+#define PCI_DEV_PIRQ_ROUTES \
+ PCI_DEV_PIRQ_ROUTE(GFX_DEV, A, A, A, A), \
+ PCI_DEV_PIRQ_ROUTE(PUNIT_DEV, F, F, F, F), \
+ PCI_DEV_PIRQ_ROUTE(MMC_DEV, D, E, F, G), \
+ PCI_DEV_PIRQ_ROUTE(SD_DEV, C, A, A, A), \
+ PCI_DEV_PIRQ_ROUTE(SATA_DEV, D, A, A, A), \
+ PCI_DEV_PIRQ_ROUTE(XHCI_DEV, E, A, A, A), \
+ PCI_DEV_PIRQ_ROUTE(LPE_DEV, F, A, A, A), \
+ PCI_DEV_PIRQ_ROUTE(SIO1_DEV, B, A, D, C), \
+ PCI_DEV_PIRQ_ROUTE(TXE_DEV, F, A, A, A), \
+ PCI_DEV_PIRQ_ROUTE(HDA_DEV, G, A, A, A), \
+ PCI_DEV_PIRQ_ROUTE(PCIE_DEV, E, F, G, H), \
+ PCI_DEV_PIRQ_ROUTE(SIO2_DEV, B, D, E, F), \
+ PCI_DEV_PIRQ_ROUTE(PCU_DEV, H, G, B, C)
+
+/*
+ * Route each PIRQ[A-H] to a PIC IRQ[0-15]
+ * Reserved: 0, 1, 2, 8, 13
+ * PS2 keyboard: 12
+ * ACPI/SCI: 9
+ * Floppy: 6
+ */
+#define PIRQ_PIC_ROUTES \
+ PIRQ_PIC(A, 11), \
+ PIRQ_PIC(B, 5), \
+ PIRQ_PIC(C, 5), \
+ PIRQ_PIC(D, 11), \
+ PIRQ_PIC(E, 11), \
+ PIRQ_PIC(F, 5), \
+ PIRQ_PIC(G, 11), \
+ PIRQ_PIC(H, 11)