payloads/edk2: Disable the CPU Timer Lib unless supported
[coreboot.git] / src / mainboard / asrock / e350m1 / acpi / sleep.asl
blob3b6fd02055eb044dd8f01b7c58ea7ddb87400ad1
1 /* SPDX-License-Identifier: GPL-2.0-only */
3 /* Wake status package */
4 Name(WKST,Package(){Zero, Zero})
6 /*
7 * \_PTS - Prepare to Sleep method
9 *       Entry:
10 *               Arg0=The value of the sleeping state S1=1, S2=2, etc
12 * Exit:
13 *               -none-
15 * The _PTS control method is executed at the beginning of the sleep process
16 * for S1-S5. The sleeping value is passed to the _PTS control method.  This
17 * control method may be executed a relatively long time before entering the
18 * sleep state and the OS may abort the operation without notification to
19 * the ACPI driver.  This method cannot modify the configuration or power
20 * state of any device in the system.
22 Method(\_PTS, 1) {
23         /* DBGO("\\_PTS\n") */
24         /* DBGO("From S0 to S") */
25         /* DBGO(Arg0) */
26         /* DBGO("\n") */
28         /* Don't allow PCIRST# to reset USB */
29         if (Arg0 == 3){
30                 URRE = 0
31         }
33         /* Clear sleep SMI status flag and enable sleep SMI trap. */
34         /*CSSM = 1
35         SSEN = 1*/
37         /* On older chips, clear PciExpWakeDisEn */
38         /*if (\_SB.SBRI <= 0x13) {
39         *       \_SB.PWDE = 0
40         *}
41         */
43         /* Clear wake status structure. */
44         WKST [0] = 0
45         WKST [1] = 0
46 } /* End Method(\_PTS) */
49 *  \_WAK System Wake method
51 *       Entry:
52 *               Arg0=The value of the sleeping state S1=1, S2=2
54 *       Exit:
55 *               Return package of 2 DWords
56 *               Dword 1 - Status
57 *                       0x00000000      wake succeeded
58 *                       0x00000001      Wake was signaled but failed due to lack of power
59 *                       0x00000002      Wake was signaled but failed due to thermal condition
60 *               Dword 2 - Power Supply state
61 *                       if non-zero the effective S-state the power supply entered
63 Method(\_WAK, 1) {
64         /* DBGO("\\_WAK\n") */
65         /* DBGO("From S") */
66         /* DBGO(Arg0) */
67         /* DBGO(" to S0\n") */
69         /* Re-enable HPET */
70         HPDE = 1
72         /* Restore PCIRST# so it resets USB */
73         if (Arg0 == 3){
74                 URRE = 1
75         }
77         /* Arbitrarily clear PciExpWakeStatus */
78         Local1 = PWST
79         PWST = Local1
81         /* if (DeRefOf(WKST [0])) {
82         *       WKST [1] = 0
83         * } else {
84         *       WKST [1] = Arg0
85         * }
86         */
87         Return(WKST)
88 } /* End Method(\_WAK) */