Merge branch 'for-2.6.31' of git://linux-nfs.org/~bfields/linux
[linux-2.6] / sound / oss / waveartist.h
1 /*
2  * linux/sound/oss/waveartist.h
3  *
4  * def file for Rockwell RWA010 chip set, as installed in Rebel.com NetWinder
5  */
6
7 //registers
8 #define CMDR    0
9 #define DATR    2
10 #define CTLR    4
11 #define STATR   5
12 #define IRQSTAT 12
13
14 //bit defs
15 //reg STATR
16 #define CMD_WE  0x80
17 #define CMD_RF  0x40
18 #define DAT_WE  0x20
19 #define DAT_RF  0x10
20
21 #define IRQ_REQ 0x08
22 #define DMA1    0x04
23 #define DMA0    0x02
24
25 //bit defs
26 //reg CTLR
27 #define CMD_WEIE        0x80
28 #define CMD_RFIE        0x40
29 #define DAT_WEIE        0x20
30 #define DAT_RFIE        0x10
31
32 #define RESET   0x08
33 #define DMA1_IE 0x04
34 #define DMA0_IE 0x02
35 #define IRQ_ACK 0x01
36
37 //commands
38
39 #define WACMD_SYSTEMID          0x00
40 #define WACMD_GETREV            0x00
41 #define WACMD_INPUTFORMAT       0x10    //0-8S, 1-16S, 2-8U
42 #define WACMD_INPUTCHANNELS     0x11    //1-Mono, 2-Stereo
43 #define WACMD_INPUTSPEED        0x12    //sampling rate
44 #define WACMD_INPUTDMA          0x13    //0-8bit, 1-16bit, 2-PIO
45 #define WACMD_INPUTSIZE         0x14    //samples to interrupt
46 #define WACMD_INPUTSTART        0x15    //start ADC
47 #define WACMD_INPUTPAUSE        0x16    //pause ADC
48 #define WACMD_INPUTSTOP         0x17    //stop ADC
49 #define WACMD_INPUTRESUME       0x18    //resume ADC
50 #define WACMD_INPUTPIO          0x19    //PIO ADC
51
52 #define WACMD_OUTPUTFORMAT      0x20    //0-8S, 1-16S, 2-8U
53 #define WACMD_OUTPUTCHANNELS    0x21    //1-Mono, 2-Stereo
54 #define WACMD_OUTPUTSPEED       0x22    //sampling rate
55 #define WACMD_OUTPUTDMA         0x23    //0-8bit, 1-16bit, 2-PIO
56 #define WACMD_OUTPUTSIZE        0x24    //samples to interrupt
57 #define WACMD_OUTPUTSTART       0x25    //start ADC
58 #define WACMD_OUTPUTPAUSE       0x26    //pause ADC
59 #define WACMD_OUTPUTSTOP        0x27    //stop ADC
60 #define WACMD_OUTPUTRESUME      0x28    //resume ADC
61 #define WACMD_OUTPUTPIO         0x29    //PIO ADC
62
63 #define WACMD_GET_LEVEL         0x30
64 #define WACMD_SET_LEVEL         0x31
65 #define WACMD_SET_MIXER         0x32
66 #define WACMD_RST_MIXER         0x33
67 #define WACMD_SET_MONO          0x34
68
69 /*
70  * Definitions for left/right recording input mux
71  */
72 #define ADC_MUX_NONE    0
73 #define ADC_MUX_MIXER   1
74 #define ADC_MUX_LINE    2
75 #define ADC_MUX_AUX2    3
76 #define ADC_MUX_AUX1    4
77 #define ADC_MUX_MIC     5
78
79 /*
80  * Definitions for mixer gain settings
81  */
82 #define MIX_GAIN_LINE   0       /* line in       */
83 #define MIX_GAIN_AUX1   1       /* aux1          */
84 #define MIX_GAIN_AUX2   2       /* aux2          */
85 #define MIX_GAIN_XMIC   3       /* crossover mic */
86 #define MIX_GAIN_MIC    4       /* normal mic    */
87 #define MIX_GAIN_PREMIC 5       /* preamp mic    */
88 #define MIX_GAIN_OUT    6       /* output        */
89 #define MIX_GAIN_MONO   7       /* mono in       */
90
91 int wa_sendcmd(unsigned int cmd);
92 int wa_writecmd(unsigned int cmd, unsigned int arg);