]> git.proxmox.com Git - mirror_edk2.git/blame - QuarkPlatformPkg/Acpi/AcpiTables/Dsdt/PcieExpansionPrt.asi
ArmPkg/CompilerIntrinsicsLib: Add uread, uwrite GCC assembly sources
[mirror_edk2.git] / QuarkPlatformPkg / Acpi / AcpiTables / Dsdt / PcieExpansionPrt.asi
CommitLineData
b303605e
MK
1/** @file\r
2PCI express expansion ports\r
3\r
4Copyright (c) 2013-2015 Intel Corporation.\r
5\r
0eb3de2e 6SPDX-License-Identifier: BSD-2-Clause-Patent\r
b303605e
MK
7\r
8**/\r
9\r
10#ifndef PcieExpansionPrt_asi\r
11#define PcieExpansionPrt_asi\r
12\r
13Device (PEX0) // PCI express bus bridged from [Bus 0, Device 23, Function 0]\r
14{\r
15 Name(_ADR,0x00170000) // Device (HI WORD)=23, Func (LO WORD)=0\r
16 Name(_PRW,Package(){0x11,0x03}) // GPE pin 0x11, Wake from S3 -- PCI PME#\r
17\r
18 OperationRegion (PES0,PCI_Config,0x40,0xA0)\r
19 Field (PES0, AnyAcc, NoLock, Preserve)\r
20 {\r
21 Offset(0x1A), // SLSTS - Slot Status Register\r
22 ABP0, 1, // Bit 0, Attention Button Pressed\r
23 , 2,\r
24 PDC0, 1, // Bit 3, Presence Detect Changed\r
25 , 2,\r
26 PDS0, 1, // Bit 6, Presence Detect State\r
27 , 1,\r
28 LSC0, 1, // Bit 8, Link Active State Changed\r
29 offset (0x20),\r
30 , 16,\r
31 PMS0, 1, // Bit 16, PME Status\r
32 offset (0x98),\r
33 , 30,\r
34 HPE0, 1, // Bit 30, Hot Plug SCI Enable\r
35 PCE0, 1, // Bit 31, Power Management SCI Enable.\r
36 , 30,\r
37 HPS0, 1, // Bit 30, Hot Plug SCI Status\r
38 PCS0, 1, // Bit 31, Power Management SCI Status.\r
39 }\r
40\r
41 Method(_PRT,0,NotSerialized) {\r
42 If (LEqual(\GPIC, Zero)) // 8259 Interrupt Routing\r
43 {\r
44 Return (\r
45 Package()\r
46 {\r
47 // Port 0: INTA->PIRQE,INTB->PIRQF,INTC->PIRQG,INTD->PIRQH\r
48 Package() {0x0000ffff, 0, \_SB_.PCI0.LPC.LNKE, 0}, // PCI Slot 1\r
49 Package() {0x0000ffff, 1, \_SB_.PCI0.LPC.LNKF, 0},\r
50 Package() {0x0000ffff, 2, \_SB_.PCI0.LPC.LNKG, 0},\r
51 Package() {0x0000ffff, 3, \_SB_.PCI0.LPC.LNKH, 0},\r
52 }\r
53 )\r
54 }\r
55 else // IOAPIC Routing\r
56 {\r
57 Return (\r
58 Package()\r
59 {\r
60 // Port 0: INTA->PIRQE,INTB->PIRQF,INTC->PIRQG,INTD->PIRQH\r
61 Package() {0x0000ffff, 0, 0, 20}, // PCI Slot 1\r
62 Package() {0x0000ffff, 1, 0, 21},\r
63 Package() {0x0000ffff, 2, 0, 22},\r
64 Package() {0x0000ffff, 3, 0, 23},\r
65 }\r
66 )\r
67 }\r
68 }\r
69}\r
70\r
71Device (PEX1) // PCI express bus bridged from [Bus 0, Device 23, Function 1]\r
72{\r
73 Name(_ADR,0x00170001) // Device (HI WORD)=23, Func (LO WORD)=1\r
74 Name(_PRW,Package(){0x11,0x03}) // GPE pin 0x11, Wake from S3 -- PCI PME#\r
75 OperationRegion (PES1,PCI_Config,0x40,0xA0)\r
76 Field (PES1, AnyAcc, NoLock, Preserve)\r
77 {\r
78 Offset(0x1A), // SLSTS - Slot Status Register\r
79 ABP1, 1, // Bit 0, Attention Button Pressed\r
80 , 2,\r
81 PDC1, 1, // Bit 3, Presence Detect Changed\r
82 , 2,\r
83 PDS1, 1, // Bit 6, Presence Detect State\r
84 , 1,\r
85 LSC1, 1, // Bit 8, Link Active State Changed\r
86 offset (0x20),\r
87 , 16,\r
88 PMS1, 1, // Bit 16, PME Status\r
89 offset (0x98),\r
90 , 30,\r
91 HPE1, 1, // Bit 30, Hot Plug SCI Enable\r
92 PCE1, 1, // Bit 31, Power Management SCI Enable.\r
93 , 30,\r
94 HPS1, 1, // Bit 30, Hot Plug SCI Status\r
95 PCS1, 1, // Bit 31, Power Management SCI Status.\r
96 }\r
97 Method(_PRT,0,NotSerialized) {\r
98 If (LEqual(\GPIC, Zero)) // 8259 Interrupt Routing\r
99 {\r
100 Return (\r
101 Package()\r
102 {\r
103 // Port 1: INTA->PIRQF,INTB->PIRQG,INTC->PIRQH,INTD->PIRQE\r
104 Package() {0x0000ffff, 0, \_SB_.PCI0.LPC.LNKF, 0},\r
105 Package() {0x0000ffff, 1, \_SB_.PCI0.LPC.LNKG, 0},\r
106 Package() {0x0000ffff, 2, \_SB_.PCI0.LPC.LNKH, 0},\r
107 Package() {0x0000ffff, 3, \_SB_.PCI0.LPC.LNKE, 0},\r
108 }\r
109 )\r
110 }\r
111 else // IOAPIC Routing\r
112 {\r
113 Return (\r
114 Package()\r
115 {\r
116 // Port 1: INTA->PIRQF,INTB->PIRQG,INTC->PIRQH,INTD->PIRQE\r
117 Package() {0x0000ffff, 0, 0, 21},\r
118 Package() {0x0000ffff, 1, 0, 22},\r
119 Package() {0x0000ffff, 2, 0, 23},\r
120 Package() {0x0000ffff, 3, 0, 20},\r
121 }\r
122 )\r
123 }\r
124 }\r
125}\r
126\r
127#endif\r