Root/include/sound/tlv320aic3x.h

1/*
2 * Platform data for Texas Instruments TLV320AIC3x codec
3 *
4 * Author: Jarkko Nikula <jarkko.nikula@bitmer.com>
5 *
6 * This program is free software; you can redistribute it and/or modify
7 * it under the terms of the GNU General Public License version 2 as
8 * published by the Free Software Foundation.
9 */
10#ifndef __TLV320AIC3x_H__
11#define __TLV320AIC3x_H__
12
13/* GPIO API */
14enum {
15    AIC3X_GPIO1_FUNC_DISABLED = 0,
16    AIC3X_GPIO1_FUNC_AUDIO_WORDCLK_ADC = 1,
17    AIC3X_GPIO1_FUNC_CLOCK_MUX = 2,
18    AIC3X_GPIO1_FUNC_CLOCK_MUX_DIV2 = 3,
19    AIC3X_GPIO1_FUNC_CLOCK_MUX_DIV4 = 4,
20    AIC3X_GPIO1_FUNC_CLOCK_MUX_DIV8 = 5,
21    AIC3X_GPIO1_FUNC_SHORT_CIRCUIT_IRQ = 6,
22    AIC3X_GPIO1_FUNC_AGC_NOISE_IRQ = 7,
23    AIC3X_GPIO1_FUNC_INPUT = 8,
24    AIC3X_GPIO1_FUNC_OUTPUT = 9,
25    AIC3X_GPIO1_FUNC_DIGITAL_MIC_MODCLK = 10,
26    AIC3X_GPIO1_FUNC_AUDIO_WORDCLK = 11,
27    AIC3X_GPIO1_FUNC_BUTTON_IRQ = 12,
28    AIC3X_GPIO1_FUNC_HEADSET_DETECT_IRQ = 13,
29    AIC3X_GPIO1_FUNC_HEADSET_DETECT_OR_BUTTON_IRQ = 14,
30    AIC3X_GPIO1_FUNC_ALL_IRQ = 16
31};
32
33enum {
34    AIC3X_GPIO2_FUNC_DISABLED = 0,
35    AIC3X_GPIO2_FUNC_HEADSET_DETECT_IRQ = 2,
36    AIC3X_GPIO2_FUNC_INPUT = 3,
37    AIC3X_GPIO2_FUNC_OUTPUT = 4,
38    AIC3X_GPIO2_FUNC_DIGITAL_MIC_INPUT = 5,
39    AIC3X_GPIO2_FUNC_AUDIO_BITCLK = 8,
40    AIC3X_GPIO2_FUNC_HEADSET_DETECT_OR_BUTTON_IRQ = 9,
41    AIC3X_GPIO2_FUNC_ALL_IRQ = 10,
42    AIC3X_GPIO2_FUNC_SHORT_CIRCUIT_OR_AGC_IRQ = 11,
43    AIC3X_GPIO2_FUNC_HEADSET_OR_BUTTON_PRESS_OR_SHORT_CIRCUIT_IRQ = 12,
44    AIC3X_GPIO2_FUNC_SHORT_CIRCUIT_IRQ = 13,
45    AIC3X_GPIO2_FUNC_AGC_NOISE_IRQ = 14,
46    AIC3X_GPIO2_FUNC_BUTTON_PRESS_IRQ = 15
47};
48
49enum aic3x_micbias_voltage {
50    AIC3X_MICBIAS_OFF = 0,
51    AIC3X_MICBIAS_2_0V = 1,
52    AIC3X_MICBIAS_2_5V = 2,
53    AIC3X_MICBIAS_AVDDV = 3,
54};
55
56struct aic3x_setup_data {
57    unsigned int gpio_func[2];
58};
59
60struct aic3x_pdata {
61    int gpio_reset; /* < 0 if not used */
62    struct aic3x_setup_data *setup;
63
64    /* Selects the micbias voltage */
65    enum aic3x_micbias_voltage micbias_vg;
66};
67
68#endif
69

Archive Download this file



interactive