]> git.proxmox.com Git - mirror_edk2.git/blob - Vlv2DeviceRefCodePkg/AcpiTablesPCAT/LPC_DEV.ASL
Vlv2DeviceRefCodePkg: Replace BSD License with BSD+Patent License
[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 ; SPDX-License-Identifier: BSD-2-Clause-Patent
11 ;
12 ;* *;
13 ;* *;
14 ;**************************************************************************/
15
16 Device(FWHD) // Firmware Hub Device
17 {
18 Name(_HID,EISAID("INT0800"))
19
20 Name(_CRS,ResourceTemplate()
21 {
22 Memory32Fixed(ReadOnly,0xFF000000,0x1000000)
23 })
24 }
25
26 Device(IPIC) // 8259 PIC
27 {
28 Name(_HID,EISAID("PNP0000"))
29
30 Name(_CRS,ResourceTemplate()
31 {
32 IO(Decode16,0x20,0x20,0x01,0x02)
33 IO(Decode16,0x24,0x24,0x01,0x02)
34 IO(Decode16,0x28,0x28,0x01,0x02)
35 IO(Decode16,0x2C,0x2C,0x01,0x02)
36 IO(Decode16,0x30,0x30,0x01,0x02)
37 IO(Decode16,0x34,0x34,0x01,0x02)
38 IO(Decode16,0x38,0x38,0x01,0x02)
39 IO(Decode16,0x3C,0x3C,0x01,0x02)
40 IO(Decode16,0xA0,0xA0,0x01,0x02)
41 IO(Decode16,0xA4,0xA4,0x01,0x02)
42 IO(Decode16,0xA8,0xA8,0x01,0x02)
43 IO(Decode16,0xAC,0xAC,0x01,0x02)
44 IO(Decode16,0xB0,0xB0,0x01,0x02)
45 IO(Decode16,0xB4,0xB4,0x01,0x02)
46 IO(Decode16,0xB8,0xB8,0x01,0x02)
47 IO(Decode16,0xBC,0xBC,0x01,0x02)
48 IO(Decode16,0x4D0,0x4D0,0x01,0x02)
49 IRQNoFlags() {2}
50 })
51 }
52
53 Device(LDRC) // LPC Device Resource Consumption
54 {
55 Name(_HID,EISAID("PNP0C02"))
56
57 Name(_UID,2)
58
59 Name(_CRS,ResourceTemplate()
60 {
61 IO(Decode16,0x4E,0x4E,0x1,0x02) // LPC Slot Access.
62 IO(Decode16,0x61,0x61,0x1,0x1) // NMI Status.
63 IO(Decode16,0x63,0x63,0x1,0x1) // Processor I/F.
64 IO(Decode16,0x65,0x65,0x1,0x1) // Processor I/F.
65 IO(Decode16,0x67,0x67,0x1,0x1) // Processor I/F.
66 IO(Decode16,0x70,0x70,0x1,0x1) // NMI Enable.
67 IO(Decode16,0x80,0x80,0x1,0x10) // Postcode.
68 IO(Decode16,0x92,0x92,0x1,0x1) // Processor I/F.
69 IO(Decode16,0xB2,0xB2,0x01,0x02) // Software SMI.
70 IO(Decode16,0x680,0x680,0x1,0x20) // 32 Byte I/O.
71 IO(Decode16,0x400,0x400,0x1,0x80) // ACPI Base.
72 IO(Decode16,0x500,0x500,0x1,0xFF) // GPIO Base.
73 })
74 }
75
76 Device(TIMR) // 8254 Timer
77 {
78 Name(_HID,EISAID("PNP0100"))
79
80 Name(_CRS,ResourceTemplate()
81 {
82 IO(Decode16,0x40,0x40,0x01,0x04)
83 IO(Decode16,0x50,0x50,0x10,0x04)
84 IRQNoFlags() {0}
85 })
86 }
87
88 Device(IUR3) // Internal UART
89 {
90 Name(_HID, EISAID("PNP0501"))
91
92 Name(_UID,1)
93
94 // Status Method for internal UART
95
96 Method(_STA,0,Serialized)
97 {
98 // Only report resources to the OS if internal UART is
99 // not set to Disabled in BIOS Setup.
100
101 If(LEqual(USEL,0))
102 {
103 If(LEqual(PU1E,1))
104 {
105 Store(1,UI3E) // Enable IRQ3 for UART
106 Store(1,UI4E) // Enable IRQ4 for UART
107 Store(1,C1EN) // Enable UART
108 Return(0x000F)
109 }
110 }
111
112 Return(0x0000)
113 }
114
115 // Disable Method for internal UART
116
117 Method(_DIS,0,Serialized)
118 {
119 Store(0,UI3E)
120 Store(0,UI4E)
121 Store(0,C1EN)
122 }
123
124 // Current Resource Setting Method for internal UART
125
126 Method(_CRS,0,Serialized)
127 {
128 // Create the Buffer that stores the Resources to
129 // be returned.
130
131 Name(BUF0,ResourceTemplate()
132 {
133 IO(Decode16,0x03F8,0x03F8,0x01,0x08)
134 IRQNoFlags() {3}
135 })
136
137 Name(BUF1,ResourceTemplate()
138 {
139 IO(Decode16,0x03F8,0x03F8,0x01,0x08)
140 IRQNoFlags() {4}
141 })
142
143 If (LLessEqual(SRID, 0x04))
144 {
145 Return(BUF0)
146 } Else
147 {
148 Return(BUF1)
149 }
150 }
151 }