soc/intel: Add Alder Lake's GT device ID
[coreboot.git] / src / soc / intel / alderlake / acpi / pch_hda.asl
blob13b4d3ddd01e61258e21bab03f117c31cb4e8c7a
1 /* SPDX-License-Identifier: GPL-2.0-only */
3 /* Audio Controller - Device 31, Function 3 */
5 Device (HDAS)
7         Name (_ADR, 0x001f0003)
8         Name (_DDN, "Audio Controller")
9         Name (UUID, ToUUID ("A69F886E-6CEB-4594-A41F-7B5DCE24C553"))
11         /* Device is D3 wake capable */
12         Name (_S0W, 3)
14         /* NHLT Table Address populated from GNVS values */
15         Name (NBUF, ResourceTemplate () {
16                 QWordMemory (ResourceConsumer, PosDecode, MinFixed,
17                              MaxFixed, NonCacheable, ReadOnly,
18                              0, 0, 0, 0, 1,,, NHLT, AddressRangeACPI)
19         })
21         /*
22          * Device Specific Method
23          * Arg0 - UUID
24          * Arg1 - Revision
25          * Arg2 - Function Index
26          */
27         Method (_DSM, 4)
28         {
29                 If (Arg0 == ^UUID) {
30                         /*
31                          * Function 0: Function Support Query
32                          * Returns a bitmask of functions supported.
33                          */
34                         If (Arg2 == 0) {
35                                 /*
36                                  * NHLT Query only supported for revision 1 and
37                                  * if NHLT address and length are set in NVS.
38                                  */
39                                 If ((Arg1 == 1) && (NHLA != 0) && (NHLL != 0)) {
40                                         Return (Buffer (One) { 0x03 })
41                                 } Else {
42                                         Return (Buffer (One) { 0x01 })
43                                 }
44                         }
46                         /*
47                          * Function 1: Query NHLT memory address used by
48                          * Intel Offload Engine Driver to discover any non-HDA
49                          * devices that are supported by the DSP.
50                          *
51                          * Returns a pointer to NHLT table in memory.
52                          */
53                         If (Arg2 == 1) {
54                                 CreateQWordField (NBUF, ^NHLT._MIN, NBAS)
55                                 CreateQWordField (NBUF, ^NHLT._MAX, NMAS)
56                                 CreateQWordField (NBUF, ^NHLT._LEN, NLEN)
58                                 NBAS = NHLA
59                                 NMAS = NHLA
60                                 NLEN = NHLL
62                                 Return (NBUF)
63                         }
64                 }
66                 Return (Buffer (One) { 0x00 })
67         }