2 * Copyright (C) 2007-2009 coresystems GmbH
3 * Copyright (C) 2013 Google Inc.
4 * Copyright (C) 2016 Bin Meng <bmeng.cn@gmail.com>
6 * Modified from coreboot src/soc/intel/baytrail/acpi/lpc.asl
8 * SPDX-License-Identifier: GPL-2.0+
11 /* Intel LPC Bus Device - 0:1f.0 */
15 Name(_ADR, 0x001f0000)
17 OperationRegion(LPC0, PCI_Config, 0x00, 0x100)
18 Field(LPC0, AnyAcc, NoLock, Preserve) {
26 #include "irqlinks.asl"
31 Name(_HID, EISAID("INT0800"))
32 Name(_CRS, ResourceTemplate()
34 Memory32Fixed(ReadOnly, 0xff000000, 0x01000000)
38 /* 8259 Interrupt Controller */
41 Name(_HID, EISAID("PNP0000"))
42 Name(_CRS, ResourceTemplate()
44 IO(Decode16, 0x20, 0x20, 0x01, 0x02)
45 IO(Decode16, 0x24, 0x24, 0x01, 0x02)
46 IO(Decode16, 0x28, 0x28, 0x01, 0x02)
47 IO(Decode16, 0x2c, 0x2c, 0x01, 0x02)
48 IO(Decode16, 0x30, 0x30, 0x01, 0x02)
49 IO(Decode16, 0x34, 0x34, 0x01, 0x02)
50 IO(Decode16, 0x38, 0x38, 0x01, 0x02)
51 IO(Decode16, 0x3c, 0x3c, 0x01, 0x02)
52 IO(Decode16, 0xa0, 0xa0, 0x01, 0x02)
53 IO(Decode16, 0xa4, 0xa4, 0x01, 0x02)
54 IO(Decode16, 0xa8, 0xa8, 0x01, 0x02)
55 IO(Decode16, 0xac, 0xac, 0x01, 0x02)
56 IO(Decode16, 0xb0, 0xb0, 0x01, 0x02)
57 IO(Decode16, 0xb4, 0xb4, 0x01, 0x02)
58 IO(Decode16, 0xb8, 0xb8, 0x01, 0x02)
59 IO(Decode16, 0xbc, 0xbc, 0x01, 0x02)
60 IO(Decode16, 0x4d0, 0x4d0, 0x01, 0x02)
68 Name(_HID, EISAID("PNP0100"))
69 Name(_CRS, ResourceTemplate()
71 IO(Decode16, 0x40, 0x40, 0x01, 0x04)
72 IO(Decode16, 0x50, 0x50, 0x10, 0x04)
80 Name(_HID, EISAID("PNP0103"))
81 Name(_CID, 0x010CD041)
82 Name(_CRS, ResourceTemplate()
84 Memory32Fixed(ReadOnly, HPET_BASE_ADDRESS, HPET_BASE_SIZE)
96 Name(_HID, EISAID("PNP0501"))
99 Method(_STA, 0, Serialized)
104 * Need to hide the internal UART depending on whether
105 * internal UART is enabled or not so that external
106 * SuperIO UART can be exposed to system.
115 Method(_DIS, 0, Serialized)
122 Method(_CRS, 0, Serialized)
124 Name(BUF0, ResourceTemplate()
126 IO(Decode16, 0x03f8, 0x03f8, 0x01, 0x08)
130 Name(BUF1, ResourceTemplate()
132 IO(Decode16, 0x03f8, 0x03f8, 0x01, 0x08)
136 If (LLessEqual(SRID, 0x04)) {
144 /* Real Time Clock */
147 Name(_HID, EISAID("PNP0B00"))
148 Name(_CRS, ResourceTemplate()
150 IO(Decode16, 0x70, 0x70, 1, 8)
152 * Disable as Windows doesn't like it, and systems
153 * don't seem to use it
155 /* IRQNoFlags() { 8 } */
159 /* LPC device: Resource consumption */
162 Name(_HID, EISAID("PNP0C02"))
165 Name(RBUF, ResourceTemplate()
167 IO(Decode16, 0x61, 0x61, 0x1, 0x01) /* NMI Status */
168 IO(Decode16, 0x63, 0x63, 0x1, 0x01) /* CPU Reserved */
169 IO(Decode16, 0x65, 0x65, 0x1, 0x01) /* CPU Reserved */
170 IO(Decode16, 0x67, 0x67, 0x1, 0x01) /* CPU Reserved */
171 IO(Decode16, 0x80, 0x80, 0x1, 0x01) /* Port 80 Post */
172 IO(Decode16, 0x92, 0x92, 0x1, 0x01) /* CPU Reserved */
173 IO(Decode16, 0xb2, 0xb2, 0x1, 0x02) /* SWSMI */
176 Method(_CRS, 0, NotSerialized)