aboutsummaryrefslogtreecommitdiffstats
path: root/include/linux/tegra_audio.h
diff options
context:
space:
mode:
Diffstat (limited to 'include/linux/tegra_audio.h')
-rw-r--r--include/linux/tegra_audio.h80
1 files changed, 80 insertions, 0 deletions
diff --git a/include/linux/tegra_audio.h b/include/linux/tegra_audio.h
new file mode 100644
index 00000000000..6416cd01861
--- /dev/null
+++ b/include/linux/tegra_audio.h
@@ -0,0 +1,80 @@
1/* include/linux/tegra_audio.h
2 *
3 * Copyright (C) 2010 Google, Inc.
4 *
5 * Author:
6 * Iliyan Malchev <malchev@google.com>
7 *
8 * This software is licensed under the terms of the GNU General Public
9 * License version 2, as published by the Free Software Foundation, and
10 * may be copied, distributed, and modified under those terms.
11 *
12 * This program is distributed in the hope that it will be useful,
13 * but WITHOUT ANY WARRANTY; without even the implied warranty of
14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15 * GNU General Public License for more details.
16 *
17 */
18
19#ifndef _TEGRA_AUDIO_H
20#define _TEGRA_AUDIO_H
21
22#include <linux/ioctl.h>
23
24#define TEGRA_AUDIO_MAGIC 't'
25
26#define TEGRA_AUDIO_IN_START _IO(TEGRA_AUDIO_MAGIC, 0)
27#define TEGRA_AUDIO_IN_STOP _IO(TEGRA_AUDIO_MAGIC, 1)
28
29struct tegra_audio_in_config {
30 int rate;
31 int stereo;
32};
33
34struct dam_srate {
35 unsigned int in_sample_rate;
36 unsigned int out_sample_rate;
37 unsigned int audio_bits;
38 unsigned int client_bits;
39 unsigned int audio_channels;
40 unsigned int client_channels;
41 unsigned int apbif_chan;
42};
43
44#define TEGRA_AUDIO_IN_SET_CONFIG _IOW(TEGRA_AUDIO_MAGIC, 2, \
45 const struct tegra_audio_in_config *)
46#define TEGRA_AUDIO_IN_GET_CONFIG _IOR(TEGRA_AUDIO_MAGIC, 3, \
47 struct tegra_audio_in_config *)
48
49#define TEGRA_AUDIO_IN_SET_NUM_BUFS _IOW(TEGRA_AUDIO_MAGIC, 4, \
50 const unsigned int *)
51#define TEGRA_AUDIO_IN_GET_NUM_BUFS _IOW(TEGRA_AUDIO_MAGIC, 5, \
52 unsigned int *)
53#define TEGRA_AUDIO_OUT_SET_NUM_BUFS _IOW(TEGRA_AUDIO_MAGIC, 6, \
54 const unsigned int *)
55#define TEGRA_AUDIO_OUT_GET_NUM_BUFS _IOW(TEGRA_AUDIO_MAGIC, 7, \
56 unsigned int *)
57
58#define TEGRA_AUDIO_OUT_FLUSH _IO(TEGRA_AUDIO_MAGIC, 10)
59
60#define TEGRA_AUDIO_BIT_FORMAT_DEFAULT 0
61#define TEGRA_AUDIO_BIT_FORMAT_DSP 1
62#define TEGRA_AUDIO_SET_BIT_FORMAT _IOW(TEGRA_AUDIO_MAGIC, 11, \
63 const unsigned int *)
64#define TEGRA_AUDIO_GET_BIT_FORMAT _IOR(TEGRA_AUDIO_MAGIC, 12, \
65 unsigned int *)
66
67#define DAM_SRC_START _IOW(TEGRA_AUDIO_MAGIC, 13, struct dam_srate *)
68#define DAM_SRC_STOP _IO(TEGRA_AUDIO_MAGIC, 14)
69#define DAM_MIXING_START _IOW(TEGRA_AUDIO_MAGIC, 15, struct dam_srate *)
70#define DAM_MIXING_STOP _IO(TEGRA_AUDIO_MAGIC, 16)
71#define DAM_SET_MIXING_FLAG _IO(TEGRA_AUDIO_MAGIC, 17)
72
73#define I2S_START _IOW(TEGRA_AUDIO_MAGIC, 15, struct i2s_pcm_format *)
74#define I2S_STOP _IOW(TEGRA_AUDIO_MAGIC, 16, struct i2s_pcm_format *)
75#define I2S_LOOPBACK _IOW(TEGRA_AUDIO_MAGIC, 17, unsigned int *)
76#define I2S_MODE_I2S _IOW(TEGRA_AUDIO_MAGIC, 18, unsigned int *)
77
78extern bool tegra_is_voice_call_active();
79
80#endif/*_CPCAP_AUDIO_H*/