1/*
2 * linux/drivers/sound/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
91int wa_sendcmd(unsigned int cmd);
92int wa_writecmd(unsigned int cmd, unsigned int arg);
93