| /* | 
 |  *  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: | 
 |  */ |