• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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 
29 struct tegra_audio_in_config {
30 	int rate;
31 	int stereo;
32 };
33 
34 #define TEGRA_AUDIO_IN_SET_CONFIG	_IOW(TEGRA_AUDIO_MAGIC, 2, \
35 			const struct tegra_audio_in_config *)
36 #define TEGRA_AUDIO_IN_GET_CONFIG	_IOR(TEGRA_AUDIO_MAGIC, 3, \
37 			struct tegra_audio_in_config *)
38 
39 #define TEGRA_AUDIO_IN_SET_NUM_BUFS	_IOW(TEGRA_AUDIO_MAGIC, 4, \
40 			const unsigned int *)
41 #define TEGRA_AUDIO_IN_GET_NUM_BUFS	_IOW(TEGRA_AUDIO_MAGIC, 5, \
42 			unsigned int *)
43 #define TEGRA_AUDIO_OUT_SET_NUM_BUFS	_IOW(TEGRA_AUDIO_MAGIC, 6, \
44 			const unsigned int *)
45 #define TEGRA_AUDIO_OUT_GET_NUM_BUFS	_IOW(TEGRA_AUDIO_MAGIC, 7, \
46 			unsigned int *)
47 
48 #define TEGRA_AUDIO_OUT_FLUSH		_IO(TEGRA_AUDIO_MAGIC, 10)
49 
50 #define TEGRA_AUDIO_BIT_FORMAT_DEFAULT 0
51 #define TEGRA_AUDIO_BIT_FORMAT_DSP 1
52 #define TEGRA_AUDIO_SET_BIT_FORMAT	_IOW(TEGRA_AUDIO_MAGIC, 11, \
53 			const unsigned int *)
54 #define TEGRA_AUDIO_GET_BIT_FORMAT	_IOR(TEGRA_AUDIO_MAGIC, 12, \
55 			unsigned int *)
56 
57 #endif/*_CPCAP_AUDIO_H*/
58