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
|
/** @file
*
* Copyright (c) 2016 Hisilicon Limited. All rights reserved.
*
* This program and the accompanying materials
* are licensed and made available under the terms and conditions of the BSD License
* which accompanies this distribution. The full text of the license may be found at
* http://opensource.org/licenses/bsd-license.php
*
* THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
* WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
*
**/
//
// LPC
//
Scope(_SB) {
Device (LPC0) {
Name (_HID, "HISI0191") // HiSi LPC
Name (_CRS, ResourceTemplate () {
Memory32Fixed (ReadWrite, 0xa01b0000, 0x1000)
})
}
Device (LPC0.IPMI) {
Name (_HID, "IPI0001")
Method (_IFT) {
Return (0x03)
}
Name (LORS, ResourceTemplate() {
QWordIO (
ResourceConsumer,
MinNotFixed, // _MIF
MaxNotFixed, // _MAF
PosDecode,
EntireRange,
0x0, // _GRA
0xe4, // _MIN
0x3fff, // _MAX
0x0, // _TRA
0x04, // _LEN
, ,
BTIO
)
})
CreateQWordField (LORS, BTIO._MIN, CMIN)
CreateQWordField (LORS, BTIO._MAX, CMAX)
CreateQWordField (LORS, BTIO._LEN, CLEN)
Method (_PRS, 0) {
Return (LORS)
}
Method (_CRS, 0) {
Return (LORS)
}
Method (_SRS, 1) {
CreateQWordField (Arg0, \_SB.LPC0.IPMI.BTIO._MIN, IMIN)
Store (IMIN, CMIN)
CreateQWordField (Arg0, \_SB.LPC0.IPMI.BTIO._MAX, IMAX)
Store (IMAX, CMAX)
}
}
Device (LPC0.CON0) {
Name (_HID, "HISI1031")
Name (_CID, "PNP0501")
Name (LORS, ResourceTemplate() {
QWordIO (
ResourceConsumer,
MinNotFixed, // _MIF
MaxNotFixed, // _MAF
PosDecode,
EntireRange,
0x0, // _GRA
0x2F8, // _MIN
0x3fff, // _MAX
0x0, // _TRA
0x08, // _LEN
, ,
IO02
)
})
CreateQWordField (LORS, IO02._MIN, CMIN)
CreateQWordField (LORS, IO02._MAX, CMAX)
CreateQWordField (LORS, IO02._LEN, CLEN)
Method (_PRS, 0) {
Return (LORS)
}
Method (_CRS, 0) {
Return (LORS)
}
Method (_SRS, 1) {
CreateQWordField (Arg0, \_SB.LPC0.CON0.IO02._MIN, IMIN)
Store (IMIN, CMIN)
CreateQWordField (Arg0, \_SB.LPC0.CON0.IO02._MAX, IMAX)
Store (IMAX, CMAX)
}
}
}
|