| Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 1 | /* | 
| Uwe Zeisberger | f30c226 | 2006-10-03 23:01:26 +0200 | [diff] [blame] | 2 | * linux/sound/oss/waveartist.h | 
| Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 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); |