blob: 067b05f6de31af71fb5e7e76c2fac1049a4a1a62 [file] [log] [blame]
Lee Leahy77ff0b12015-05-05 15:07:29 -07001/*
2 * This file is part of the coreboot project.
3 *
4 * Copyright (C) 2007-2009 coresystems GmbH
5 * Copyright (C) 2013 Google Inc.
Frans Hendriksf2af7022018-11-16 12:08:41 +01006 * Copyright (C) 2018 Eltan B.V.
Lee Leahy77ff0b12015-05-05 15:07:29 -07007 *
8 * This program is free software; you can redistribute it and/or
9 * modify it under the terms of the GNU General Public License as
10 * published by the Free Software Foundation; version 2 of
11 * the License.
12 *
13 * This program is distributed in the hope that it will be useful,
14 * but WITHOUT ANY WARRANTY; without even the implied warranty of
15 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16 * GNU General Public License for more details.
Lee Leahy77ff0b12015-05-05 15:07:29 -070017 */
18
Lee Leahy32471722015-04-20 15:20:28 -070019/* Intel LPC Bus Device - 0:1f.0 */
Lee Leahy77ff0b12015-05-05 15:07:29 -070020
21Device (LPCB)
22{
23 Name(_ADR, 0x001f0000)
24
25 #include "irqlinks.asl"
26
27 #include "acpi/ec.asl"
28
Lee Leahy32471722015-04-20 15:20:28 -070029 Device (DMAC) /* DMA Controller */
Lee Leahy77ff0b12015-05-05 15:07:29 -070030 {
31 Name(_HID, EISAID("PNP0200"))
32 Name(_CRS, ResourceTemplate()
33 {
34 IO (Decode16, 0x00, 0x00, 0x01, 0x20)
35 IO (Decode16, 0x81, 0x81, 0x01, 0x11)
36 IO (Decode16, 0x93, 0x93, 0x01, 0x0d)
37 IO (Decode16, 0xc0, 0xc0, 0x01, 0x20)
38 DMA (Compatibility, NotBusMaster, Transfer8_16) { 4 }
39 })
40 }
41
Lee Leahy32471722015-04-20 15:20:28 -070042 Device (FWH) /* Firmware Hub */
Lee Leahy77ff0b12015-05-05 15:07:29 -070043 {
44 Name (_HID, EISAID("INT0800"))
45 Name (_CRS, ResourceTemplate()
46 {
47 Memory32Fixed(ReadOnly, 0xff000000, 0x01000000)
48 })
49 }
50
Frans Hendriksf2af7022018-11-16 12:08:41 +010051#if !IS_ENABLED(CONFIG_DISABLE_HPET)
Lee Leahy77ff0b12015-05-05 15:07:29 -070052 Device (HPET)
53 {
54 Name (_HID, EISAID("PNP0103"))
55 Name (_CID, 0x010CD041)
56
Lee Leahy32471722015-04-20 15:20:28 -070057 Method (_STA, 0) /* Device Status */
Lee Leahy77ff0b12015-05-05 15:07:29 -070058 {
Lee Leahy32471722015-04-20 15:20:28 -070059 Return (0xf) /* Enable and show device */
Lee Leahy77ff0b12015-05-05 15:07:29 -070060 }
61
62 Name(_CRS, ResourceTemplate()
63 {
64 Memory32Fixed(ReadOnly, 0xfed00000, 0x400)
65 })
66 }
Frans Hendriksf2af7022018-11-16 12:08:41 +010067#endif
Lee Leahy77ff0b12015-05-05 15:07:29 -070068
Lee Leahy32471722015-04-20 15:20:28 -070069 Device(PIC) /* 8259 Interrupt Controller */
Lee Leahy77ff0b12015-05-05 15:07:29 -070070 {
71 Name(_HID,EISAID("PNP0000"))
72 Name(_CRS, ResourceTemplate()
73 {
74 IO (Decode16, 0x20, 0x20, 0x01, 0x02)
75 IO (Decode16, 0x24, 0x24, 0x01, 0x02)
76 IO (Decode16, 0x28, 0x28, 0x01, 0x02)
77 IO (Decode16, 0x2c, 0x2c, 0x01, 0x02)
78 IO (Decode16, 0x30, 0x30, 0x01, 0x02)
79 IO (Decode16, 0x34, 0x34, 0x01, 0x02)
80 IO (Decode16, 0x38, 0x38, 0x01, 0x02)
81 IO (Decode16, 0x3c, 0x3c, 0x01, 0x02)
82 IO (Decode16, 0xa0, 0xa0, 0x01, 0x02)
83 IO (Decode16, 0xa4, 0xa4, 0x01, 0x02)
84 IO (Decode16, 0xa8, 0xa8, 0x01, 0x02)
85 IO (Decode16, 0xac, 0xac, 0x01, 0x02)
86 IO (Decode16, 0xb0, 0xb0, 0x01, 0x02)
87 IO (Decode16, 0xb4, 0xb4, 0x01, 0x02)
88 IO (Decode16, 0xb8, 0xb8, 0x01, 0x02)
89 IO (Decode16, 0xbc, 0xbc, 0x01, 0x02)
90 IO (Decode16, 0x4d0, 0x4d0, 0x01, 0x02)
91 IRQNoFlags () { 2 }
92 })
93 }
94
Lee Leahy32471722015-04-20 15:20:28 -070095 Device(LDRC) /* LPC device: Resource consumption */
Lee Leahy77ff0b12015-05-05 15:07:29 -070096 {
97 Name (_HID, EISAID("PNP0C02"))
98 Name (_UID, 2)
99
100 Name (RBUF, ResourceTemplate()
101 {
Lee Leahy32471722015-04-20 15:20:28 -0700102 IO (Decode16, 0x61, 0x61, 0x1, 0x01) /* NMI Status */
103 IO (Decode16, 0x63, 0x63, 0x1, 0x01) /* CPU Reserved */
104 IO (Decode16, 0x65, 0x65, 0x1, 0x01) /* CPU Reserved */
105 IO (Decode16, 0x67, 0x67, 0x1, 0x01) /* CPU Reserved */
106 IO (Decode16, 0x80, 0x80, 0x1, 0x01) /* Port 80 Post */
107 IO (Decode16, 0x92, 0x92, 0x1, 0x01) /* CPU Reserved */
108 IO (Decode16, 0xb2, 0xb2, 0x1, 0x02) /* SWSMI */
Frans Hendriksf01a1592018-10-31 10:07:11 +0100109 IO (Decode16, ACPI_BASE_ADDRESS, ACPI_BASE_ADDRESS,
110 0x1, ACPI_BASE_SIZE) /* ACPI Base */
111 IO (Decode16, GPIO_BASE_ADDRESS, GPIO_BASE_ADDRESS,
112 0x1, 0xff) /* GPIO Base */
Lee Leahy77ff0b12015-05-05 15:07:29 -0700113 })
114
115 Method (_CRS, 0, NotSerialized)
116 {
117 Return (RBUF)
118 }
119 }
120
Lee Leahy32471722015-04-20 15:20:28 -0700121 Device (RTC) /* Real Time Clock */
Lee Leahy77ff0b12015-05-05 15:07:29 -0700122 {
123 Name (_HID, EISAID("PNP0B00"))
124 Name (_CRS, ResourceTemplate()
125 {
126 IO (Decode16, 0x70, 0x70, 1, 8)
Lee Leahy32471722015-04-20 15:20:28 -0700127/*
128 * Disable as Windows doesn't like it, and systems don't seem to use it.
129 * IRQNoFlags() { 8 }
130 */
Lee Leahy77ff0b12015-05-05 15:07:29 -0700131 })
132 }
133
Lee Leahy32471722015-04-20 15:20:28 -0700134 Device (TIMR) /* Intel 8254 timer */
Lee Leahy77ff0b12015-05-05 15:07:29 -0700135 {
136 Name(_HID, EISAID("PNP0100"))
137 Name(_CRS, ResourceTemplate()
138 {
139 IO (Decode16, 0x40, 0x40, 0x01, 0x04)
140 IO (Decode16, 0x50, 0x50, 0x10, 0x04)
141 IRQNoFlags() {0}
142 })
143 }
144
Lee Leahy32471722015-04-20 15:20:28 -0700145 /* Include mainboard's superio.asl file. */
Lee Leahy77ff0b12015-05-05 15:07:29 -0700146 #include "acpi/superio.asl"
Lee Leahy77ff0b12015-05-05 15:07:29 -0700147}