tree: drop last paragraph of GPL copyright header
[coreboot.git] / src / mainboard / msi / ms9652_fam10 / dsdt.asl
blob723174e56ff79aa1bc8727b5327668a649ffe720
1 /*
2  * This file is part of the coreboot project.
3  *
4  * Copyright (C) 2004 Nick Barker <Nick.Barker9@btinternet.com>
5  * Copyright (C) 2007, 2008 Rudolf Marek <r.marek@assembler.cz>
6  * Copyright (C) 2009 Harald Gutmann <harald.gutmann@gmx.net>
7  *
8  * ISA portions taken from QEMU acpi-dsdt.dsl.
9  *
10  * This program is free software; you can redistribute it and/or modify
11  * it under the terms of the GNU General Public License as published by
12  * the Free Software Foundation; version 2 of the License.
13  *
14  * This program is distributed in the hope that it will be useful,
15  * but WITHOUT ANY WARRANTY; without even the implied warranty of
16  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
17  * GNU General Public License for more details.
18  */
20 DefinitionBlock ("DSDT.aml", "DSDT", 1, "CORE  ", "COREBOOT", 1)
22         #include <northbridge/amd/amdk8/util.asl>
24         /* For now only define 2 power states:
25          *  - S0 which is fully on
26          *  - S5 which is soft off
27          */
28         Name (\_S0, Package () { 0x00, 0x00, 0x00, 0x00 })
29         Name (\_S5, Package () { 0x07, 0x00, 0x00, 0x00 })
31         /* Root of the bus hierarchy */
32         Scope (\_SB)
33         {
34                 /* Top PCI device */
35                 Device (PCI0)
36                 {
37                         Name (_HID, EisaId ("PNP0A03"))
38                         Name (_ADR, 0x00)
39                         Name (_UID, 0x00)
40                         Name (_BBN, 0x00)
42                         External (BUSN)
43                         External (MMIO)
44                         External (PCIO)
45                         External (SBLK)
46                         External (TOM1)
47                         External (HCLK)
48                         External (SBDN)
49                         External (HCDN)
51                         Method (_CRS, 0, NotSerialized)
52                         {
53                                 Name (BUF0, ResourceTemplate ()
54                                 {
55                                         IO (Decode16,
56                                         0x0CF8,             // Address Range Minimum
57                                         0x0CF8,             // Address Range Maximum
58                                         0x01,               // Address Alignment
59                                         0x08,               // Address Length
60                                         )
61                                         WordIO (ResourceProducer, MinFixed, MaxFixed, PosDecode, EntireRange,
62                                         0x0000,             // Address Space Granularity
63                                         0x0000,             // Address Range Minimum
64                                         0x0CF7,             // Address Range Maximum
65                                         0x0000,             // Address Translation Offset
66                                         0x0CF8,             // Address Length
67                                         ,, , TypeStatic)
68                                 })
69                                 /* Methods bellow use SSDT to get actual MMIO regs
70                                    The IO ports are from 0xd00, optionally an VGA,
71                                    otherwise the info from MMIO is used.
72                                  */
73                                 Concatenate (\_SB.GMEM (0x00, \_SB.PCI0.SBLK), BUF0, Local1)
74                                 Concatenate (\_SB.GIOR (0x00, \_SB.PCI0.SBLK), Local1, Local2)
75                                 Concatenate (\_SB.GWBN (0x00, \_SB.PCI0.SBLK), Local2, Local3)
76                                 Return (Local3)
77                         }
79                         /* PCI Routing Table */
80                         Name (_PRT, Package () {
81                                 Package (0x04) { 0x0001FFFF, 0x01, 0x00, 0x0A }, /* 0x1 - 00:01.1 - IRQ 10 - SMBus */
82                                 Package (0x04) { 0x0002FFFF, 0x00, 0x00, 0x16 }, /* 0x2 - 00:02.0 - IRQ 22 - USB */
83                                 Package (0x04) { 0x0002FFFF, 0x01, 0x00, 0x17 }, /* 0x2 - 00:01.1 - IRQ 23 - USB */
84                                 Package (0x04) { 0x0004FFFF, 0x00, 0x00, 0x15 }, /* 0x4 - 00:04.0 - IRQ 21 - IDE */
85                                 Package (0x04) { 0x0005FFFF, 0x00, 0x00, 0x14 }, /* 0x5 - 00:05.0 - IRQ 20 - SATA */
86                                 Package (0x04) { 0x0005FFFF, 0x01, 0x00, 0x15 }, /* 0x5 - 00:05.1 - IRQ 21 - SATA */
87                                 Package (0x04) { 0x0005FFFF, 0x02, 0x00, 0x16 }, /* 0x5 - 00:05.2 - IRQ 22 - SATA */
88                                 Package (0x04) { 0x0006FFFF, 0x01, 0x00, 0x17 }, /* 0x6 - 00:06.1 - IRQ 23 - HD Audio */
89                                 Package (0x04) { 0x0008FFFF, 0x00, 0x00, 0x14 }, /* 0x8 - 00:08.0 - IRQ 20 - GBit Ethernet */
90                         })
92                         Device (PEBF) /* PCI-E Bridge F */
93                         {
94                                 Name (_ADR, 0x000F0000)
95                                 Name (_UID, 0x00)
96                                 Name (_BBN, 0x07)
97                                 Name (_PRT, Package () {
98                                         Package (0x04) { 0x0000FFFF, 0x00, 0x00, 0x11 },
99                                         Package (0x04) { 0x0000FFFF, 0x01, 0x00, 0x12 },
100                                         Package (0x04) { 0x0000FFFF, 0x02, 0x00, 0x13 },
101                                         Package (0x04) { 0x0000FFFF, 0x03, 0x00, 0x10 },
102                                 })
103                         }
105                         Device (PEBE) /* PCI-E Bridge E */
106                         {
107                                 Name (_ADR, 0x000E0000)
108                                 Name (_UID, 0x00)
109                                 Name (_BBN, 0x06)
110                                 Name (_PRT, Package () {
111                                         Package (0x04) { 0x0000FFFF, 0x00, 0x00, 0x12 },
112                                         Package (0x04) { 0x0000FFFF, 0x01, 0x00, 0x13 },
113                                         Package (0x04) { 0x0000FFFF, 0x02, 0x00, 0x10 },
114                                         Package (0x04) { 0x0000FFFF, 0x03, 0x00, 0x11 },
115                                 })
116                         }
118                         Device (PEBD) /* PCI-E Bridge D */
119                         {
120                                 Name (_ADR, 0x000D0000)
121                                 Name (_UID, 0x00)
122                                 Name (_BBN, 0x05)
123                                 Name (_PRT, Package () {
124                                         Package (0x04) { 0x0000FFFF, 0x00, 0x00, 0x13 },
125                                         Package (0x04) { 0x0000FFFF, 0x01, 0x00, 0x10 },
126                                         Package (0x04) { 0x0000FFFF, 0x02, 0x00, 0x11 },
127                                         Package (0x04) { 0x0000FFFF, 0x03, 0x00, 0x12 },
128                                 })
129                         }
131                         Device (PEBC) /* PCI-E Bridge C */
132                         {
133                                 Name (_ADR, 0x000C0000)
134                                 Name (_UID, 0x00)
135                                 Name (_BBN, 0x04)
136                                 Name (_PRT, Package () {
137                                         Package (0x04) { 0x0000FFFF, 0x00, 0x00, 0x10 },
138                                         Package (0x04) { 0x0000FFFF, 0x01, 0x00, 0x11 },
139                                         Package (0x04) { 0x0000FFFF, 0x02, 0x00, 0x12 },
140                                         Package (0x04) { 0x0000FFFF, 0x03, 0x00, 0x13 },
141                                 })
142                         }
144                         Device (PEBB) /* PCI-E Bridge B */
145                         {
146                                 Name (_ADR, 0x000B0000)
147                                 Name (_UID, 0x00)
148                                 Name (_BBN, 0x03)
149                                 Name (_PRT, Package () {
150                                         Package (0x04) { 0x0000FFFF, 0x00, 0x00, 0x11 },
151                                         Package (0x04) { 0x0000FFFF, 0x01, 0x00, 0x12 },
152                                         Package (0x04) { 0x0000FFFF, 0x02, 0x00, 0x13 },
153                                         Package (0x04) { 0x0000FFFF, 0x03, 0x00, 0x10 },
154                                 })
155                         }
157                         Device (PEBA) /* PCI-E Bridge A */
158                         {
159                                 Name (_ADR, 0x000A0000)
160                                 Name (_UID, 0x00)
161                                 Name (_BBN, 0x02)
162                                 Name (_PRT, Package () {
163                                         Package (0x04) { 0x0000FFFF, 0x00, 0x00, 0x12 },
164                                         Package (0x04) { 0x0000FFFF, 0x01, 0x00, 0x13 },
165                                         Package (0x04) { 0x0000FFFF, 0x02, 0x00, 0x10 },
166                                         Package (0x04) { 0x0000FFFF, 0x03, 0x00, 0x11 },
167                                 })
168                         }
170                         Device (PCID)   /* PCI Device */
171                         {
172                                 Name (_ADR, 0x00060000)
173                                 Name (_UID, 0x00)
174                                 Name (_BBN, 0x01)
175                                 Name (_PRT, Package () {
176                                         Package (0x04) { 0x0006FFFF, 0x00, 0x00, 0x12 },
177                                         Package (0x04) { 0x0006FFFF, 0x01, 0x00, 0x13 },
178                                         Package (0x04) { 0x0006FFFF, 0x02, 0x00, 0x10 },
179                                         Package (0x04) { 0x0006FFFF, 0x03, 0x00, 0x11 },
180                                         Package (0x04) { 0x0007FFFF, 0x00, 0x00, 0x13 }, /* PCI slot 1 */
181                                         Package (0x04) { 0x0007FFFF, 0x01, 0x00, 0x10 },
182                                         Package (0x04) { 0x0007FFFF, 0x02, 0x00, 0x11 },
183                                         Package (0x04) { 0x0007FFFF, 0x03, 0x00, 0x12 },
184                                         Package (0x04) { 0x0008FFFF, 0x00, 0x00, 0x10 }, /* PCI slot 2 */
185                                         Package (0x04) { 0x0008FFFF, 0x01, 0x00, 0x11 },
186                                         Package (0x04) { 0x0008FFFF, 0x02, 0x00, 0x12 },
187                                         Package (0x04) { 0x0008FFFF, 0x03, 0x00, 0x13 },
188                                         Package (0x04) { 0x0009FFFF, 0x00, 0x00, 0x11 },
189                                         Package (0x04) { 0x0009FFFF, 0x01, 0x00, 0x12 },
190                                         Package (0x04) { 0x0009FFFF, 0x02, 0x00, 0x13 },
191                                         Package (0x04) { 0x0009FFFF, 0x03, 0x00, 0x10 },
192                                         Package (0x04) { 0x000AFFFF, 0x00, 0x00, 0x12 }, /* FireWire */
193                                         Package (0x04) { 0x000AFFFF, 0x01, 0x00, 0x13 },
194                                         Package (0x04) { 0x000AFFFF, 0x02, 0x00, 0x10 },
195                                         Package (0x04) { 0x000AFFFF, 0x03, 0x00, 0x11 },
196                                 })
197                         }
198                 }
200                 Device (ISA) {
201                         Name (_ADR, 0x000010000)
203                         /* PS/2 keyboard (seems to be important for WinXP install) */
204                         Device (KBD)
205                         {
206                                 Name (_HID, EisaId ("PNP0303"))
207                                 Method (_STA, 0, NotSerialized)
208                                 {
209                                         Return (0x0f)
210                                 }
211                                 Method (_CRS, 0, NotSerialized)
212                                 {
213                                         Name (TMP0, ResourceTemplate () {
214                                                 IO (Decode16, 0x0060, 0x0060, 0x01, 0x01)
215                                                 IO (Decode16, 0x0064, 0x0064, 0x01, 0x01)
216                                                 IRQNoFlags () {1}
217                                         })
218                                         Return (TMP0)
219                                 }
220                         }
222                         /* PS/2 mouse */
223                         Device (MOU)
224                         {
225                                 Name (_HID, EisaId ("PNP0F13"))
226                                 Method (_STA, 0, NotSerialized)
227                                 {
228                                         Return (0x0f)
229                                 }
230                                 Method (_CRS, 0, NotSerialized)
231                                 {
232                                         Name (TMP1, ResourceTemplate () {
233                                                 IO (Decode16, 0x0060, 0x0060, 0x01, 0x01)
234                                                 IO (Decode16, 0x0064, 0x0064, 0x01, 0x01)
235                                                 IRQNoFlags () {12}
236                                         })
237                                         Return (TMP1)
238                                 }
239                         }
241                         /* PS/2 floppy controller */
242                         Device (FDC0)
243                         {
244                                 Name (_HID, EisaId ("PNP0700"))
245                                 Method (_STA, 0, NotSerialized)
246                                 {
247                                         Return (0x0f)
248                                 }
249                                 Method (_CRS, 0, NotSerialized)
250                                 {
251                                         Name (BUF0, ResourceTemplate () {
252                                                 IO (Decode16, 0x03F0, 0x03F0, 0x01, 0x06)
253                                                 IO (Decode16, 0x03F7, 0x03F7, 0x01, 0x01)
254                                                 IRQNoFlags () {6}
255                                                 DMA (Compatibility, NotBusMaster, Transfer8) {2}
256                                         })
257                                         Return (BUF0)
258                                 }
259                         }
260                         /* Parallel Port */
261                         Device (LPT1)
262                         {
263                                 Name (_HID, EisaId ("PNP0400"))
264                                 Method (_STA, 0, NotSerialized)
265                                 {
266                                         Return (0x0f)
267                                 }
268                                 Method (_CRS, 0, NotSerialized)
269                                 {
270                                         Name (BUF1, ResourceTemplate () {
271                                                 IO (Decode16, 0x0378, 0x0378, 0x01, 0x08)
272                                                 IRQNoFlags () {7}
273                                         })
274                                         Return (BUF1)
275                                 }
276                         }
277                         /* Parallel Port ECP */
278                         Device (ECP1)
279                         {
280                                 Name (_HID, EisaId ("PNP0401"))
281                                 Method (_STA, 0, NotSerialized)
282                                 {
283                                         Return (0x0f)
284                                 }
285                                 Method (_CRS, 0, NotSerialized)
286                                 {
287                                         Name (BUF1, ResourceTemplate () {
288                                                 IO (Decode16, 0x0378, 0x0378, 0x01, 0x04)
289                                                 IO (Decode16, 0x0778, 0x0778, 0x01, 0x04)
290                                                 IRQNoFlags() {7}
291                                                 DMA (Compatibility, NotBusMaster, Transfer8) {0,1,3}
292                                         })
293                                         Return (BUF1)
294                                 }
295                         }
296                 }
297         }