1 /* Copyright (c) 2012-2016, The Linux Foundation. All rights reserved.
3 * This program is free software; you can redistribute it and/or modify
4 * it under the terms of the GNU General Public License version 2 and
5 * only version 2 as published by the Free Software Foundation.
7 * This program is distributed in the hope that it will be useful,
8 * but WITHOUT ANY WARRANTY; without even the implied warranty of
9 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
10 * GNU General Public License for more details.
13 #ifndef __MSM_DAI_Q6_PDATA_H__
15 #define __MSM_DAI_Q6_PDATA_H__
17 #define MSM_MI2S_SD0 (1 << 0)
18 #define MSM_MI2S_SD1 (1 << 1)
19 #define MSM_MI2S_SD2 (1 << 2)
20 #define MSM_MI2S_SD3 (1 << 3)
21 #define MSM_MI2S_CAP_RX 0
22 #define MSM_MI2S_CAP_TX 1
24 #define MSM_PRIM_MI2S 0
25 #define MSM_SEC_MI2S 1
26 #define MSM_TERT_MI2S 2
27 #define MSM_QUAT_MI2S 3
28 #define MSM_SEC_MI2S_SD1 4
29 #define MSM_QUIN_MI2S 5
30 #define MSM_SENARY_MI2S 6
31 #define MSM_INT0_MI2S 7
32 #define MSM_INT1_MI2S 8
33 #define MSM_INT2_MI2S 9
34 #define MSM_INT3_MI2S 10
35 #define MSM_INT4_MI2S 11
36 #define MSM_INT5_MI2S 12
37 #define MSM_INT6_MI2S 13
38 #define MSM_MI2S_MIN MSM_PRIM_MI2S
39 #define MSM_MI2S_MAX MSM_INT6_MI2S
41 struct msm_dai_auxpcm_config {
52 struct msm_dai_auxpcm_pdata {
53 struct msm_dai_auxpcm_config mode_8k;
54 struct msm_dai_auxpcm_config mode_16k;
57 struct msm_mi2s_pdata {
64 u32 capability; /* RX or TX */
68 struct msm_dai_tdm_group_config {
75 struct msm_dai_tdm_config {
82 u16 header_start_offset;
84 u16 header_num_frame_repeat;
87 struct msm_dai_tdm_pdata {
88 struct msm_dai_tdm_group_config group_config;
89 struct msm_dai_tdm_config config;