summaryrefslogtreecommitdiffstats
path: root/include/asm-arm/arcaudio.h
blob: 43a31bc7994d35aed57178271ed7e04102be29ce (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
/* 
 * arcaudio.h
 *
 */

#ifndef _LINUX_ARCAUDIO_H
#define _LINUX_ARCAUDIO_H

#define ARCAUDIO_MAXCHANNELS	8

enum ch_type
{
  ARCAUDIO_NONE,			/* No sound (muted) */
  ARCAUDIO_8BITSIGNED,			/* signed 8 bits per samples */
  ARCAUDIO_8BITUNSIGNED,		/* unsigned 8 bits per samples */
  ARCAUDIO_16BITSIGNED,			/* signed 16 bits per samples (little endian) */
  ARCAUDIO_16BITUNSIGNED,		/* unsigned 16 bits per samples (little endian) */
  ARCAUDIO_LOG				/* Vidc Log */
};

/* 
 * Global information
 */
struct arcaudio
{
  int		sample_rate;		/* sample rate (Hz) */
  int		num_channels;		/* number of channels */
  int		volume;			/* overall system volume */
};

/* 
 * Per channel information
 */
struct arcaudio_channel
{
  int		stereo_position;	/* Channel position */
  int		channel_volume;		/* Channel volume */
  enum ch_type	channel_type;		/* Type of channel */
  int		buffer_size;		/* Size of channel buffer */
};

/* IOCTLS */
#define ARCAUDIO_GETINFO	0x6101
#define ARCAUDIO_SETINFO	0x6102
#define ARCAUDIO_GETCHANNELINFO	0x6111
#define ARCAUDIO_SETCHANNELINFO	0x6112
#define ARCAUDIO_GETOPTS	0x61f0
#define ARCAUDIO_SETOPTS	0x61f1
#define  ARCAUDIO_OPTSPKR	1<<0

#endif