blob: c3b9687255f7c75909c11078b09d7b9e8621510b [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.
Stefan Reinauercc46e732009-03-13 00:44:09 +000015 */
16
Stefan Reinaueraca6ec62009-10-26 17:12:21 +000017/* Intel 82801Gx support */
Stefan Reinauercc46e732009-03-13 00:44:09 +000018
Elyes HAOUAS484efff2018-12-20 08:46:02 +010019#include "../i82801gx.h"
20
Stefan Reinauercc46e732009-03-13 00:44:09 +000021Scope(\)
22{
23 // IO-Trap at 0x800. This is the ACPI->SMI communication interface.
24
25 OperationRegion(IO_T, SystemIO, 0x800, 0x10)
26 Field(IO_T, ByteAcc, NoLock, Preserve)
27 {
28 Offset(0x8),
29 TRP0, 8 // IO-Trap at 0x808
30 }
31
32 // ICH7 Power Management Registers, located at PMBASE (0x1f.0 0x40.l)
Stefan Reinaueraca6ec62009-10-26 17:12:21 +000033 OperationRegion(PMIO, SystemIO, DEFAULT_PMBASE, 0x80)
Stefan Reinauercc46e732009-03-13 00:44:09 +000034 Field(PMIO, ByteAcc, NoLock, Preserve)
35 {
36 Offset(0x42), // General Purpose Control
37 , 1, // skip 1 bit
38 GPEC, 1, // TCO status
39 , 9, // skip 9 more bits
40 SCIS, 1, // TCO DMI status
41 , 6 // To the end of the word
42 }
43
44 // ICH7 GPIO IO mapped registers (0x1f.0 reg 0x48.l)
Stefan Reinaueraca6ec62009-10-26 17:12:21 +000045 OperationRegion(GPIO, SystemIO, DEFAULT_GPIOBASE, 0x3c)
Stefan Reinauercc46e732009-03-13 00:44:09 +000046 Field(GPIO, ByteAcc, NoLock, Preserve)
47 {
Elyes HAOUAS80505a62019-03-01 11:07:06 +010048 // GPIO Use Select
Stefan Reinauercc46e732009-03-13 00:44:09 +000049 GU00, 8,
50 GU01, 8,
51 GU02, 8,
52 GU03, 8,
Elyes HAOUAS80505a62019-03-01 11:07:06 +010053 // GPIO IO Select
Stefan Reinauercc46e732009-03-13 00:44:09 +000054 GIO0, 8,
55 GIO1, 8,
56 GIO2, 8,
57 GIO3, 8,
58 Offset(0x0c), // GPIO Level
Sven Schnelle8a539b62011-04-01 07:28:35 +000059 GP00, 1,
60 GP01, 1,
61 GP02, 1,
62 GP03, 1,
63 GP04, 1,
64 GP05, 1,
Stefan Tauner1758e732018-08-04 22:03:12 +020065 GP06, 1,
Sven Schnelle8a539b62011-04-01 07:28:35 +000066 GP07, 1,
Stefan Reinaueraca6ec62009-10-26 17:12:21 +000067 GP08, 1,
Stefan Tauner1758e732018-08-04 22:03:12 +020068 GP09, 1,
69 GP10, 1,
Sven Schnelle8a539b62011-04-01 07:28:35 +000070 GP11, 1,
Stefan Tauner1758e732018-08-04 22:03:12 +020071 GP12, 1,
72 GP13, 1,
73 GP14, 1,
74 GP15, 1,
Sven Schnelle8a539b62011-04-01 07:28:35 +000075 GP16, 1,
Stefan Reinaueraca6ec62009-10-26 17:12:21 +000076 GP17, 1,
Stefan Tauner1758e732018-08-04 22:03:12 +020077 GP18, 1,
78 GP19, 1,
79 GP20, 1,
Sven Schnelle8a539b62011-04-01 07:28:35 +000080 GP21, 1,
Stefan Reinaueraca6ec62009-10-26 17:12:21 +000081 GP22, 1,
Stefan Tauner1758e732018-08-04 22:03:12 +020082 GP23, 1,
83 GP24, 1,
84 GP25, 1,
85 GP26, 1,
86 GP27, 1,
Sven Schnelle8a539b62011-04-01 07:28:35 +000087 GP28, 1,
Stefan Reinaueraca6ec62009-10-26 17:12:21 +000088 GP29, 1,
89 GP30, 1,
90 GP31, 1,
Stefan Reinauercc46e732009-03-13 00:44:09 +000091 Offset(0x18), // GPIO Blink
92 GB00, 8,
93 GB01, 8,
94 GB02, 8,
95 GB03, 8,
96 Offset(0x2c), // GPIO Invert
97 GIV0, 8,
98 GIV1, 8,
99 GIV2, 8,
100 GIV3, 8,
Elyes HAOUAS80505a62019-03-01 11:07:06 +0100101 // GPIO Use Select 2
Stefan Reinauercc46e732009-03-13 00:44:09 +0000102 GU04, 8,
103 GU05, 8,
104 GU06, 8,
105 GU07, 8,
Elyes HAOUAS80505a62019-03-01 11:07:06 +0100106 // GPIO IO Select 2
Stefan Reinauercc46e732009-03-13 00:44:09 +0000107 GIO4, 8,
108 GIO5, 8,
109 GIO6, 8,
110 GIO7, 8,
Elyes HAOUAS80505a62019-03-01 11:07:06 +0100111 // GPIO Level 2
Stefan Reinaueraca6ec62009-10-26 17:12:21 +0000112 GP32, 1,
Stefan Tauner1758e732018-08-04 22:03:12 +0200113 GP33, 1,
114 GP34, 1,
Stefan Reinaueraca6ec62009-10-26 17:12:21 +0000115 GP35, 1,
Stefan Tauner1758e732018-08-04 22:03:12 +0200116 GP36, 1,
117 GP37, 1,
118 GP38, 1,
119 GP39, 1,
Stefan Reinauercc46e732009-03-13 00:44:09 +0000120 GL05, 8,
121 GL06, 8,
122 GL07, 8
123 }
124
125
126 // ICH7 Root Complex Register Block. Memory Mapped through RCBA)
Stefan Reinaueraca6ec62009-10-26 17:12:21 +0000127 OperationRegion(RCRB, SystemMemory, DEFAULT_RCBA, 0x4000)
Stefan Reinauercc46e732009-03-13 00:44:09 +0000128 Field(RCRB, DWordAcc, Lock, Preserve)
129 {
Elyes HAOUAS80505a62019-03-01 11:07:06 +0100130 // Backbone
Stefan Reinauercc46e732009-03-13 00:44:09 +0000131 Offset(0x1000), // Chipset
132 Offset(0x3000), // Legacy Configuration Registers
133 Offset(0x3404), // High Performance Timer Configuration
Elyes HAOUASb0f19882018-06-09 11:59:00 +0200134 HPAS, 2, // Address Select
Stefan Reinauercc46e732009-03-13 00:44:09 +0000135 , 5,
136 HPTE, 1, // Address Enable
137 Offset(0x3418), // FD (Function Disable)
Stefan Reinauer573f7d42009-07-21 21:50:34 +0000138 , 1, // Reserved
Stefan Reinauercc46e732009-03-13 00:44:09 +0000139 PATD, 1, // PATA disable
140 SATD, 1, // SATA disable
141 SMBD, 1, // SMBUS disable
142 HDAD, 1, // Azalia disable
Stefan Reinauer573f7d42009-07-21 21:50:34 +0000143 A97D, 1, // AC'97 disable
144 M97D, 1, // AC'97 disable
145 ILND, 1, // Internal LAN disable
146 US1D, 1, // UHCI #1 disable
147 US2D, 1, // UHCI #2 disable
148 US3D, 1, // UHCI #3 disable
149 US4D, 1, // UHCI #4 disable
150 , 2, // Reserved
151 LPBD, 1, // LPC bridge disable
152 EHCD, 1, // EHCI disable
Elyes HAOUAS80505a62019-03-01 11:07:06 +0100153 // FD Root Ports
Stefan Reinauercc46e732009-03-13 00:44:09 +0000154 RP1D, 1, // Root Port 1 disable
155 RP2D, 1, // Root Port 2 disable
156 RP3D, 1, // Root Port 3 disable
157 RP4D, 1, // Root Port 4 disable
158 RP5D, 1, // Root Port 5 disable
159 RP6D, 1 // Root Port 6 disable
160 }
Stefan Reinauer109ab312009-08-12 16:08:05 +0000161
Stefan Reinauercc46e732009-03-13 00:44:09 +0000162}
163
164// 0:1b.0 High Definition Audio (Azalia)
Patrick Georgi334328a2012-02-16 19:01:22 +0100165#include "audio.asl"
Stefan Reinauercc46e732009-03-13 00:44:09 +0000166
167// PCI Express Ports
Arthur Heymansdff185a2018-12-30 12:59:39 +0100168#include <southbridge/intel/common/acpi/pcie.asl>
Stefan Reinauercc46e732009-03-13 00:44:09 +0000169
170// USB
Patrick Georgi334328a2012-02-16 19:01:22 +0100171#include "usb.asl"
Stefan Reinauercc46e732009-03-13 00:44:09 +0000172
173// PCI Bridge
Patrick Georgi334328a2012-02-16 19:01:22 +0100174#include "pci.asl"
Stefan Reinauercc46e732009-03-13 00:44:09 +0000175
Stefan Reinauer573f7d42009-07-21 21:50:34 +0000176// AC97 Audio and Modem
Patrick Georgi334328a2012-02-16 19:01:22 +0100177#include "ac97.asl"
Stefan Reinauer573f7d42009-07-21 21:50:34 +0000178
Stefan Reinauercc46e732009-03-13 00:44:09 +0000179// LPC Bridge
Patrick Georgi334328a2012-02-16 19:01:22 +0100180#include "lpc.asl"
Stefan Reinauercc46e732009-03-13 00:44:09 +0000181
182// PATA
Patrick Georgi334328a2012-02-16 19:01:22 +0100183#include "pata.asl"
Stefan Reinauercc46e732009-03-13 00:44:09 +0000184
185// SATA
Patrick Georgi334328a2012-02-16 19:01:22 +0100186#include "sata.asl"
Stefan Reinauercc46e732009-03-13 00:44:09 +0000187
188// SMBus
Elyes HAOUAS085ab5a2019-10-31 10:12:02 +0100189#include <southbridge/intel/common/acpi/smbus.asl>