soc/intel: Remove blank lines before '}' and after '{'
[coreboot2.git] / src / soc / intel / xeon_sp / acpi / southcluster.asl
blobeb687784e755cdedbb6d7783b7c92170cadb7535
1 /* SPDX-License-Identifier: GPL-2.0-only */
3 #include <arch/hpet.h>
4 #include <soc/iomap.h>
6 Name(_HID,EISAID("PNP0A08"))    // PCIe
7 Name(_CID,EISAID("PNP0A03"))    // PCI
9 Name(_BBN, 0)
11 Name (MCRS, ResourceTemplate() {
12         // Bus Numbers
13         WordBusNumber (ResourceProducer, MinFixed, MaxFixed, PosDecode,
14                 0x0000, 0x0000, 0x00fe, 0x0000, 0xff,,, PB00)
16         // IO Region 0
17         DWordIO (ResourceProducer, MinFixed, MaxFixed, PosDecode, EntireRange,
18                 0x0000, 0x0000, 0x0cf7, 0x0000, 0x0cf8,,, PI00)
20         // PCI Config Space
21         Io (Decode16, 0x0cf8, 0x0cf8, 0x0001, 0x0008)
23         // IO Region 1
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,
29                 Cacheable, ReadWrite,
30                 0x00000000, 0x000a0000, 0x000bffff, 0x00000000,
31                 0x00020000,,, ASEG)
33         // OPROM reserved (0xc0000-0xc3fff)
34         DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed,
35                 Cacheable, ReadWrite,
36                 0x00000000, 0x000c0000, 0x000c3fff, 0x00000000,
37                 0x00004000,,, OPR0)
39         // OPROM reserved (0xc4000-0xc7fff)
40         DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed,
41                 Cacheable, ReadWrite,
42                 0x00000000, 0x000c4000, 0x000c7fff, 0x00000000,
43                 0x00004000,,, OPR1)
45         // OPROM reserved (0xc8000-0xcbfff)
46         DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed,
47                 Cacheable, ReadWrite,
48                 0x00000000, 0x000c8000, 0x000cbfff, 0x00000000,
49                 0x00004000,,, OPR2)
51         // OPROM reserved (0xcc000-0xcffff)
52         DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed,
53                 Cacheable, ReadWrite,
54                 0x00000000, 0x000cc000, 0x000cffff, 0x00000000,
55                 0x00004000,,, OPR3)
57         // OPROM reserved (0xd0000-0xd3fff)
58         DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed,
59                 Cacheable, ReadWrite,
60                 0x00000000, 0x000d0000, 0x000d3fff, 0x00000000,
61                 0x00004000,,, OPR4)
63         // OPROM reserved (0xd4000-0xd7fff)
64         DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed,
65                 Cacheable, ReadWrite,
66                 0x00000000, 0x000d4000, 0x000d7fff, 0x00000000,
67                 0x00004000,,, OPR5)
69         // OPROM reserved (0xd8000-0xdbfff)
70         DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed,
71                 Cacheable, ReadWrite,
72                 0x00000000, 0x000d8000, 0x000dbfff, 0x00000000,
73                 0x00004000,,, OPR6)
75         // OPROM reserved (0xdc000-0xdffff)
76         DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed,
77                 Cacheable, ReadWrite,
78                 0x00000000, 0x000dc000, 0x000dffff, 0x00000000,
79                 0x00004000,,, OPR7)
81         // BIOS Extension (0xe0000-0xe3fff)
82         DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed,
83                 Cacheable, ReadWrite,
84                 0x00000000, 0x000e0000, 0x000e3fff, 0x00000000,
85                 0x00004000,,, ESG0)
87         // BIOS Extension (0xe4000-0xe7fff)
88         DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed,
89                 Cacheable, ReadWrite,
90                 0x00000000, 0x000e4000, 0x000e7fff, 0x00000000,
91                 0x00004000,,, ESG1)
93         // BIOS Extension (0xe8000-0xebfff)
94         DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed,
95                 Cacheable, ReadWrite,
96                 0x00000000, 0x000e8000, 0x000ebfff, 0x00000000,
97                 0x00004000,,, ESG2)
99         // BIOS Extension (0xec000-0xeffff)
100         DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed,
101                 Cacheable, ReadWrite,
102                 0x00000000, 0x000ec000, 0x000effff, 0x00000000,
103                 0x00004000,,, ESG3)
105         // System BIOS (0xf0000-0xfffff)
106         DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed,
107                 Cacheable, ReadWrite,
108                 0x00000000, 0x000f0000, 0x000fffff, 0x00000000,
109                 0x00010000,,, FSEG)
111         // PCI Memory Region (Top of memory-0xfeafffff)
112         DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed,
113                 Cacheable, ReadWrite,
114                 0x00000000, 0x90000000, 0xFEAFFFFF, 0x00000000,
115                 0x6EB00000,,, PMEM)
117         DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed,
118                 Cacheable, ReadWrite,
119                 0x00000000, 0xfec00000, 0xfecfffff, 0x00000000,
120                 0x00100000,,, APIC)
122         DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed,
123                 Cacheable, ReadWrite,
124                 0x00000000, HPET_BASE_ADDRESS, 0xfedfffff, 0x00000000,
125                 0x00100000,,, PCHR)
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) {
137         Return (MCRS)
140 Method (_OSC, 4) {
141         /* Check for proper GUID */
142         If (Arg0 == ToUUID("33DB4D5B-1FF7-401C-9657-7441C03DD766"))
143         {
144                 /* Let OS control everything */
145                 Return (Arg3)
146         }
147         Else
148         {
149                 /* Unrecognized UUID */
150                 CreateDWordField (Arg3, 0, CDW1)
151                 CDW1 |= 4
152                 Return (Arg3)
153         }
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
234 Method (_PRT, 0) {
235         Return (AR00)