blob: 6c9c9694f9c9278cd8bad1588e8cbce8811547bf [file] [log] [blame]
Angel Pons182dbde2020-04-02 23:49:05 +02001/* SPDX-License-Identifier: GPL-2.0-only */
Stefan Reinauercc46e732009-03-13 00:44:09 +00002
Stefan Reinaueraca6ec62009-10-26 17:12:21 +00003/* Intel 82801Gx support */
Stefan Reinauercc46e732009-03-13 00:44:09 +00004
Elyes HAOUAS484efff2018-12-20 08:46:02 +01005#include "../i82801gx.h"
6
Stefan Reinauercc46e732009-03-13 00:44:09 +00007Scope(\)
8{
9 // IO-Trap at 0x800. This is the ACPI->SMI communication interface.
10
11 OperationRegion(IO_T, SystemIO, 0x800, 0x10)
12 Field(IO_T, ByteAcc, NoLock, Preserve)
13 {
14 Offset(0x8),
15 TRP0, 8 // IO-Trap at 0x808
16 }
17
18 // ICH7 Power Management Registers, located at PMBASE (0x1f.0 0x40.l)
Stefan Reinaueraca6ec62009-10-26 17:12:21 +000019 OperationRegion(PMIO, SystemIO, DEFAULT_PMBASE, 0x80)
Stefan Reinauercc46e732009-03-13 00:44:09 +000020 Field(PMIO, ByteAcc, NoLock, Preserve)
21 {
22 Offset(0x42), // General Purpose Control
23 , 1, // skip 1 bit
24 GPEC, 1, // TCO status
25 , 9, // skip 9 more bits
26 SCIS, 1, // TCO DMI status
27 , 6 // To the end of the word
28 }
29
30 // ICH7 GPIO IO mapped registers (0x1f.0 reg 0x48.l)
Stefan Reinaueraca6ec62009-10-26 17:12:21 +000031 OperationRegion(GPIO, SystemIO, DEFAULT_GPIOBASE, 0x3c)
Stefan Reinauercc46e732009-03-13 00:44:09 +000032 Field(GPIO, ByteAcc, NoLock, Preserve)
33 {
Elyes HAOUAS80505a62019-03-01 11:07:06 +010034 // GPIO Use Select
Stefan Reinauercc46e732009-03-13 00:44:09 +000035 GU00, 8,
36 GU01, 8,
37 GU02, 8,
38 GU03, 8,
Elyes HAOUAS80505a62019-03-01 11:07:06 +010039 // GPIO IO Select
Stefan Reinauercc46e732009-03-13 00:44:09 +000040 GIO0, 8,
41 GIO1, 8,
42 GIO2, 8,
43 GIO3, 8,
44 Offset(0x0c), // GPIO Level
Sven Schnelle8a539b62011-04-01 07:28:35 +000045 GP00, 1,
46 GP01, 1,
47 GP02, 1,
48 GP03, 1,
49 GP04, 1,
50 GP05, 1,
Stefan Tauner1758e732018-08-04 22:03:12 +020051 GP06, 1,
Sven Schnelle8a539b62011-04-01 07:28:35 +000052 GP07, 1,
Stefan Reinaueraca6ec62009-10-26 17:12:21 +000053 GP08, 1,
Stefan Tauner1758e732018-08-04 22:03:12 +020054 GP09, 1,
55 GP10, 1,
Sven Schnelle8a539b62011-04-01 07:28:35 +000056 GP11, 1,
Stefan Tauner1758e732018-08-04 22:03:12 +020057 GP12, 1,
58 GP13, 1,
59 GP14, 1,
60 GP15, 1,
Sven Schnelle8a539b62011-04-01 07:28:35 +000061 GP16, 1,
Stefan Reinaueraca6ec62009-10-26 17:12:21 +000062 GP17, 1,
Stefan Tauner1758e732018-08-04 22:03:12 +020063 GP18, 1,
64 GP19, 1,
65 GP20, 1,
Sven Schnelle8a539b62011-04-01 07:28:35 +000066 GP21, 1,
Stefan Reinaueraca6ec62009-10-26 17:12:21 +000067 GP22, 1,
Stefan Tauner1758e732018-08-04 22:03:12 +020068 GP23, 1,
69 GP24, 1,
70 GP25, 1,
71 GP26, 1,
72 GP27, 1,
Sven Schnelle8a539b62011-04-01 07:28:35 +000073 GP28, 1,
Stefan Reinaueraca6ec62009-10-26 17:12:21 +000074 GP29, 1,
75 GP30, 1,
76 GP31, 1,
Stefan Reinauercc46e732009-03-13 00:44:09 +000077 Offset(0x18), // GPIO Blink
78 GB00, 8,
79 GB01, 8,
80 GB02, 8,
81 GB03, 8,
82 Offset(0x2c), // GPIO Invert
83 GIV0, 8,
84 GIV1, 8,
85 GIV2, 8,
86 GIV3, 8,
Elyes HAOUAS80505a62019-03-01 11:07:06 +010087 // GPIO Use Select 2
Stefan Reinauercc46e732009-03-13 00:44:09 +000088 GU04, 8,
89 GU05, 8,
90 GU06, 8,
91 GU07, 8,
Elyes HAOUAS80505a62019-03-01 11:07:06 +010092 // GPIO IO Select 2
Stefan Reinauercc46e732009-03-13 00:44:09 +000093 GIO4, 8,
94 GIO5, 8,
95 GIO6, 8,
96 GIO7, 8,
Elyes HAOUAS80505a62019-03-01 11:07:06 +010097 // GPIO Level 2
Stefan Reinaueraca6ec62009-10-26 17:12:21 +000098 GP32, 1,
Stefan Tauner1758e732018-08-04 22:03:12 +020099 GP33, 1,
100 GP34, 1,
Stefan Reinaueraca6ec62009-10-26 17:12:21 +0000101 GP35, 1,
Stefan Tauner1758e732018-08-04 22:03:12 +0200102 GP36, 1,
103 GP37, 1,
104 GP38, 1,
105 GP39, 1,
Stefan Reinauercc46e732009-03-13 00:44:09 +0000106 GL05, 8,
107 GL06, 8,
108 GL07, 8
109 }
110
111
112 // ICH7 Root Complex Register Block. Memory Mapped through RCBA)
Angel Ponsb70ff522021-01-28 14:27:46 +0100113 OperationRegion(RCRB, SystemMemory, CONFIG_FIXED_RCBA_MMIO_BASE, CONFIG_RCBA_LENGTH)
Stefan Reinauercc46e732009-03-13 00:44:09 +0000114 Field(RCRB, DWordAcc, Lock, Preserve)
115 {
Elyes HAOUAS80505a62019-03-01 11:07:06 +0100116 // Backbone
Stefan Reinauercc46e732009-03-13 00:44:09 +0000117 Offset(0x1000), // Chipset
118 Offset(0x3000), // Legacy Configuration Registers
119 Offset(0x3404), // High Performance Timer Configuration
Elyes HAOUASb0f19882018-06-09 11:59:00 +0200120 HPAS, 2, // Address Select
Stefan Reinauercc46e732009-03-13 00:44:09 +0000121 , 5,
122 HPTE, 1, // Address Enable
123 Offset(0x3418), // FD (Function Disable)
Stefan Reinauer573f7d42009-07-21 21:50:34 +0000124 , 1, // Reserved
Stefan Reinauercc46e732009-03-13 00:44:09 +0000125 PATD, 1, // PATA disable
126 SATD, 1, // SATA disable
127 SMBD, 1, // SMBUS disable
128 HDAD, 1, // Azalia disable
Stefan Reinauer573f7d42009-07-21 21:50:34 +0000129 A97D, 1, // AC'97 disable
130 M97D, 1, // AC'97 disable
131 ILND, 1, // Internal LAN disable
132 US1D, 1, // UHCI #1 disable
133 US2D, 1, // UHCI #2 disable
134 US3D, 1, // UHCI #3 disable
135 US4D, 1, // UHCI #4 disable
136 , 2, // Reserved
137 LPBD, 1, // LPC bridge disable
138 EHCD, 1, // EHCI disable
Elyes HAOUAS80505a62019-03-01 11:07:06 +0100139 // FD Root Ports
Stefan Reinauercc46e732009-03-13 00:44:09 +0000140 RP1D, 1, // Root Port 1 disable
141 RP2D, 1, // Root Port 2 disable
142 RP3D, 1, // Root Port 3 disable
143 RP4D, 1, // Root Port 4 disable
144 RP5D, 1, // Root Port 5 disable
145 RP6D, 1 // Root Port 6 disable
146 }
Stefan Reinauer109ab312009-08-12 16:08:05 +0000147
Stefan Reinauercc46e732009-03-13 00:44:09 +0000148}
149
150// 0:1b.0 High Definition Audio (Azalia)
Angel Ponsb6427b02020-07-07 01:29:40 +0200151#include <southbridge/intel/common/acpi/audio_ich.asl>
Stefan Reinauercc46e732009-03-13 00:44:09 +0000152
153// PCI Express Ports
Arthur Heymansdff185a2018-12-30 12:59:39 +0100154#include <southbridge/intel/common/acpi/pcie.asl>
Stefan Reinauercc46e732009-03-13 00:44:09 +0000155
156// USB
Patrick Georgi334328a2012-02-16 19:01:22 +0100157#include "usb.asl"
Stefan Reinauercc46e732009-03-13 00:44:09 +0000158
159// PCI Bridge
Patrick Georgi334328a2012-02-16 19:01:22 +0100160#include "pci.asl"
Stefan Reinauercc46e732009-03-13 00:44:09 +0000161
Stefan Reinauer573f7d42009-07-21 21:50:34 +0000162// AC97 Audio and Modem
Patrick Georgi334328a2012-02-16 19:01:22 +0100163#include "ac97.asl"
Stefan Reinauer573f7d42009-07-21 21:50:34 +0000164
Stefan Reinauercc46e732009-03-13 00:44:09 +0000165// LPC Bridge
Patrick Georgi334328a2012-02-16 19:01:22 +0100166#include "lpc.asl"
Stefan Reinauercc46e732009-03-13 00:44:09 +0000167
168// PATA
Patrick Georgi334328a2012-02-16 19:01:22 +0100169#include "pata.asl"
Stefan Reinauercc46e732009-03-13 00:44:09 +0000170
171// SATA
Patrick Georgi334328a2012-02-16 19:01:22 +0100172#include "sata.asl"
Stefan Reinauercc46e732009-03-13 00:44:09 +0000173
174// SMBus
Elyes HAOUAS085ab5a2019-10-31 10:12:02 +0100175#include <southbridge/intel/common/acpi/smbus.asl>