util/sconfig: Remove unused ioapic and irq keywords
[coreboot.git] / src / southbridge / intel / i82371eb / acpi / pirq.asl
blob294e28ee3bc6d3d0126cb61558b8ec5d47f941db
1 /* SPDX-License-Identifier: GPL-2.0-only */
3 Field (\_SB.PCI0.LPCB.PCIC, AnyAcc, NoLock, Preserve)
5         Offset (0x60),  // Interrupt Routing Registers
6         PRTA,   8,
7         PRTB,   8,
8         PRTC,   8,
9         PRTD,   8,
12 Name(IRQB, ResourceTemplate(){
13         IRQ(Level,ActiveLow,Shared){15}
16 Name(IRQP, ResourceTemplate(){
17         IRQ(Level,ActiveLow,Exclusive){3, 4, 5, 6, 7, 10, 11, 12}
20 /* adapted from ma78gm/dsdt.asl */
21 #define PCI_INTX_DEV(intx, pinx, uid)                   \
22 Device(intx) {                                          \
23         Name(_HID, EISAID("PNP0C0F"))                   \
24         Name(_UID, uid)                                 \
25                                                         \
26         Method(_STA, 0) {                               \
27                 If (pinx & 0x80) {                      \
28                         Return(0x09)                    \
29                 }                                       \
30                 Return(0x0B)                            \
31         }                                               \
32                                                         \
33         Method(_DIS ,0) {                               \
34                 pinx = 0x80                     \
35         }                                               \
36                                                         \
37         Method(_PRS ,0) {                               \
38                 Return(IRQP)                            \
39         }                                               \
40                                                         \
41         Method(_CRS ,0) {                               \
42                 CreateWordField(IRQB, 1, IRQN)          \
43                 IRQN = 1 << (pinx & 0x0f)               \
44                 Return(IRQB)                            \
45         }                                               \
46                                                         \
47         Method(_SRS, 1) {                               \
48                 CreateWordField(ARG0, 1, IRQM)          \
49                                                         \
50                 /* Use lowest available IRQ */          \
51                 FindSetRightBit(IRQM, Local0)           \
52                 if (Local0) {                           \
53                         Local0--                        \
54                 }                                       \
55                 pinx = Local0                   \
56         }                                               \
57 }                                                       \
59 PCI_INTX_DEV(LNKA, PRTA, 1)
60 PCI_INTX_DEV(LNKB, PRTB, 2)
61 PCI_INTX_DEV(LNKC, PRTC, 3)
62 PCI_INTX_DEV(LNKD, PRTD, 4)