2 * This file is part of the coreboot project.
4 * Copyright (C) 2007-2009 coresystems GmbH
6 * This program is free software; you can redistribute it and/or
7 * modify it under the terms of the GNU General Public License as
8 * published by the Free Software Foundation; version 2 of
11 * This program is distributed in the hope that it will be useful,
12 * but WITHOUT ANY WARRANTY; without even the implied warranty of
13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 * GNU General Public License for more details.
16 * You should have received a copy of the GNU General Public License
17 * along with this program; if not, write to the Free Software
18 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston,
22 /* Intel Cougar Point PCH support */
26 // IO-Trap at 0x800. This is the ACPI->SMI communication interface.
28 OperationRegion(IO_T, SystemIO, 0x800, 0x10)
29 Field(IO_T, ByteAcc, NoLock, Preserve)
32 TRP0, 8 // IO-Trap at 0x808
35 // PCH Power Management Registers, located at PMBASE (0x1f.0 0x40.l)
36 OperationRegion(PMIO, SystemIO, DEFAULT_PMBASE, 0x80)
37 Field(PMIO, ByteAcc, NoLock, Preserve)
39 Offset(0x20), // GPE0_STS
41 GS00, 1, // GPIO00 SCI/Wake Status
42 GS01, 1, // GPIO01 SCI/Wake Status
43 GS02, 1, // GPIO02 SCI/Wake Status
44 GS03, 1, // GPIO03 SCI/Wake Status
45 GS04, 1, // GPIO04 SCI/Wake Status
46 GS05, 1, // GPIO05 SCI/Wake Status
47 GS06, 1, // GPIO06 SCI/Wake Status
48 GS07, 1, // GPIO07 SCI/Wake Status
49 GS08, 1, // GPIO08 SCI/Wake Status
50 GS09, 1, // GPIO09 SCI/Wake Status
51 GS10, 1, // GPIO10 SCI/Wake Status
52 GS11, 1, // GPIO11 SCI/Wake Status
53 GS12, 1, // GPIO12 SCI/Wake Status
54 GS13, 1, // GPIO13 SCI/Wake Status
55 GS14, 1, // GPIO14 SCI/Wake Status
56 GS15, 1, // GPIO15 SCI/Wake Status
57 Offset(0x28), // GPE0_EN
59 GE00, 1, // GPIO00 SCI/Wake Enable
60 GE01, 1, // GPIO01 SCI/Wake Enable
61 GE02, 1, // GPIO02 SCI/Wake Enable
62 GE03, 1, // GPIO03 SCI/Wake Enable
63 GE04, 1, // GPIO04 SCI/Wake Enable
64 GE05, 1, // GPIO05 SCI/Wake Enable
65 GE06, 1, // GPIO06 SCI/Wake Enable
66 GE07, 1, // GPIO07 SCI/Wake Enable
67 GE08, 1, // GPIO08 SCI/Wake Enable
68 GE09, 1, // GPIO09 SCI/Wake Enable
69 GE10, 1, // GPIO10 SCI/Wake Enable
70 GE11, 1, // GPIO11 SCI/Wake Enable
71 GE12, 1, // GPIO12 SCI/Wake Enable
72 GE13, 1, // GPIO13 SCI/Wake Enable
73 GE14, 1, // GPIO14 SCI/Wake Enable
74 GE15, 1, // GPIO15 SCI/Wake Enable
75 Offset(0x42), // General Purpose Control
77 GPEC, 1, // SWGPE_CTRL
80 // GPIO IO mapped registers (0x1f.0 reg 0x48.l)
81 OperationRegion(GPIO, SystemIO, DEFAULT_GPIOBASE, 0x6c)
82 Field(GPIO, ByteAcc, NoLock, Preserve)
84 Offset(0x00), // GPIO Use Select
89 Offset(0x04), // GPIO IO Select
94 Offset(0x0c), // GPIO Level
127 Offset(0x18), // GPIO Blink
132 Offset(0x2c), // GPIO Invert
137 Offset(0x30), // GPIO Use Select 2
142 Offset(0x34), // GPIO IO Select 2
147 Offset(0x38), // GPIO Level 2
180 Offset(0x40), // GPIO Use Select 3
183 Offset(0x44), // GPIO IO Select 3
186 Offset(0x48), // GPIO Level 3
202 // ICH7 Root Complex Register Block. Memory Mapped through RCBA)
203 OperationRegion(RCRB, SystemMemory, DEFAULT_RCBA, 0x4000)
204 Field(RCRB, DWordAcc, Lock, Preserve)
206 Offset(0x0000), // Backbone
207 Offset(0x1000), // Chipset
208 Offset(0x3000), // Legacy Configuration Registers
209 Offset(0x3404), // High Performance Timer Configuration
210 HPAS, 2, // Address Select
212 HPTE, 1, // Address Enable
213 Offset(0x3418), // FD (Function Disable)
215 SATD, 1, // SATA disable
216 SMBD, 1, // SMBUS disable
217 HDAD, 1, // Azalia disable
219 ILND, 1, // Internal LAN disable
220 US1D, 1, // UHCI #1 disable
221 US2D, 1, // UHCI #2 disable
222 US3D, 1, // UHCI #3 disable
223 US4D, 1, // UHCI #4 disable
225 LPBD, 1, // LPC bridge disable
226 EHCD, 1, // EHCI disable
227 Offset(0x341a), // FD Root Ports
228 RP1D, 1, // Root Port 1 disable
229 RP2D, 1, // Root Port 2 disable
230 RP3D, 1, // Root Port 3 disable
231 RP4D, 1 // Root Port 4 disable
236 // High Definition Audio (Azalia) 0:1b.0
239 // PCI Express Ports 0:1c.x
242 // USB 0:1d.0 and 0:1a.0
248 // SATA 0:1f.2, 0:1f.5
256 /* Check for proper GUID */
257 If (LEqual (Arg0, ToUUID("33DB4D5B-1FF7-401C-9657-7441C03DD766")))
259 /* Let OS control everything */
264 /* Unrecognized UUID */
265 CreateDWordField (Arg3, 0, CDW1)