blob: 2e7233d9480457c3d5618cf7fbd7791572aacdc4 [file] [log] [blame]
Stefan Reinauercc46e732009-03-13 00:44:09 +00001/*
2 * This file is part of the coreboot project.
3 *
4 * Copyright (C) 2007-2009 coresystems GmbH
5 *
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
9 * the License.
10 *
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.
15 *
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,
19 * MA 02110-1301 USA
20 */
21
22/* Intel i82801G support
23 */
24
25Scope(\)
26{
27 // IO-Trap at 0x800. This is the ACPI->SMI communication interface.
28
29 OperationRegion(IO_T, SystemIO, 0x800, 0x10)
30 Field(IO_T, ByteAcc, NoLock, Preserve)
31 {
32 Offset(0x8),
33 TRP0, 8 // IO-Trap at 0x808
34 }
35
36 // ICH7 Power Management Registers, located at PMBASE (0x1f.0 0x40.l)
37 // this doesn't work as ACPI initializes regions and packages first, devices second.
38 // use dynamic operation region? if so, how? XXX
39 //OperationRegion(PMIO, SystemIO, And(\_SB_.PCI0.LPCB.PMBS, 0xfffc), 0x80)
40 OperationRegion(PMIO, SystemIO, 0x500, 0x80)
41 Field(PMIO, ByteAcc, NoLock, Preserve)
42 {
43 Offset(0x42), // General Purpose Control
44 , 1, // skip 1 bit
45 GPEC, 1, // TCO status
46 , 9, // skip 9 more bits
47 SCIS, 1, // TCO DMI status
48 , 6 // To the end of the word
49 }
50
51 // ICH7 GPIO IO mapped registers (0x1f.0 reg 0x48.l)
52 OperationRegion(GPIO, SystemIO, 0x1180, 0x3c)
53 Field(GPIO, ByteAcc, NoLock, Preserve)
54 {
55 Offset(0x00), // GPIO Use Select
56 GU00, 8,
57 GU01, 8,
58 GU02, 8,
59 GU03, 8,
60 Offset(0x04), // GPIO IO Select
61 GIO0, 8,
62 GIO1, 8,
63 GIO2, 8,
64 GIO3, 8,
65 Offset(0x0c), // GPIO Level
66 GL00, 8,
67 GL01, 8,
68 , 3,
69 GP27, 1, // SATA_PWR_EN #0
70 GP28, 1, // SATA_PWR_EN #1
71 , 3,
72 Offset(0x18), // GPIO Blink
73 GB00, 8,
74 GB01, 8,
75 GB02, 8,
76 GB03, 8,
77 Offset(0x2c), // GPIO Invert
78 GIV0, 8,
79 GIV1, 8,
80 GIV2, 8,
81 GIV3, 8,
82 Offset(0x30), // GPIO Use Select 2
83 GU04, 8,
84 GU05, 8,
85 GU06, 8,
86 GU07, 8,
87 Offset(0x34), // GPIO IO Select 2
88 GIO4, 8,
89 GIO5, 8,
90 GIO6, 8,
91 GIO7, 8,
92 Offset(0x38), // GPIO Level 2
93 , 5,
94 GP37, 1, // PATA_PWR_EN
95 , 2,
96 GL05, 8,
97 GL06, 8,
98 GL07, 8
99 }
100
101
102 // ICH7 Root Complex Register Block. Memory Mapped through RCBA)
103 OperationRegion(RCRB, SystemMemory, 0xfff1000, 0x4000)
104 Field(RCRB, DWordAcc, Lock, Preserve)
105 {
106 Offset(0x0000), // Backbone
107 Offset(0x1000), // Chipset
108 Offset(0x3000), // Legacy Configuration Registers
109 Offset(0x3404), // High Performance Timer Configuration
110 HPAS, 2, // Address Select
111 , 5,
112 HPTE, 1, // Address Enable
113 Offset(0x3418), // FD (Function Disable)
114 , 1,
115 PATD, 1, // PATA disable
116 SATD, 1, // SATA disable
117 SMBD, 1, // SMBUS disable
118 HDAD, 1, // Azalia disable
119 , 11, // ... FIXME
120 RP1D, 1, // Root Port 1 disable
121 RP2D, 1, // Root Port 2 disable
122 RP3D, 1, // Root Port 3 disable
123 RP4D, 1, // Root Port 4 disable
124 RP5D, 1, // Root Port 5 disable
125 RP6D, 1 // Root Port 6 disable
126 }
127
128}
129
130// 0:1b.0 High Definition Audio (Azalia)
131Include ("../../../southbridge/intel/i82801gx/acpi/ich7_audio.asl")
132
133// PCI Express Ports
134Include ("../../../southbridge/intel/i82801gx/acpi/ich7_pcie.asl")
135
136// USB
137Include ("../../../southbridge/intel/i82801gx/acpi/ich7_usb.asl")
138
139// PCI Bridge
140Include ("../../../southbridge/intel/i82801gx/acpi/ich7_pci.asl")
141
142// LPC Bridge
143Include ("../../../southbridge/intel/i82801gx/acpi/ich7_lpc.asl")
144
145// PATA
146Include ("../../../southbridge/intel/i82801gx/acpi/ich7_pata.asl")
147
148// SATA
149Include ("../../../southbridge/intel/i82801gx/acpi/ich7_sata.asl")
150
151// SMBus
152Include ("../../../southbridge/intel/i82801gx/acpi/ich7_smbus.asl")
153
154