128 lines
		
	
	
	
		
			2 KiB
			
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			128 lines
		
	
	
	
		
			2 KiB
			
		
	
	
	
		
			C
		
	
	
	
	
	
| /*
 | |
|  *  linux/include/linux/l3/uda1341.h
 | |
|  *
 | |
|  * Philips UDA1341 mixer device driver for ALSA
 | |
|  *
 | |
|  * Copyright (c) 2002 Tomas Kasparek <tomas.kasparek@seznam.cz>
 | |
|  *
 | |
|  * This program is free software; you can redistribute it and/or
 | |
|  * modify it under the terms of the GNU General Public License.
 | |
|  *
 | |
|  * History:
 | |
|  *
 | |
|  * 2002-03-13 Tomas Kasparek Initial release - based on uda1341.h from OSS
 | |
|  * 2002-03-30 Tomas Kasparek Proc filesystem support, complete mixer and DSP
 | |
|  *                           features support
 | |
|  */
 | |
| 
 | |
| /* $Id: uda1341.h,v 1.8 2005/11/17 14:17:21 tiwai Exp $ */
 | |
| 
 | |
| #define UDA1341_ALSA_NAME "snd-uda1341"
 | |
| 
 | |
| /*
 | |
|  * Default rate set after inicialization
 | |
|  */
 | |
| #define AUDIO_RATE_DEFAULT	44100
 | |
| 
 | |
| /*
 | |
|  * UDA1341 L3 address and command types
 | |
|  */
 | |
| #define UDA1341_L3ADDR		5
 | |
| #define UDA1341_DATA0		(UDA1341_L3ADDR << 2 | 0)
 | |
| #define UDA1341_DATA1		(UDA1341_L3ADDR << 2 | 1)
 | |
| #define UDA1341_STATUS		(UDA1341_L3ADDR << 2 | 2)
 | |
| 
 | |
| enum uda1341_onoff {
 | |
| 	OFF=0,
 | |
| 	ON,
 | |
| };
 | |
| 
 | |
| enum uda1341_format {
 | |
| 	I2S=0,
 | |
| 	LSB16,
 | |
| 	LSB18,
 | |
| 	LSB20,
 | |
| 	MSB,
 | |
| 	LSB16MSB,
 | |
| 	LSB18MSB,
 | |
| 	LSB20MSB,        
 | |
| };
 | |
| 
 | |
| enum uda1341_fs {
 | |
| 	F512=0,
 | |
| 	F384,
 | |
| 	F256,
 | |
| 	Funused,
 | |
| };
 | |
| 
 | |
| enum uda1341_peak {
 | |
| 	BEFORE=0,
 | |
| 	AFTER,
 | |
| };
 | |
| 
 | |
| enum uda1341_filter {
 | |
| 	FLAT=0,
 | |
| 	MIN,
 | |
| 	MIN2,
 | |
| 	MAX,
 | |
| };
 | |
| 
 | |
| enum uda1341_mixer {
 | |
| 	DOUBLE,
 | |
| 	LINE,
 | |
| 	MIC,
 | |
| 	MIXER,
 | |
| };
 | |
| 
 | |
| enum uda1341_deemp {
 | |
| 	NONE,
 | |
| 	D32,
 | |
| 	D44,
 | |
| 	D48,
 | |
| };
 | |
| 
 | |
| enum uda1341_config {
 | |
| 	CMD_READ_REG = 0,
 | |
| 	CMD_RESET,
 | |
| 	CMD_FS,
 | |
| 	CMD_FORMAT,
 | |
| 	CMD_OGAIN,
 | |
| 	CMD_IGAIN,
 | |
| 	CMD_DAC,
 | |
| 	CMD_ADC,
 | |
| 	CMD_VOLUME,
 | |
| 	CMD_BASS,
 | |
| 	CMD_TREBBLE,
 | |
| 	CMD_PEAK,
 | |
| 	CMD_DEEMP,
 | |
| 	CMD_MUTE,        
 | |
| 	CMD_FILTER,
 | |
| 	CMD_CH1,
 | |
| 	CMD_CH2,
 | |
| 	CMD_MIC,       
 | |
| 	CMD_MIXER,
 | |
| 	CMD_AGC,
 | |
| 	CMD_IG,
 | |
| 	CMD_AGC_TIME,
 | |
| 	CMD_AGC_LEVEL,
 | |
| #ifdef CONFIG_PM
 | |
| 	CMD_SUSPEND,
 | |
| 	CMD_RESUME,
 | |
| #endif
 | |
| 	CMD_LAST,
 | |
| };
 | |
| 
 | |
| enum write_through {
 | |
| 	//used in update_bits (write_cfg) to avoid l3_write - just update local copy of regs.
 | |
| 	REGS_ONLY=0,
 | |
| 	//update local regs and write value to uda1341 - do l3_write
 | |
| 	FLUSH,
 | |
| };
 | |
| 
 | |
| int __init snd_chip_uda1341_mixer_new(struct snd_card *card, struct l3_client **clnt);
 | |
| 
 | |
| /*
 | |
|  * Local variables:
 | |
|  * indent-tabs-mode: t
 | |
|  * End:
 | |
|  */
 | 
