blob: dac4ca910d951070e789edfe6a13ee1964ba4764 [file] [log] [blame]
Linus Torvalds1da177e2005-04-16 15:20:36 -07001/*
Uwe Zeisbergerf30c2262006-10-03 23:01:26 +02002 * linux/sound/oss/waveartist.h
Linus Torvalds1da177e2005-04-16 15:20:36 -07003 *
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
91int wa_sendcmd(unsigned int cmd);
92int wa_writecmd(unsigned int cmd, unsigned int arg);