coreboot
coreboot is an Open Source project aimed at replacing the proprietary BIOS found in most computers.
nhlt.h
Go to the documentation of this file.
1 /* SPDX-License-Identifier: GPL-2.0-only */
2 
3 #ifndef _SOC_NHLT_H_
4 #define _SOC_NHLT_H_
5 
6 #include <nhlt.h>
7 
8 #define NHLT_VID 0x8086
9 #define NHLT_DID_DMIC 0xae20
10 #define NHLT_DID_BT 0xae30
11 #define NHLT_DID_SSP 0xae34
12 
13 /*
14  * Skylake NHLT link types. These values are to be used for the hwlink
15  * fields in the functions below to specify which link a device is on.
16  */
17 
18 enum {
21  AUDIO_LINK_SSP2, /* Only Bluetooth supported on SSP2. */
23 };
24 
25 /*
26  * Add a dmic array composed of the provided number of channels. The skylake
27  * SoC currently only supports dmic arrays on the dmic signals. Either 2
28  * or 4 channel arrays are supported. Returns 0 on success, < 0 on error.
29  */
30 int nhlt_soc_add_dmic_array(struct nhlt *nhlt, int num_channels);
31 
32 /*
33  * Add nau88l25 headset codec on provided SSP link. Return 0 on success, < 0
34  * on error.
35  */
36 int nhlt_soc_add_nau88l25(struct nhlt *nhlt, int hwlink);
37 
38 /*
39  * Add ssm4567 smart amplifiers in stereo configuration on provided SSP link.
40  * Return 0 on success, < 0 on error.
41  */
42 int nhlt_soc_add_ssm4567(struct nhlt *nhlt, int hwlink);
43 
44 /*
45  * Add max98357a amplifier in stereo configuration on provide SSP link.
46  * Return 0 on success, < 0 on error.
47  */
48 int nhlt_soc_add_max98357(struct nhlt *nhlt, int hwlink);
49 
50 /*
51  * Add max98373 amplifier in stereo configuration on provided SSP link.
52  * Return 0 on success, < 0 on error.
53  */
54 int nhlt_soc_add_max98373(struct nhlt *nhlt, int hwlink);
55 
56 /*
57  * Add rt5514 DSP on provided SSP link. Return 0 on success, < 0 on error.
58  */
59 int nhlt_soc_add_rt5514(struct nhlt *nhlt, int hwlink, int num_channels);
60 
61 /*
62  * Add rt5663 headset codec on provided SSP link. Return 0 on success, < 0
63  * on error.
64  */
65 int nhlt_soc_add_rt5663(struct nhlt *nhlt, int hwlink);
66 
67 /*
68  * Add max98927 amplifier in stereo configuration on provided SSP link.
69  * Return 0 on success, < 0 on error.
70  */
71 int nhlt_soc_add_max98927(struct nhlt *nhlt, int hwlink);
72 
73 /*
74  * Add da7219 headset codec on provided SSP link. Return 0 on success, < 0
75  * on error.
76  */
77 int nhlt_soc_add_da7219(struct nhlt *nhlt, int hwlink);
78 
79 #endif
int nhlt_soc_add_da7219(struct nhlt *nhlt, int hwlink)
Definition: nhlt.c:232
int nhlt_soc_add_dmic_array(struct nhlt *nhlt, int num_channels)
Definition: nhlt.c:168
@ AUDIO_LINK_SSP2
Definition: nhlt.h:17
@ AUDIO_LINK_SSP0
Definition: nhlt.h:15
@ AUDIO_LINK_DMIC
Definition: nhlt.h:21
@ AUDIO_LINK_SSP1
Definition: nhlt.h:16
int nhlt_soc_add_max98357(struct nhlt *nhlt, int hwlink)
Definition: nhlt.c:239
int nhlt_soc_add_max98373(struct nhlt *nhlt, int hwlink)
Definition: nhlt.c:253
int nhlt_soc_add_ssm4567(struct nhlt *nhlt, int hwlink)
Definition: ssm4567.c:52
int nhlt_soc_add_rt5514(struct nhlt *nhlt, int hwlink, int num_channels)
Definition: rt5514.c:39
int nhlt_soc_add_max98927(struct nhlt *nhlt, int hwlink)
Definition: max98927.c:59
int nhlt_soc_add_nau88l25(struct nhlt *nhlt, int hwlink)
Definition: nau88l25.c:53
int nhlt_soc_add_rt5663(struct nhlt *nhlt, int hwlink)
Definition: rt5663.c:57
Definition: nhlt.h:287