summaryrefslogtreecommitdiff
path: root/arch/arm/mach-tegra/board-enterprise.c
diff options
context:
space:
mode:
authorAnkit Gupta <ankitgupta@nvidia.com>2012-07-13 14:58:18 +0530
committerSimone Willett <swillett@nvidia.com>2012-07-27 15:36:20 -0700
commit907bac80691c7df5b5b57cbf27f91e8bb1dcf434 (patch)
tree6faf5515229b1caa85e824188017d1f1e6c6452d /arch/arm/mach-tegra/board-enterprise.c
parent5c84dc32d54f8bbda99f8a4e1fd7300e6b5a50b3 (diff)
ARM: tegra: integration of slave mode support.
Add configurability support for i2s parameters accross all board. ARM: tegra: board: add i2s params Add configurability support for i2s parameters accross all board files. Signed-off-by: Ankit Gupta <ankitgupta@nvidia.com> Change-Id: If58788b5126280b7e1dc8c66e9c96d0e71229b5e Reviewed-on: http://git-master/r/111476 (cherry-picked from commit cac52867b0a0cad3b3c5bf46f08b0b94d0be2e02) ARM: tegra: include: add configurability support for i2s params. Add several variables for i2s configuration in platform data structure. Signed-off-by: Ankit Gupta <ankitgupta@nvidia.com> Change-Id: Iea3930f308954471f170513234c2c02a8559ef98 Reviewed-on: http://git-master/r/111473 (cherry picked from commit 35e749770f6046fc82860f1152db2f5f579b9508) Reviewed-on: http://git-master/r/118071 Reviewed-by: Sumit Bhattacharya <sumitb@nvidia.com> Reviewed-by: Automatic_Commit_Validation_User Reviewed-by: Scott Peterson <speterson@nvidia.com>
Diffstat (limited to 'arch/arm/mach-tegra/board-enterprise.c')
-rw-r--r--arch/arm/mach-tegra/board-enterprise.c57
1 files changed, 38 insertions, 19 deletions
diff --git a/arch/arm/mach-tegra/board-enterprise.c b/arch/arm/mach-tegra/board-enterprise.c
index f9e5b05e6d3c..f9791a7b0e48 100644
--- a/arch/arm/mach-tegra/board-enterprise.c
+++ b/arch/arm/mach-tegra/board-enterprise.c
@@ -467,8 +467,6 @@ static void __init enterprise_uart_init(void)
ARRAY_SIZE(enterprise_uart_devices));
}
-
-
static struct resource tegra_rtc_resources[] = {
[0] = {
.start = TEGRA_RTC_BASE,
@@ -500,16 +498,27 @@ static struct tegra_asoc_platform_data enterprise_audio_pdata = {
.gpio_hp_mute = -1,
.gpio_int_mic_en = -1,
.gpio_ext_mic_en = -1,
- .debounce_time_hp = -1,
+ .debounce_time_hp = -1,
/*defaults for Enterprise board*/
- .audio_port_id = {
- [HIFI_CODEC] = 0,
- [BASEBAND] = 2,
- [BT_SCO] = 3,
+ .i2s_param[HIFI_CODEC] = {
+ .audio_port_id = 0,
+ .is_i2s_master = 1,
+ .i2s_mode = TEGRA_DAIFMT_I2S,
+ .sample_size = 16,
},
- .baseband_param = {
- .rate = 8000,
- .channels = 1,
+ .i2s_param[BASEBAND] = {
+ .audio_port_id = 2,
+ .is_i2s_master = 1,
+ .i2s_mode = TEGRA_DAIFMT_DSP_A,
+ .sample_size = 16,
+ .rate = 8000,
+ .channels = 1,
+ },
+ .i2s_param[BT_SCO] = {
+ .audio_port_id = 3,
+ .is_i2s_master = 1,
+ .i2s_mode = TEGRA_DAIFMT_DSP_A,
+ .sample_size = 16,
},
};
@@ -528,15 +537,25 @@ static struct tegra_asoc_platform_data enterprise_audio_aic326x_pdata = {
.gpio_int_mic_en = -1,
.gpio_ext_mic_en = -1,
/*defaults for Verbier-Enterprise (E1197) board with TI AIC326X codec*/
- .audio_port_id = {
- [HIFI_CODEC] = 0,
- [BASEBAND] = 2,
- [BT_SCO] = 3,
+ .i2s_param[HIFI_CODEC] = {
+ .audio_port_id = 0,
+ .is_i2s_master = 1,
+ .i2s_mode = TEGRA_DAIFMT_I2S,
+ .sample_size = 16,
+ },
+ .i2s_param[BASEBAND] = {
+ .audio_port_id = 2,
+ .is_i2s_master = 1,
+ .i2s_mode = TEGRA_DAIFMT_DSP_A,
+ .sample_size = 16,
+ .rate = 8000,
+ .channels = 1,
},
- .baseband_param = {
- .rate = 8000,
- .channels = 1,
- .bit_format = TEGRA_DAIFMT_DSP_A,
+ .i2s_param[BT_SCO] = {
+ .sample_size = 16,
+ .audio_port_id = 3,
+ .is_i2s_master = 1,
+ .i2s_mode = TEGRA_DAIFMT_DSP_A,
},
};
@@ -849,7 +868,7 @@ static void enterprise_audio_init(void)
tegra_get_board_info(&board_info);
if (board_info.board_id == BOARD_E1197)
- enterprise_audio_pdata.audio_port_id[HIFI_CODEC] = 1;
+ enterprise_audio_pdata.i2s_param[HIFI_CODEC].audio_port_id = 1;
platform_add_devices(enterprise_audio_devices,
ARRAY_SIZE(enterprise_audio_devices));