a62e0768155ca4da1e5dd01f443dc1d5317d51a4
[linux-3.10.git] / arch / arm / mach-tegra / include / mach / tegra_asoc_pdata.h
1 /*
2  * arch/arm/mach-tegra/include/mach/tegra_asoc_pdata.h
3  *
4  * Copyright (c) 2012, NVIDIA CORPORATION. All rights reserved.
5  *
6  * This software is licensed under the terms of the GNU General Public
7  * License version 2, as published by the Free Software Foundation, and
8  * may be copied, distributed, and modified under those terms.
9  *
10  * This program is distributed in the hope that it will be useful,
11  * but WITHOUT ANY WARRANTY; without even the implied warranty of
12  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
13  * GNU General Public License for more details.
14  *
15  */
16
17 #define HIFI_CODEC              0
18 #define BASEBAND                1
19 #define BT_SCO                  2
20 #define VOICE_CODEC             3
21 #define NUM_I2S_DEVICES         4
22
23 #define TEGRA_DAIFMT_DSP_A              0
24 #define TEGRA_DAIFMT_DSP_B              1
25 #define TEGRA_DAIFMT_I2S                2
26 #define TEGRA_DAIFMT_RIGHT_J            3
27 #define TEGRA_DAIFMT_LEFT_J             4
28
29 struct i2s_config {
30         int audio_port_id;
31         int is_i2s_master;
32         int i2s_mode;
33         int sample_size;
34         int rate;
35         int channels;
36         int bit_clk;
37 };
38
39 enum tegra_speaker_edp_states {
40         TEGRA_SPK_EDP_NEG_1,
41         TEGRA_SPK_EDP_ZERO,
42         TEGRA_SPK_EDP_1,
43         TEGRA_SPK_EDP_NUM_STATES,
44 };
45
46 struct tegra_asoc_platform_data {
47         const char *codec_name;
48         const char *codec_dai_name;
49         int gpio_spkr_en;
50         int gpio_hp_det;
51         int gpio_hp_mute;
52         int gpio_int_mic_en;
53         int gpio_ext_mic_en;
54         int gpio_ldo1_en;
55         int gpio_codec1;
56         int gpio_codec2;
57         int gpio_codec3;
58         unsigned int debounce_time_hp;
59         unsigned int edp_states[TEGRA_SPK_EDP_NUM_STATES];
60         struct i2s_config i2s_param[NUM_I2S_DEVICES];
61 };