]> git.proxmox.com Git - mirror_ubuntu-jammy-kernel.git/blame - include/sound/tlv320aic3x.h
netfilter: nf_tables: nft_parse_register can return a negative value
[mirror_ubuntu-jammy-kernel.git] / include / sound / tlv320aic3x.h
CommitLineData
d2912cb1 1/* SPDX-License-Identifier: GPL-2.0-only */
5193d62f
JN
2/*
3 * Platform data for Texas Instruments TLV320AIC3x codec
4 *
7ec41ee5 5 * Author: Jarkko Nikula <jarkko.nikula@bitmer.com>
5193d62f
JN
6 */
7#ifndef __TLV320AIC3x_H__
8#define __TLV320AIC3x_H__
9
f0fba2ad
LG
10/* GPIO API */
11enum {
12 AIC3X_GPIO1_FUNC_DISABLED = 0,
13 AIC3X_GPIO1_FUNC_AUDIO_WORDCLK_ADC = 1,
14 AIC3X_GPIO1_FUNC_CLOCK_MUX = 2,
15 AIC3X_GPIO1_FUNC_CLOCK_MUX_DIV2 = 3,
16 AIC3X_GPIO1_FUNC_CLOCK_MUX_DIV4 = 4,
17 AIC3X_GPIO1_FUNC_CLOCK_MUX_DIV8 = 5,
18 AIC3X_GPIO1_FUNC_SHORT_CIRCUIT_IRQ = 6,
19 AIC3X_GPIO1_FUNC_AGC_NOISE_IRQ = 7,
20 AIC3X_GPIO1_FUNC_INPUT = 8,
21 AIC3X_GPIO1_FUNC_OUTPUT = 9,
22 AIC3X_GPIO1_FUNC_DIGITAL_MIC_MODCLK = 10,
23 AIC3X_GPIO1_FUNC_AUDIO_WORDCLK = 11,
24 AIC3X_GPIO1_FUNC_BUTTON_IRQ = 12,
25 AIC3X_GPIO1_FUNC_HEADSET_DETECT_IRQ = 13,
26 AIC3X_GPIO1_FUNC_HEADSET_DETECT_OR_BUTTON_IRQ = 14,
27 AIC3X_GPIO1_FUNC_ALL_IRQ = 16
28};
29
30enum {
31 AIC3X_GPIO2_FUNC_DISABLED = 0,
32 AIC3X_GPIO2_FUNC_HEADSET_DETECT_IRQ = 2,
33 AIC3X_GPIO2_FUNC_INPUT = 3,
34 AIC3X_GPIO2_FUNC_OUTPUT = 4,
35 AIC3X_GPIO2_FUNC_DIGITAL_MIC_INPUT = 5,
36 AIC3X_GPIO2_FUNC_AUDIO_BITCLK = 8,
37 AIC3X_GPIO2_FUNC_HEADSET_DETECT_OR_BUTTON_IRQ = 9,
38 AIC3X_GPIO2_FUNC_ALL_IRQ = 10,
39 AIC3X_GPIO2_FUNC_SHORT_CIRCUIT_OR_AGC_IRQ = 11,
40 AIC3X_GPIO2_FUNC_HEADSET_OR_BUTTON_PRESS_OR_SHORT_CIRCUIT_IRQ = 12,
41 AIC3X_GPIO2_FUNC_SHORT_CIRCUIT_IRQ = 13,
42 AIC3X_GPIO2_FUNC_AGC_NOISE_IRQ = 14,
43 AIC3X_GPIO2_FUNC_BUTTON_PRESS_IRQ = 15
44};
45
e2e8bfdf
HG
46enum aic3x_micbias_voltage {
47 AIC3X_MICBIAS_OFF = 0,
48 AIC3X_MICBIAS_2_0V = 1,
49 AIC3X_MICBIAS_2_5V = 2,
50 AIC3X_MICBIAS_AVDDV = 3,
51};
52
f0fba2ad
LG
53struct aic3x_setup_data {
54 unsigned int gpio_func[2];
55};
56
5193d62f
JN
57struct aic3x_pdata {
58 int gpio_reset; /* < 0 if not used */
f0fba2ad 59 struct aic3x_setup_data *setup;
e2e8bfdf
HG
60
61 /* Selects the micbias voltage */
62 enum aic3x_micbias_voltage micbias_vg;
5193d62f
JN
63};
64
f0fba2ad 65#endif