payloads/edk2: Disable the CPU Timer Lib unless supported
[coreboot.git] / src / mainboard / lenovo / x201 / acpi / platform.asl
blob44b06c6a05db0b23b12ca10833af2bf5e84a77b5
1 /* SPDX-License-Identifier: GPL-2.0-only */
3 /* The _PTS method (Prepare To Sleep) is called before the OS is
4  * entering a sleep state. The sleep state number is passed in Arg0
5  */
7 Method(_PTS,1)
9         \_SB.PCI0.LPCB.EC.MUTE(1)
10         \_SB.PCI0.LPCB.EC.USBP(0)
11         \_SB.PCI0.LPCB.EC.RADI(0)
14 /* The _WAK method is called on system wakeup */
16 Method(_WAK,1)
18         /* ME may not be up yet. */
19         \_TZ.MEB1 = 0
20         \_TZ.MEB2 = 0
22         /* Wake the HKEY to init BT/WWAN */
23         \_SB.PCI0.LPCB.EC.HKEY.WAKE (Arg0)
25         /* Not implemented. */
26         Return(Package(){0,0})
29 /* System Bus */
31 Scope(\_SB)
33         /* This method is placed on the top level, so we can make sure it's the
34          * first executed _INI method.
35          */
36         Method(_INI, 0)
37         {
38                 /* The DTS data in NVS is probably not up to date.
39                  * Update temperature values and make sure AP thermal
40                  * interrupts can happen
41                  */
43                 /* TRAP(71) */ /* TODO */
45                 /* Determine the Operating System and save the value in OSYS.
46                  * We have to do this in order to be able to work around
47                  * certain windows bugs.
48                  *
49                  *    OSYS value | Operating System
50                  *    -----------+------------------
51                  *       2000    | Windows 2000
52                  *       2001    | Windows XP(+SP1)
53                  *       2002    | Windows XP SP2
54                  *       2006    | Windows Vista
55                  *       ????    | Windows 7
56                  */
58                 /* Let's assume we're running at least Windows 2000 */
59                 OSYS =  2000
61                 If (CondRefOf(_OSI)) {
62                         If (_OSI("Windows 2001")) {
63                                 OSYS = 2001
64                         }
66                         If (_OSI("Windows 2001 SP1")) {
67                                 OSYS = 2001
68                         }
70                         If (_OSI("Windows 2001 SP2")) {
71                                 OSYS = 2002
72                         }
74                         If (_OSI("Windows 2001.1")) {
75                                 OSYS = 2001
76                         }
78                         If (_OSI("Windows 2001.1 SP1")) {
79                                 OSYS = 2001
80                         }
82                         If (_OSI("Windows 2006")) {
83                                 OSYS = 2006
84                         }
86                         If (_OSI("Windows 2006.1")) {
87                                 OSYS = 2006
88                         }
90                         If (_OSI("Windows 2006 SP1")) {
91                                 OSYS = 2006
92                         }
94                         If (_OSI("Windows 2009")) {
95                                 OSYS = 2009
96                         }
98                         If (_OSI("Windows 2012")) {
99                                 OSYS = 2012
100                         }
101                 }
102         }