ARM: tegra: integration of slave mode support.
[linux-2.6.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 NUM_I2S_DEVICES         3
21
22 #define TEGRA_DAIFMT_DSP_A              0
23 #define TEGRA_DAIFMT_DSP_B              1
24 #define TEGRA_DAIFMT_I2S                2
25 #define TEGRA_DAIFMT_RIGHT_J            3
26 #define TEGRA_DAIFMT_LEFT_J             4
27
28 struct i2s_config {
29         int audio_port_id;
30         int is_i2s_master;
31         int i2s_mode;
32         int sample_size;
33         int rate;
34         int channels;
35 };
36
37 struct tegra_asoc_platform_data {
38         const char *codec_name;
39         const char *codec_dai_name;
40         int gpio_spkr_en;
41         int gpio_hp_det;
42         int gpio_hp_mute;
43         int gpio_int_mic_en;
44         int gpio_ext_mic_en;
45         unsigned int debounce_time_hp;
46         struct i2s_config i2s_param[NUM_I2S_DEVICES];
47 };