/arch/arm/mach-fsm/qdsp6/audiov2/dal_adie.h
C++ Header | 105 lines | 49 code | 14 blank | 42 comment | 0 complexity | e45255eea7f01f8c0e04cbfc86fd4f53 MD5 | raw file
Possible License(s): GPL-2.0, LGPL-2.0, AGPL-1.0
1/* Copyright (c) 2009, Code Aurora Forum. All rights reserved.
2 *
3 * Redistribution and use in source and binary forms, with or without
4 * modification, are permitted provided that the following conditions are
5 * met:
6 * * Redistributions of source code must retain the above copyright
7 * notice, this list of conditions and the following disclaimer.
8 * * Redistributions in binary form must reproduce the above
9 * copyright notice, this list of conditions and the following
10 * disclaimer in the documentation and/or other materials provided
11 * with the distribution.
12 * * Neither the name of Code Aurora Forum, Inc. nor the names of its
13 * contributors may be used to endorse or promote products derived
14 * from this software without specific prior written permission.
15 *
16 * THIS SOFTWARE IS PROVIDED "AS IS" AND ANY EXPRESS OR IMPLIED
17 * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
18 * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT
19 * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS
20 * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
21 * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
22 * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
23 * BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
24 * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE
25 * OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN
26 * IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
27 *
28 */
29
30#ifndef _MACH_MSM_QDSP6_ADIE_
31#define _MACH_MSM_QDSP6_ADIE_
32
33#include "../dal.h"
34
35#define ADIE_DAL_DEVICE 0x02000029
36#define ADIE_DAL_PORT "DAL_AM_AUD"
37#define ADIE_DAL_VERSION 0x00010000
38
39enum {
40 ADIE_OP_SET_PATH = DAL_OP_FIRST_DEVICE_API,
41 ADIE_OP_PROCEED_TO_STAGE,
42 ADIE_OP_IOCTL
43};
44
45/* Path IDs for normal operation. */
46#define ADIE_PATH_HANDSET_TX 0x010740f6
47#define ADIE_PATH_HANDSET_RX 0x010740f7
48#define ADIE_PATH_HEADSET_MONO_TX 0x010740f8
49#define ADIE_PATH_HEADSET_STEREO_TX 0x010740f9
50#define ADIE_PATH_HEADSET_MONO_RX 0x010740fa
51#define ADIE_PATH_HEADSET_STEREO_RX 0x010740fb
52#define ADIE_PATH_SPEAKER_TX 0x010740fc
53#define ADIE_PATH_SPEAKER_RX 0x010740fd
54#define ADIE_PATH_SPEAKER_STEREO_RX 0x01074101
55
56/* Path IDs used for TTY */
57#define ADIE_PATH_TTY_HEADSET_TX 0x010740fe
58#define ADIE_PATH_TTY_HEADSET_RX 0x010740ff
59
60/* Path IDs used by Factory Test Mode. */
61#define ADIE_PATH_FTM_MIC1_TX 0x01074108
62#define ADIE_PATH_FTM_MIC2_TX 0x01074107
63#define ADIE_PATH_FTM_HPH_L_RX 0x01074106
64#define ADIE_PATH_FTM_HPH_R_RX 0x01074104
65#define ADIE_PATH_FTM_EAR_RX 0x01074103
66#define ADIE_PATH_FTM_SPKR_RX 0x01074102
67
68/* Path IDs for Loopback */
69/* Path IDs used for Line in -> AuxPGA -> Line Out Stereo Mode*/
70#define ADIE_PATH_AUXPGA_LINEOUT_STEREO_LB 0x01074100
71/* Line in -> AuxPGA -> LineOut Mono */
72#define ADIE_PATH_AUXPGA_LINEOUT_MONO_LB 0x01073d82
73/* Line in -> AuxPGA -> Stereo Headphone */
74#define ADIE_PATH_AUXPGA_HDPH_STEREO_LB 0x01074109
75/* Line in -> AuxPGA -> Mono Headphone */
76#define ADIE_PATH_AUXPGA_HDPH_MONO_LB 0x01073d85
77/* Line in -> AuxPGA -> Earpiece */
78#define ADIE_PATH_AUXPGA_EAP_LB 0x01073d81
79/* Line in -> AuxPGA -> AuxOut */
80#define ADIE_PATH_AUXPGA_AUXOUT_LB 0x01073d86
81
82/* Concurrency Profiles */
83#define ADIE_PATH_SPKR_STEREO_HDPH_MONO_RX 0x01073d83
84#define ADIE_PATH_SPKR_MONO_HDPH_MONO_RX 0x01073d84
85#define ADIE_PATH_SPKR_MONO_HDPH_STEREO_RX 0x01073d88
86#define ADIE_PATH_SPKR_STEREO_HDPH_STEREO_RX 0x01073d89
87
88/* stages */
89#define ADIE_STAGE_PATH_OFF 0x0050
90#define ADIE_STAGE_DIGITAL_READY 0x0100
91#define ADIE_STAGE_DIGITAL_ANALOG_READY 0x1000
92#define ADIE_STAGE_ANALOG_OFF 0x0750
93#define ADIE_STAGE_DIGITAL_OFF 0x0600
94
95/* path types */
96#define ADIE_PATH_RX 0
97#define ADIE_PATH_TX 1
98#define ADIE_PATH_LOOPBACK 2
99
100/* mute states */
101#define ADIE_MUTE_OFF 0
102#define ADIE_MUTE_ON 1
103
104
105#endif