Merge tag 'pinctrl-v5.3-1' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw...
[platform/kernel/linux-rpi.git] / include / sound / max98095.h
1 /* SPDX-License-Identifier: GPL-2.0-or-later */
2 /*
3  * Platform data for MAX98095
4  *
5  * Copyright 2011 Maxim Integrated Products
6  */
7
8 #ifndef __SOUND_MAX98095_PDATA_H__
9 #define __SOUND_MAX98095_PDATA_H__
10
11 /* Equalizer filter response configuration */
12 struct max98095_eq_cfg {
13         const char *name;
14         unsigned int rate;
15         u16 band1[5];
16         u16 band2[5];
17         u16 band3[5];
18         u16 band4[5];
19         u16 band5[5];
20 };
21
22 /* Biquad filter response configuration */
23 struct max98095_biquad_cfg {
24         const char *name;
25         unsigned int rate;
26         u16 band1[5];
27         u16 band2[5];
28 };
29
30 /* codec platform data */
31 struct max98095_pdata {
32
33         /* Equalizers for DAI1 and DAI2 */
34         struct max98095_eq_cfg *eq_cfg;
35         unsigned int eq_cfgcnt;
36
37         /* Biquad filter for DAI1 and DAI2 */
38         struct max98095_biquad_cfg *bq_cfg;
39         unsigned int bq_cfgcnt;
40
41         /* Analog/digital microphone configuration:
42          * 0 = analog microphone input (normal setting)
43          * 1 = digital microphone input
44          */
45         unsigned int digmic_left_mode:1;
46         unsigned int digmic_right_mode:1;
47
48         /* Pin5 is the mechanical method of sensing jack insertion
49          * but it is something that might not be supported.
50          * 0 = PIN5 not supported
51          * 1 = PIN5 supported
52          */
53         unsigned int jack_detect_pin5en:1;
54
55         /* Slew amount for jack detection. Calculated as 4 * (delay + 1).
56          * Default delay is 24 to get a time of 100ms.
57          */
58         unsigned int jack_detect_delay;
59 };
60
61 #endif