blob: 5cd077baa1c62bd1db142689e9228d7e81c1588e [file] [log] [blame]
Kyösti Mälkki91162702011-11-03 15:22:01 +02001/*
2 * This file is part of the coreboot project.
3 *
4 * Copyright (C) 2011 Kyösti Mälkki <kyosti.malkki@gmail.com>
5 *
6 * This program is free software; you can redistribute it and/or modify
7 * it under the terms of the GNU General Public License as published by
8 * the Free Software Foundation; version 2 of the License.
9 *
10 * This program is distributed in the hope that it will be useful,
11 * but WITHOUT ANY WARRANTY; without even the implied warranty of
12 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 * GNU General Public License for more details.
Kyösti Mälkki91162702011-11-03 15:22:01 +020014 */
15
Elyes HAOUAS11949992019-03-12 10:40:08 +010016#include <arch/ioapic.h>
17
Kyösti Mälkki91162702011-11-03 15:22:01 +020018Device (USB0)
19{
20 Name (_ADR, 0x001D0000)
21 Name (_PRW, Package () { 0x03, 0x05 })
22
23 OperationRegion (USBS, PCI_Config, 0x00, 0x0100)
24 Field (USBS, ByteAcc, NoLock, Preserve)
25 {
26 Offset (0xC4), URES, 8
27 }
28}
29
30Device (USB1)
31{
32 Name (_ADR, 0x001D0001)
33 Name (_PRW, Package () { 0x04, 0x05 })
34 OperationRegion (USBS, PCI_Config, 0x00, 0x0100)
35 Field (USBS, ByteAcc, NoLock, Preserve)
36 {
37 Offset (0xC4), URES, 8
38 }
39}
40
41Device (USB2)
42{
43 Name (_ADR, 0x001D0002)
44 Name (_PRW, Package () { 0x0C, 0x05 })
45 OperationRegion (USBS, PCI_Config, 0x00, 0x0100)
46 Field (USBS, ByteAcc, NoLock, Preserve)
47 {
48 Offset (0xC4), URES, 8
49 }
50}
51
52Device (USB3)
53{
54 Name (_ADR, 0x001D0007)
55 Name (_PRW, Package () { 0x0D, 0x05 }) /* PME_B0_STS any 0:1d or 0:1f device */
56 OperationRegion (USBS, PCI_Config, 0x00, 0x0100)
57 Field (USBS, ByteAcc, NoLock, Preserve)
58 {
59 Offset (0xC4), URES, 8
60 }
61}
62
63Device(PCI5)
64{
65 Name (_ADR, 0x001E0000)
66 Name (_PRW, Package () { 0x0B, 0x05 }) /* PME# _STS */
67 Name (_PRT, Package() {
68 Package() { 0x0003ffff, 0, 0, 20 },
69 Package() { 0x0003ffff, 1, 0, 21 },
70 Package() { 0x0003ffff, 2, 0, 22 },
71 Package() { 0x0003ffff, 3, 0, 23 },
72 })
73}
74
75Device (ICH0)
76{
77 Name (_ADR, 0x001F0000)
78 OperationRegion (D310, PCI_Config, 0x00, 0xFF)
79 Field (D310, ByteAcc, NoLock, Preserve)
80 {
81 Offset (0x40), PBAR, 16,
82 Offset (0x58), GBAR, 16,
83 }
84
85 OperationRegion (ACPI, SystemIO, 0x0400, 0xC0)
86 Field (ACPI, ByteAcc, NoLock, Preserve)
87 {
Elyes HAOUAS17fa9de2019-03-30 08:22:54 +010088 PS1L, 8,
89 PS1H, 8,
90 PE1L, 8,
91 PE1H, 8,
92
93 Offset (0x28),
94 GS0L, 8,
95 GS0H, 8,
96 GSPL, 8,
97 GSPH, 8,
98 GE0L, 8,
99 GE0H, 8,
100 GEPL, 8,
101 GEPH, 8,
102
103 Offset (0xB8),
104 GPLV, 8
Kyösti Mälkki91162702011-11-03 15:22:01 +0200105 }
106
107 Name (MSBF, ResourceTemplate ()
108 {
109 /* IOAPIC 0 */
Kyösti Mälkki3aff1a32012-04-11 12:19:03 +0300110 Memory32Fixed (ReadWrite, IO_APIC_ADDR, 0x00001000,)
Kyösti Mälkki91162702011-11-03 15:22:01 +0200111
112 IO (Decode16, 0x0, 0x0, 0x80, 0x0, PMIO)
113 IO (Decode16, 0x0, 0x0, 0x40, 0x0, GPIO)
114
115 /* 8254 legacy irq */
116 IO (Decode16, 0x04D0, 0x04D0, 0x02, 0x02,)
117
118 /* reset generator */
119 IO (Decode16, 0x0092, 0x0092, 0x01, 0x01, )
120 })
121
122 Method (_CRS, 0, NotSerialized)
123 {
124 CreateWordField (MSBF, \_SB_.PCI0.ICH0.PMIO._MIN, IOA1)
125 CreateWordField (MSBF, \_SB_.PCI0.ICH0.PMIO._MAX, IOA2)
126 CreateByteField (MSBF, \_SB_.PCI0.ICH0.PMIO._LEN, IOAL)
127
128 Store (PBAR, Local0)
129 If ( Land(Local0, 0x01) )
130 {
131 And (Local0, 0xFFFE, Local0)
132 Store (Local0, IOA1)
133 Store (Local0, IOA2)
134 Store (0x80, IOAL)
135 } Else {
136 Store (0x00, IOAL)
137 }
138
139 CreateWordField (MSBF, \_SB_.PCI0.ICH0.GPIO._MIN, IOS1)
140 CreateWordField (MSBF, \_SB_.PCI0.ICH0.GPIO._MAX, IOS2)
141 CreateByteField (MSBF, \_SB_.PCI0.ICH0.GPIO._LEN, IOSL)
142
143 Store (GBAR, Local0)
144 If ( Land(Local0, 0x01) ) {
145 And (Local0, 0xFFFE, Local0)
146 Store (Local0, IOS1)
147 Store (Local0, IOS2)
148 Store (0x40, IOSL)
149 } Else {
150 Store (0x00, IOSL)
151 }
152 Return (MSBF)
153 }
154
155 Device (FWH)
156 {
157 Name (_HID, EisaId ("PNP0C02"))
158 Name (_UID, 0x01)
159
160
161 Name (MSBG, ResourceTemplate () {
162 Memory32Fixed (ReadOnly, 0xFFF00000, 0x00080000,)
163 Memory32Fixed (ReadOnly, 0xFFF80000, 0x00080000,)
164 })
165
166 Method (_CRS, 0, NotSerialized)
Elyes HAOUAS07662a62018-05-28 13:15:57 +0200167 {
Kyösti Mälkki91162702011-11-03 15:22:01 +0200168 Return (MSBG)
169 }
170 }
171
172 Device (SMSC)
173 {
174 Name (_HID, EisaId ("PNP0C02"))
175 Name (_UID, 0x02)
176 #include "acpi/superio.asl"
177 }
178
179}