1 /* SPDX-License-Identifier: GPL-2.0-only */
6 Name(_HID,EISAID("PNP0A08")) // PCIe
7 Name(_CID,EISAID("PNP0A03")) // PCI
11 Name (MCRS, ResourceTemplate() {
13 WordBusNumber (ResourceProducer, MinFixed, MaxFixed, PosDecode,
14 0x0000, 0x0000, 0x00fe, 0x0000, 0xff,,, PB00)
17 DWordIO (ResourceProducer, MinFixed, MaxFixed, PosDecode, EntireRange,
18 0x0000, 0x0000, 0x0cf7, 0x0000, 0x0cf8,,, PI00)
21 Io (Decode16, 0x0cf8, 0x0cf8, 0x0001, 0x0008)
24 DWordIO (ResourceProducer, MinFixed, MaxFixed, PosDecode, EntireRange,
25 0x0000, 0x0d00, 0xefff, 0x0000, 0xE300,,, PI01)
27 // VGA memory (0xa0000-0xbffff)
28 DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed,
30 0x00000000, 0x000a0000, 0x000bffff, 0x00000000,
33 // OPROM reserved (0xc0000-0xc3fff)
34 DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed,
36 0x00000000, 0x000c0000, 0x000c3fff, 0x00000000,
39 // OPROM reserved (0xc4000-0xc7fff)
40 DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed,
42 0x00000000, 0x000c4000, 0x000c7fff, 0x00000000,
45 // OPROM reserved (0xc8000-0xcbfff)
46 DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed,
48 0x00000000, 0x000c8000, 0x000cbfff, 0x00000000,
51 // OPROM reserved (0xcc000-0xcffff)
52 DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed,
54 0x00000000, 0x000cc000, 0x000cffff, 0x00000000,
57 // OPROM reserved (0xd0000-0xd3fff)
58 DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed,
60 0x00000000, 0x000d0000, 0x000d3fff, 0x00000000,
63 // OPROM reserved (0xd4000-0xd7fff)
64 DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed,
66 0x00000000, 0x000d4000, 0x000d7fff, 0x00000000,
69 // OPROM reserved (0xd8000-0xdbfff)
70 DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed,
72 0x00000000, 0x000d8000, 0x000dbfff, 0x00000000,
75 // OPROM reserved (0xdc000-0xdffff)
76 DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed,
78 0x00000000, 0x000dc000, 0x000dffff, 0x00000000,
81 // BIOS Extension (0xe0000-0xe3fff)
82 DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed,
84 0x00000000, 0x000e0000, 0x000e3fff, 0x00000000,
87 // BIOS Extension (0xe4000-0xe7fff)
88 DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed,
90 0x00000000, 0x000e4000, 0x000e7fff, 0x00000000,
93 // BIOS Extension (0xe8000-0xebfff)
94 DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed,
96 0x00000000, 0x000e8000, 0x000ebfff, 0x00000000,
99 // BIOS Extension (0xec000-0xeffff)
100 DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed,
101 Cacheable, ReadWrite,
102 0x00000000, 0x000ec000, 0x000effff, 0x00000000,
105 // System BIOS (0xf0000-0xfffff)
106 DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed,
107 Cacheable, ReadWrite,
108 0x00000000, 0x000f0000, 0x000fffff, 0x00000000,
111 // PCI Memory Region (Top of memory-0xfeafffff)
112 DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed,
113 Cacheable, ReadWrite,
114 0x00000000, 0x90000000, 0xFEAFFFFF, 0x00000000,
117 DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed,
118 Cacheable, ReadWrite,
119 0x00000000, 0xfec00000, 0xfecfffff, 0x00000000,
122 DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed,
123 Cacheable, ReadWrite,
124 0x00000000, HPET_BASE_ADDRESS, 0xfedfffff, 0x00000000,
127 QWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, NonCacheable, ReadWrite,
128 0x0000000000000000, // Granularity
129 0x0000380000000000, // Range Minimum
130 0x0000383FFFFFFFFF, // Range Maximum
131 0x0000000000000000, // Translation Offset
132 0x0000004000000000, // Length
133 ,,, AddressRangeMemory, TypeStatic)
136 Method (_CRS, 0, Serialized) {
141 /* Check for proper GUID */
142 If (Arg0 == ToUUID("33DB4D5B-1FF7-401C-9657-7441C03DD766"))
144 /* Let OS control everything */
149 /* Unrecognized UUID */
150 CreateDWordField (Arg3, 0, CDW1)
157 Name (AR00, Package() {
158 // [DMI0]: Legacy PCI Express Port 0 on PCI0
159 Package() { 0x0000FFFF, 0, 0, 47 },
160 // [BR1A]: PCI Express Port 1A on PCI0
161 // [BR1B]: PCI Express Port 1B on PCI0
162 Package() { 0x0001FFFF, 0, 0, 47 },
163 // [BR2A]: PCI Express Port 2A on PCI0
164 // [BR2B]: PCI Express Port 2B on PCI0
165 // [BR2C]: PCI Express Port 2C on PCI0
166 // [BR2D]: PCI Express Port 2D on PCI0
167 Package() { 0x0002FFFF, 0, 0, 47 },
168 // [BR3A]: PCI Express Port 3A on PCI0
169 // [BR3B]: PCI Express Port 3B on PCI0
170 // [BR3C]: PCI Express Port 3C on PCI0
171 // [BR3D]: PCI Express Port 3D on PCI0
172 Package() { 0x0003FFFF, 0, 0, 47 },
173 // [CB0A]: CB3DMA on PCI0
174 // [CB0E]: CB3DMA on PCI0
175 Package() { 0x0004FFFF, 0, 0, 31 },
176 // [CB0B]: CB3DMA on PCI0
177 // [CB0F]: CB3DMA on PCI0
178 Package() { 0x0004FFFF, 1, 0, 39 },
179 // [CB0C]: CB3DMA on PCI0
180 // [CB0G]: CB3DMA on PCI0
181 Package() { 0x0004FFFF, 2, 0, 31 },
182 // [CB0D]: CB3DMA on PCI0
183 // [CB0H]: CB3DMA on PCI0
184 Package() { 0x0004FFFF, 3, 0, 39 },
185 // [IIM0]: IIOMISC on PCI0
186 Package() { 0x0005FFFF, 0, 0, 16 },
187 Package() { 0x0005FFFF, 1, 0, 17 },
188 Package() { 0x0005FFFF, 2, 0, 18 },
189 Package() { 0x0005FFFF, 3, 0, 19 },
190 // [IID0]: IIODFX0 on PCI0
191 Package() { 0x0006FFFF, 0, 0, 16 },
192 Package() { 0x0006FFFF, 1, 0, 17 },
193 Package() { 0x0006FFFF, 2, 0, 18 },
194 Package() { 0x0006FFFF, 3, 0, 19 },
195 // [XHCI]: xHCI controller 1 on PCH
196 Package() { 0x0014FFFF, 3, 0, 19 },
197 // [HECI]: ME HECI on PCH
198 // [IDER]: ME IDE redirect on PCH
199 Package() { 0x0016FFFF, 0, 0, 16 },
200 // [HEC2]: ME HECI2 on PCH
201 // [MEKT]: MEKT on PCH
202 Package() { 0x0016FFFF, 1, 0, 17 },
203 // [GBEM]: GbE Controller VPRO
204 Package() { 0x0019FFFF, 0, 0, 20 },
205 // [EHC2]: EHCI controller #2 on PCH
206 Package() { 0x001AFFFF, 2, 0, 18 },
207 // [ALZA]: High definition Audio Controller
208 Package() { 0x001BFFFF, 0, 0, 22 },
209 // [RP01]: Pci Express Port 1 on PCH
210 // [RP05]: Pci Express Port 5 on PCH
211 Package() { 0x001CFFFF, 0, 0, 16 },
212 // [RP02]: Pci Express Port 2 on PCH
213 // [RP06]: Pci Express Port 6 on PCH
214 Package() { 0x001CFFFF, 1, 0, 17 },
215 // [RP03]: Pci Express Port 3 on PCH
216 // [RP07]: Pci Express Port 7 on PCH
217 Package() { 0x001CFFFF, 2, 0, 18 },
218 // [RP04]: Pci Express Port 4 on PCH
219 // [RP08]: Pci Express Port 8 on ICH
220 Package() { 0x001CFFFF, 3, 0, 19 },
221 // [EHC1]: EHCI controller #1 on PCH
222 Package() { 0x001DFFFF, 2, 0, 18 },
223 // [SAT1]: SATA controller 1 on PCH
224 // [SAT2]: SATA Host controller 2 on PCH
225 Package() { 0x001FFFFF, 0, 0, 16 },
226 // [SMBS]: SMBus controller on PCH
227 // [TERM]: Thermal Subsystem on ICH
228 Package() { 0x001FFFFF, 2, 0, 18 },
229 Package() { 0x0017FFFF, 0, 0, 20 },
230 Package() { 0x0011FFFF, 0, 0, 21 },
233 // Socket 0 Root bridge