blob: ee55be174f19ee06a10b08f8330718ad488ad1a3 [file] [log] [blame]
Dave Frodin2093c4f2014-06-13 08:12:48 -06001/*
2 * This file is part of the coreboot project.
3 *
4 * Copyright (C) 2014 Sage Electronic Engineering, LLC.
5 *
6 * This program is free software; you can redistribute it and/or modify
7 * it under the terms of the GNU General Public License as published by
8 * the Free Software Foundation; version 2 of the License.
9 *
10 * This program is distributed in the hope that it will be useful,
11 * but WITHOUT ANY WARRANTY; without even the implied warranty of
12 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 * GNU General Public License for more details.
Dave Frodin2093c4f2014-06-13 08:12:48 -060014 */
15
16#ifndef AMD_PCI_INT_DEFS_H
17#define AMD_PCI_INT_DEFS_H
18
19/*
20 * PIRQ and device routing - these define the index
21 * into the FCH PCI_INTR 0xC00/0xC01 interrupt
22 * routing table
23 */
Julius Wernercd49cce2019-03-05 16:53:33 -080024#if CONFIG(SOUTHBRIDGE_AMD_AGESA_HUDSON)
Dave Frodin2093c4f2014-06-13 08:12:48 -060025#define FCH_INT_TABLE_SIZE 0x54
Julius Wernercd49cce2019-03-05 16:53:33 -080026#elif CONFIG(SOUTHBRIDGE_AMD_AGESA_YANGTZE)
Dave Frodin2093c4f2014-06-13 08:12:48 -060027#define FCH_INT_TABLE_SIZE 0x42
28#endif
29
30#define PIRQ_NC 0x1F /* Not Used */
31#define PIRQ_A 0x00 /* INT A */
32#define PIRQ_B 0x01 /* INT B */
33#define PIRQ_C 0x02 /* INT C */
34#define PIRQ_D 0x03 /* INT D */
35#define PIRQ_E 0x04 /* INT E */
36#define PIRQ_F 0x05 /* INT F */
37#define PIRQ_G 0x06 /* INT G */
38#define PIRQ_H 0x07 /* INT H */
39#define PIRQ_MISC 0x08 /* Miscellaneous IRQ Settings - See FCH Spec */
40#define PIRQ_MISC0 0x09 /* Miscellaneous0 IRQ Settings */
41#define PIRQ_MISC1 0x0A /* Miscellaneous1 IRQ Settings */
42#define PIRQ_MISC2 0x0B /* Miscellaneous2 IRQ Settings */
43#define PIRQ_SIRQA 0x0C /* Serial IRQ INTA */
44#define PIRQ_SIRQB 0x0D /* Serial IRQ INTA */
45#define PIRQ_SIRQC 0x0E /* Serial IRQ INTA */
46#define PIRQ_SIRQD 0x0F /* Serial IRQ INTA */
47#define PIRQ_SCI 0x10 /* SCI IRQ */
48#define PIRQ_SMBUS 0x11 /* SMBUS 14h.0 */
49#define PIRQ_ASF 0x12 /* ASF */
50#define PIRQ_HDA 0x13 /* HDA 14h.2 */
51#define PIRQ_FC 0x14 /* FC */
52#define PIRQ_GEC 0x15 /* GEC */
53#define PIRQ_PMON 0x16 /* Performance Monitor */
Julius Wernercd49cce2019-03-05 16:53:33 -080054#if CONFIG(SOUTHBRIDGE_AMD_AGESA_YANGTZE)
Kyösti Mälkki109a58a2019-01-10 10:00:38 +020055#define PIRQ_SD 0x17 /* SD */
Dave Frodin2093c4f2014-06-13 08:12:48 -060056#endif
57#define PIRQ_IMC0 0x20 /* IMC INT0 */
58#define PIRQ_IMC1 0x21 /* IMC INT1 */
59#define PIRQ_IMC2 0x22 /* IMC INT2 */
60#define PIRQ_IMC3 0x23 /* IMC INT3 */
61#define PIRQ_IMC4 0x24 /* IMC INT4 */
62#define PIRQ_IMC5 0x25 /* IMC INT5 */
63#define PIRQ_OHCI1 0x30 /* USB OHCI 12h.0 */
64#define PIRQ_EHCI1 0x31 /* USB EHCI 12h.2 */
65#define PIRQ_OHCI2 0x32 /* USB OHCI 13h.0 */
66#define PIRQ_EHCI2 0x33 /* USB EHCI 13h.2 */
67#define PIRQ_OHCI3 0x34 /* USB OHCI 16h.0 */
68#define PIRQ_EHCI3 0x35 /* USB EHCI 16h.2 */
69#define PIRQ_OHCI4 0x36 /* USB OHCI 14h.5 */
70#define PIRQ_IDE 0x40 /* IDE 14h.1 */
71#define PIRQ_SATA 0x41 /* SATA 11h.0 */
Julius Wernercd49cce2019-03-05 16:53:33 -080072#if CONFIG(SOUTHBRIDGE_AMD_AGESA_HUDSON)
Kyösti Mälkki109a58a2019-01-10 10:00:38 +020073#define PIRQ_SD 0x42 /* SD 14h.7 */
Dave Frodin2093c4f2014-06-13 08:12:48 -060074#define PIRQ_GPP0 0x50 /* GPP INT 0 */
75#define PIRQ_GPP1 0x51 /* GPP INT 1 */
76#define PIRQ_GPP2 0x52 /* GPP INT 2 */
77#define PIRQ_GPP3 0x53 /* GPP INT 3 */
78#endif
79
80#endif /* AMD_PCI_INT_DEFS_H */