1 /* SPDX-License-Identifier: GPL-2.0-only */
5 // Intel LPC Bus Device - 0:1f.0
11 OperationRegion(LPC0, PCI_Config, 0x00, 0x100)
12 Field (LPC0, AnyAcc, NoLock, Preserve)
16 Offset (0x60), // Interrupt Routing Registers
27 Offset (0x80), // IO Decode Ranges
31 Offset (0xb8), // GPIO Routing Control
50 #include <southbridge/intel/common/acpi/irqlinks.asl>
52 #include "acpi/ec.asl"
54 Device (DMAC) // DMA Controller
56 Name(_HID, EISAID("PNP0200"))
57 Name(_CRS, ResourceTemplate()
59 IO (Decode16, 0x00, 0x00, 0x01, 0x20)
60 IO (Decode16, 0x81, 0x81, 0x01, 0x11)
61 IO (Decode16, 0x93, 0x93, 0x01, 0x0d)
62 IO (Decode16, 0xc0, 0xc0, 0x01, 0x20)
63 DMA (Compatibility, NotBusMaster, Transfer8_16) { 4 }
67 Device (FWH) // Firmware Hub
69 Name (_HID, EISAID("INT0800"))
70 Name (_CRS, ResourceTemplate()
72 Memory32Fixed(ReadOnly, 0xff000000, 0x01000000)
78 Name (_HID, EISAID("PNP0103"))
79 Name (_CID, 0x010CD041)
81 Name(BUF0, ResourceTemplate()
83 Memory32Fixed(ReadOnly, HPET_BASE_ADDRESS, 0x400, FED0)
86 Method (_STA, 0) // Device Status
91 Method (_CRS, 0, Serialized) // Current resources
94 CreateDWordField(BUF0, \_SB.PCI0.LPCB.HPET.FED0._BAS, HPT0)
96 HPT0 = HPET_BASE_ADDRESS + 0x1000
100 HPT0 = HPET_BASE_ADDRESS + 0x2000
104 HPT0 = HPET_BASE_ADDRESS + 0x3000
112 Device(PIC) // 8259 Interrupt Controller
114 Name(_HID,EISAID("PNP0000"))
115 Name(_CRS, ResourceTemplate()
117 IO (Decode16, 0x20, 0x20, 0x01, 0x02)
118 IO (Decode16, 0x24, 0x24, 0x01, 0x02)
119 IO (Decode16, 0x28, 0x28, 0x01, 0x02)
120 IO (Decode16, 0x2c, 0x2c, 0x01, 0x02)
121 IO (Decode16, 0x30, 0x30, 0x01, 0x02)
122 IO (Decode16, 0x34, 0x34, 0x01, 0x02)
123 IO (Decode16, 0x38, 0x38, 0x01, 0x02)
124 IO (Decode16, 0x3c, 0x3c, 0x01, 0x02)
125 IO (Decode16, 0xa0, 0xa0, 0x01, 0x02)
126 IO (Decode16, 0xa4, 0xa4, 0x01, 0x02)
127 IO (Decode16, 0xa8, 0xa8, 0x01, 0x02)
128 IO (Decode16, 0xac, 0xac, 0x01, 0x02)
129 IO (Decode16, 0xb0, 0xb0, 0x01, 0x02)
130 IO (Decode16, 0xb4, 0xb4, 0x01, 0x02)
131 IO (Decode16, 0xb8, 0xb8, 0x01, 0x02)
132 IO (Decode16, 0xbc, 0xbc, 0x01, 0x02)
133 IO (Decode16, 0x4d0, 0x4d0, 0x01, 0x02)
140 Name (_HID, EISAID("PNP0C04"))
141 Name (_CRS, ResourceTemplate()
143 IO (Decode16, 0xf0, 0xf0, 0x01, 0x01)
148 Device(LDRC) // LPC device: Resource consumption
150 Name (_HID, EISAID("PNP0C02"))
152 Name (_CRS, ResourceTemplate()
154 IO (Decode16, 0x2e, 0x2e, 0x1, 0x02) // First SuperIO
155 IO (Decode16, 0x4e, 0x4e, 0x1, 0x02) // Second SuperIO
156 IO (Decode16, 0x61, 0x61, 0x1, 0x01) // NMI Status
157 IO (Decode16, 0x63, 0x63, 0x1, 0x01) // CPU Reserved
158 IO (Decode16, 0x65, 0x65, 0x1, 0x01) // CPU Reserved
159 IO (Decode16, 0x67, 0x67, 0x1, 0x01) // CPU Reserved
160 IO (Decode16, 0x80, 0x80, 0x1, 0x01) // Port 80 Post
161 IO (Decode16, 0x92, 0x92, 0x1, 0x01) // CPU Reserved
162 IO (Decode16, 0xb2, 0xb2, 0x1, 0x02) // SWSMI
163 IO (Decode16, DEFAULT_PMBASE, DEFAULT_PMBASE, 0x1, 0x80) // ICH7-M ACPI
164 IO (Decode16, DEFAULT_GPIOBASE, DEFAULT_GPIOBASE, 0x1, 0x40) // ICH7-M GPIO
168 Device (RTC) // Real Time Clock
170 Name (_HID, EISAID("PNP0B00"))
171 Name (_CRS, ResourceTemplate()
173 IO (Decode16, 0x70, 0x70, 1, 8)
177 Device (TIMR) // Intel 8254 timer
179 Name(_HID, EISAID("PNP0100"))
180 Name(_CRS, ResourceTemplate()
182 IO (Decode16, 0x40, 0x40, 0x01, 0x04)
183 IO (Decode16, 0x50, 0x50, 0x10, 0x04)
188 #include "acpi/superio.asl"