summaryrefslogtreecommitdiff
path: root/src/mainboard/portwell/m107/irqroute.h
blob: 6b7cb4169e80252b6ff8151b8cc2a21bbe2eb27a (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
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)