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