]> git.proxmox.com Git - mirror_edk2.git/blob - Vlv2DeviceRefCodePkg/AcpiTablesPCAT/LPC_DEV.ASL
Vlv2DeviceRefCodePkg&Vlv2TbltDevicePkg:Convert Mix to DOS.
[mirror_edk2.git] / Vlv2DeviceRefCodePkg / AcpiTablesPCAT / LPC_DEV.ASL
1 /**************************************************************************;
2 ;* *;
3 ;* *;
4 ;* Intel Corporation - ACPI Reference Code for the Baytrail *;
5 ;* Family of Customer Reference Boards. *;
6 ;* *;
7 ;* *;
8 ;* Copyright (c) 2012 - 2014, Intel Corporation. All rights reserved *;
9 ;
10 ; This program and the accompanying materials are licensed and made available under
11 ; the terms and conditions of the BSD License that accompanies this distribution.
12 ; The full text of the license may be found at
13 ; http://opensource.org/licenses/bsd-license.php.
14 ;
15 ; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
16 ; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
17 ;
18 ;* *;
19 ;* *;
20 ;**************************************************************************/
21
22 Device(FWHD) // Firmware Hub Device
23 {
24 Name(_HID,EISAID("INT0800"))
25
26 Name(_CRS,ResourceTemplate()
27 {
28 Memory32Fixed(ReadOnly,0xFF000000,0x1000000)
29 })
30 }
31
32 Device(IPIC) // 8259 PIC
33 {
34 Name(_HID,EISAID("PNP0000"))
35
36 Name(_CRS,ResourceTemplate()
37 {
38 IO(Decode16,0x20,0x20,0x01,0x02)
39 IO(Decode16,0x24,0x24,0x01,0x02)
40 IO(Decode16,0x28,0x28,0x01,0x02)
41 IO(Decode16,0x2C,0x2C,0x01,0x02)
42 IO(Decode16,0x30,0x30,0x01,0x02)
43 IO(Decode16,0x34,0x34,0x01,0x02)
44 IO(Decode16,0x38,0x38,0x01,0x02)
45 IO(Decode16,0x3C,0x3C,0x01,0x02)
46 IO(Decode16,0xA0,0xA0,0x01,0x02)
47 IO(Decode16,0xA4,0xA4,0x01,0x02)
48 IO(Decode16,0xA8,0xA8,0x01,0x02)
49 IO(Decode16,0xAC,0xAC,0x01,0x02)
50 IO(Decode16,0xB0,0xB0,0x01,0x02)
51 IO(Decode16,0xB4,0xB4,0x01,0x02)
52 IO(Decode16,0xB8,0xB8,0x01,0x02)
53 IO(Decode16,0xBC,0xBC,0x01,0x02)
54 IO(Decode16,0x4D0,0x4D0,0x01,0x02)
55 IRQNoFlags() {2}
56 })
57 }
58
59 Device(LDRC) // LPC Device Resource Consumption
60 {
61 Name(_HID,EISAID("PNP0C02"))
62
63 Name(_UID,2)
64
65 Name(_CRS,ResourceTemplate()
66 {
67 IO(Decode16,0x4E,0x4E,0x1,0x02) // LPC Slot Access.
68 IO(Decode16,0x61,0x61,0x1,0x1) // NMI Status.
69 IO(Decode16,0x63,0x63,0x1,0x1) // Processor I/F.
70 IO(Decode16,0x65,0x65,0x1,0x1) // Processor I/F.
71 IO(Decode16,0x67,0x67,0x1,0x1) // Processor I/F.
72 IO(Decode16,0x70,0x70,0x1,0x1) // NMI Enable.
73 IO(Decode16,0x80,0x80,0x1,0x10) // Postcode.
74 IO(Decode16,0x92,0x92,0x1,0x1) // Processor I/F.
75 IO(Decode16,0xB2,0xB2,0x01,0x02) // Software SMI.
76 IO(Decode16,0x680,0x680,0x1,0x20) // 32 Byte I/O.
77 IO(Decode16,0x400,0x400,0x1,0x80) // ACPI Base.
78 IO(Decode16,0x500,0x500,0x1,0xFF) // GPIO Base.
79 })
80 }
81
82 Device(TIMR) // 8254 Timer
83 {
84 Name(_HID,EISAID("PNP0100"))
85
86 Name(_CRS,ResourceTemplate()
87 {
88 IO(Decode16,0x40,0x40,0x01,0x04)
89 IO(Decode16,0x50,0x50,0x10,0x04)
90 IRQNoFlags() {0}
91 })
92 }
93
94 Device(IUR3) // Internal UART
95 {
96 Name(_HID, EISAID("PNP0501"))
97
98 Name(_UID,1)
99
100 // Status Method for internal UART
101
102 Method(_STA,0,Serialized)
103 {
104 // Only report resources to the OS if internal UART is
105 // not set to Disabled in BIOS Setup.
106
107 If(LEqual(USEL,0))
108 {
109 If(LEqual(PU1E,1))
110 {
111 Store(1,UI3E) // Enable IRQ3 for UART
112 Store(1,UI4E) // Enable IRQ4 for UART
113 Store(1,C1EN) // Enable UART
114 Return(0x000F)
115 }
116 }
117
118 Return(0x0000)
119 }
120
121 // Disable Method for internal UART
122
123 Method(_DIS,0,Serialized)
124 {
125 Store(0,UI3E)
126 Store(0,UI4E)
127 Store(0,C1EN)
128 }
129
130 // Current Resource Setting Method for internal UART
131
132 Method(_CRS,0,Serialized)
133 {
134 // Create the Buffer that stores the Resources to
135 // be returned.
136
137 Name(BUF0,ResourceTemplate()
138 {
139 IO(Decode16,0x03F8,0x03F8,0x01,0x08)
140 IRQNoFlags() {3}
141 })
142
143 Name(BUF1,ResourceTemplate()
144 {
145 IO(Decode16,0x03F8,0x03F8,0x01,0x08)
146 IRQNoFlags() {4}
147 })
148
149 If (LLessEqual(SRID, 0x04))
150 {
151 Return(BUF0)
152 } Else
153 {
154 Return(BUF1)
155 }
156 }
157 }