1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
|
/*
* Copyright 2005 AMD
* Copyright (C) 2011,2014 Oskar Enoksson <enok@lysator.liu.se>
*/
//AMD8111 isa
Device (ISA) {
// lpc 0x00040000
Method (_ADR, 0, NotSerialized) {
Return (DADD(\_SB.PCI0.SBDN, 0x00010000))
}
/*
OperationRegion (PIRY, PCI_Config, 0x51, 0x02) // LPC Decode Registers
Field (PIRY, ByteAcc, NoLock, Preserve) {
Z000, 2, // Parallel Port Range
, 1,
ECP , 1, // ECP Enable
FDC1, 1, // Floppy Drive Controller 1
FDC2, 1, // Floppy Drive Controller 2
Offset (0x01),
Z001, 3, // Serial Port A Range
SAEN, 1, // Serial Post A Enabled
Z002, 3, // Serial Port B Range
SBEN, 1 // Serial Post B Enabled
}
*/
Device (PIC) {
Name (_HID, EisaId ("PNP0000"))
Name (_CRS, ResourceTemplate () {
IO (Decode16, 0x0020, 0x0020, 0x01, 0x02) // Master Interrupt controller
IO (Decode16, 0x00A0, 0x00A0, 0x01, 0x02) // Slave Interrupt controller
IRQ (Edge, ActiveHigh, Exclusive) {2}
})
}
Device (DMA1) {
Name (_HID, EisaId ("PNP0200"))
Name (_CRS, ResourceTemplate () {
IO (Decode16, 0x0000, 0x0000, 0x01, 0x10) // Slave DMA controller
IO (Decode16, 0x0080, 0x0080, 0x01, 0x10) // DMA page registers
IO (Decode16, 0x00C0, 0x00C0, 0x01, 0x20) // Master DMA controller
DMA (Compatibility, NotBusMaster, Transfer16) {4}
})
}
Device (TMR) {
Name (_HID, EisaId ("PNP0100"))
Name (_CRS, ResourceTemplate () {
IO (Decode16, 0x0040, 0x0040, 0x01, 0x04) // Programmable Interval timer
IRQ (Edge, ActiveHigh, Exclusive) {0}
})
}
Device (RTC) {
Name (_HID, EisaId ("PNP0B00"))
Name (_CRS, ResourceTemplate () {
IO (Decode16, 0x0070, 0x0070, 0x01, 0x04) // Realtime Clock and CMOS ram
IRQ (Edge, ActiveHigh, Exclusive) {8}
})
}
Device (SPKR) {
Name (_HID, EisaId ("PNP0800"))
Name (_CRS, ResourceTemplate () {
IO (Decode16, 0x0061, 0x0061, 0x01, 0x01) // PC speaker
})
}
Device (COPR) { // Co-processor
Name (_HID, EisaId ("PNP0C04"))
Name (_CRS, ResourceTemplate () {
IO (Decode16, 0x00F0, 0x00F0, 0x01, 0x10) // Floating point Error control
IRQ (Edge, ActiveHigh, Exclusive) {13}
})
}
Device (SYSR) { // System control registers (?)
Name (_HID, EisaId ("PNP0C02"))
Name (_UID, 0x00)
Name (CRS, ResourceTemplate () {
IO (Decode16, 0x0010, 0x0010, 0x01, 0x10)
IO (Decode16, 0x0022, 0x0022, 0x01, 0x1E)
IO (Decode16, 0x0044, 0x0044, 0x01, 0x1C)
IO (Decode16, 0x0062, 0x0062, 0x01, 0x02)
IO (Decode16, 0x0065, 0x0065, 0x01, 0x0B)
IO (Decode16, 0x0074, 0x0074, 0x01, 0x0C)
IO (Decode16, 0x0080, 0x0080, 0x01, 0x01)
IO (Decode16, 0x0084, 0x0084, 0x01, 0x03)
IO (Decode16, 0x0088, 0x0088, 0x01, 0x01)
IO (Decode16, 0x008C, 0x008C, 0x01, 0x03)
IO (Decode16, 0x0090, 0x0090, 0x01, 0x10)
IO (Decode16, 0x00A2, 0x00A2, 0x01, 0x1E)
IO (Decode16, 0x00E0, 0x00E0, 0x01, 0x10)
// IO (Decode16, 0x0190, 0x0190, 0x01, 0x04) // Added this to remove ACPI Unrepoted IO Error
// EISA defined level triggered interrupt control registers
IO (Decode16, 0x04D0, 0x04D0, 0x01, 0x02)
// IO (Decode16, 0x0B78, 0x0B78, 0x01, 0x04) // Added this to remove ACPI Unrepoted IO Error
// IO (Decode16, 0xDE00, 0xDE00, 0x00, 0x80)
// IO (Decode16, 0xDE80, 0xDE80, 0x00, 0x80)
IO (Decode16,0xDE00,0xDE00,0x00,0x80)
IO (Decode16,0xDE80,0xDE80,0x00,0x80)
// IO (Decode16, 0x1100, 0x117F, 0x01, 0x80) //wrh092302 - added to report Thor NVRAM
// IO (Decode16, 0x1180, 0x11FF, 0x01, 0x80)
IO (Decode16, 0x0000, 0x0000, 0x00, 0x00,_Y0D) // PMBS block
IO (Decode16, 0x0000, 0x0000, 0x00, 0x00,_Y0E) // SMBS block
IO (Decode16, 0x0000, 0x0000, 0x00, 0x00,_Y0F) // GPBS block
})
Method (_CRS, 0, NotSerialized) {
CreateWordField (CRS, \_SB.PCI0.ISA.SYSR._Y0D._MIN, GP00)
CreateWordField (CRS, \_SB.PCI0.ISA.SYSR._Y0D._MAX, GP01)
CreateByteField (CRS, \_SB.PCI0.ISA.SYSR._Y0D._LEN, GP0L)
Store (PMBS, GP00)
Store (PMBS, GP01)
Store (PMLN, GP0L)
If (SMBS) {
CreateWordField (CRS, \_SB.PCI0.ISA.SYSR._Y0E._MIN, GP10)
CreateWordField (CRS, \_SB.PCI0.ISA.SYSR._Y0E._MAX, GP11)
CreateByteField (CRS, \_SB.PCI0.ISA.SYSR._Y0E._LEN, GP1L)
Store (SMBS, GP10)
Store (SMBS, GP11)
Store (SMBL, GP1L)
}
If (GPBS) {
CreateWordField (CRS, \_SB.PCI0.ISA.SYSR._Y0F._MIN, GP20)
CreateWordField (CRS, \_SB.PCI0.ISA.SYSR._Y0F._MAX, GP21)
CreateByteField (CRS, \_SB.PCI0.ISA.SYSR._Y0F._LEN, GP2L)
Store (GPBS, GP20)
Store (GPBS, GP21)
Store (GPLN, GP2L)
}
Return (CRS)
}
}
Device (MEM) {
Name (_HID, EisaId ("PNP0C02"))
Name (_UID, 0x01)
Method (_CRS, 0, Serialized) {
Name (BUF0, ResourceTemplate () {
Memory32Fixed (ReadWrite, 0x000E0000, 0x00020000) // BIOS E4000-FFFFF
Memory32Fixed (ReadWrite, 0x000C0000, 0x00010000) // video BIOS c0000-c8404
Memory32Fixed (ReadWrite, 0xFEC00000, 0x00001000) // I/O APIC
Memory32Fixed (ReadWrite, 0xFFC00000, 0x00380000) // LPC forwarded, 4 MB w/ROM
Memory32Fixed (ReadWrite, 0xFEE00000, 0x00001000) // Local APIC
Memory32Fixed (ReadWrite, 0xFFF80000, 0x00080000) // Overlay BIOS
Memory32Fixed (ReadWrite, 0x00000000, 0x00000000) // Overlay BIOS
Memory32Fixed (ReadWrite, 0x00000000, 0x00000000) // Overlay BIOS
Memory32Fixed (ReadWrite, 0x00000000, 0x00000000) // Overlay BIOS
Memory32Fixed (ReadWrite, 0x00000000, 0x00000000) // Overlay BIOS
})
// Read the Video Memory length
CreateDWordField (BUF0, 0x14, CLEN)
CreateDWordField (BUF0, 0x10, CBAS)
ShiftLeft (VGA1, 0x09, Local0)
Store (Local0, CLEN)
Return (BUF0)
}
}
#include "superio/winbond/w83627hf/acpi/superio.asl"
}
|