1 /* SPDX-License-Identifier: GPL-2.0-only */
3 /* Include in each PCIe Root Port device */
5 /* lowest D-state supported by
6 * PCIe root port during S0 state
10 Name (PDST, 0) /* present Detect status */
12 /* Dynamic Opregion needed to access registers
13 * when the controller is in D3 cold
15 OperationRegion (PX01, PCI_Config, 0x00, 0xFF)
16 Field (PX01, AnyAcc, NoLock, Preserve)
20 PDS, 1, /* 6, Presence detect Change */
21 Offset(0xE2), /* RPPGEN - Root Port Power Gating Enable */
23 L23E, 1, /* 2, L23_Rdy Entry Request (L23ER) */
24 L23R, 1, /* 3, L23_Rdy to Detect Transition (L23R2DT) */
25 Offset(0xF4), /* BLKPLLEN */
30 OperationRegion (PX02, PCI_Config, 0x338, 0x4)
31 Field (PX02, AnyAcc, NoLock, Preserve)
37 PowerResource (PXP, 0, 0)
39 /* Define the PowerResource for PCIe slot */
40 Method (_STA, 0, Serialized)
50 Method (_ON, 0, Serialized)
52 If (PDST == 1 && \PRT0 != 0) {
53 /* Enter this condition if device
58 \_SB.PCI0.PRDA (\PRT0)
60 BDQA = 0 /* Set BLKDQDA to 0 */
61 BPLL = 0 /* Set BLKPLLEN to 0 */
63 /* Set L23_Rdy to Detect Transition
70 /* Delay for transition Detect
80 } /* End PDS condition check */
83 Method (_OFF, 0, Serialized)
85 /* Set L23_Rdy Entry Request (L23ER) */
86 If (PDST == 1 && \PRT0 != 0) {
87 /* enter this condition if device
100 BDQA = 1 /* Set BLKDQDA to 1 */
101 BPLL = 1 /* Set BLKPLLEN to 1 */
104 \_SB.PCI0.PRAS (\PRT0)
105 } /* End PDS condition check */
106 } /* End of Method_OFF */
109 Name(_PR0, Package() { PXP })
110 Name(_PR3, Package() { PXP })