blob: aac484c5732f9e11fa23a9e24b8e7387bc08c0da [file] [log] [blame]
Duy Truong790f06d2013-02-13 16:38:12 -08001/* Copyright (c) 2009, The Linux Foundation. All rights reserved.
Bryan Huntsman3f2bc4d2011-08-16 17:27:22 -07002 *
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.
6 *
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.
11 *
12 */
13
14#ifndef _MACH_MSM_QDSP6_ADIE_
15#define _MACH_MSM_QDSP6_ADIE_
16
17#include "../dal.h"
18
19#define ADIE_DAL_DEVICE 0x02000029
20#define ADIE_DAL_PORT "DAL_AM_AUD"
21#define ADIE_DAL_VERSION 0x00010000
22
23enum {
24 ADIE_OP_SET_PATH = DAL_OP_FIRST_DEVICE_API,
25 ADIE_OP_PROCEED_TO_STAGE,
26 ADIE_OP_IOCTL
27};
28
29/* Path IDs for normal operation. */
30#define ADIE_PATH_HANDSET_TX 0x010740f6
31#define ADIE_PATH_HANDSET_RX 0x010740f7
32#define ADIE_PATH_HEADSET_MONO_TX 0x010740f8
33#define ADIE_PATH_HEADSET_STEREO_TX 0x010740f9
34#define ADIE_PATH_HEADSET_MONO_RX 0x010740fa
35#define ADIE_PATH_HEADSET_STEREO_RX 0x010740fb
36#define ADIE_PATH_SPEAKER_TX 0x010740fc
37#define ADIE_PATH_SPEAKER_RX 0x010740fd
38#define ADIE_PATH_SPEAKER_STEREO_RX 0x01074101
39
40/* Path IDs used for TTY */
41#define ADIE_PATH_TTY_HEADSET_TX 0x010740fe
42#define ADIE_PATH_TTY_HEADSET_RX 0x010740ff
43
44/* Path IDs used by Factory Test Mode. */
45#define ADIE_PATH_FTM_MIC1_TX 0x01074108
46#define ADIE_PATH_FTM_MIC2_TX 0x01074107
47#define ADIE_PATH_FTM_HPH_L_RX 0x01074106
48#define ADIE_PATH_FTM_HPH_R_RX 0x01074104
49#define ADIE_PATH_FTM_EAR_RX 0x01074103
50#define ADIE_PATH_FTM_SPKR_RX 0x01074102
51
52/* Path IDs for Loopback */
53/* Path IDs used for Line in -> AuxPGA -> Line Out Stereo Mode*/
54#define ADIE_PATH_AUXPGA_LINEOUT_STEREO_LB 0x01074100
55/* Line in -> AuxPGA -> LineOut Mono */
56#define ADIE_PATH_AUXPGA_LINEOUT_MONO_LB 0x01073d82
57/* Line in -> AuxPGA -> Stereo Headphone */
58#define ADIE_PATH_AUXPGA_HDPH_STEREO_LB 0x01074109
59/* Line in -> AuxPGA -> Mono Headphone */
60#define ADIE_PATH_AUXPGA_HDPH_MONO_LB 0x01073d85
61/* Line in -> AuxPGA -> Earpiece */
62#define ADIE_PATH_AUXPGA_EAP_LB 0x01073d81
63/* Line in -> AuxPGA -> AuxOut */
64#define ADIE_PATH_AUXPGA_AUXOUT_LB 0x01073d86
65
66/* Concurrency Profiles */
67#define ADIE_PATH_SPKR_STEREO_HDPH_MONO_RX 0x01073d83
68#define ADIE_PATH_SPKR_MONO_HDPH_MONO_RX 0x01073d84
69#define ADIE_PATH_SPKR_MONO_HDPH_STEREO_RX 0x01073d88
70#define ADIE_PATH_SPKR_STEREO_HDPH_STEREO_RX 0x01073d89
71
72/* stages */
73#define ADIE_STAGE_PATH_OFF 0x0050
74#define ADIE_STAGE_DIGITAL_READY 0x0100
75#define ADIE_STAGE_DIGITAL_ANALOG_READY 0x1000
76#define ADIE_STAGE_ANALOG_OFF 0x0750
77#define ADIE_STAGE_DIGITAL_OFF 0x0600
78
79/* path types */
80#define ADIE_PATH_RX 0
81#define ADIE_PATH_TX 1
82#define ADIE_PATH_LOOPBACK 2
83
84/* mute states */
85#define ADIE_MUTE_OFF 0
86#define ADIE_MUTE_ON 1
87
88
89#endif