1 /* 2 * linux/include/linux/l3/uda1341.h 3 * 4 * Philips UDA1341 mixer device driver for ALSA 5 * 6 * Copyright (c) 2002 Tomas Kasparek <tomas.kasparek (at) seznam.cz> 7 * 8 * This program is free software; you can redistribute it and/or 9 * modify it under the terms of the GNU General Public License. 10 * 11 * History: 12 * 13 * 2002-03-13 Tomas Kasparek Initial release - based on uda1341.h from OSS 14 * 2002-03-30 Tomas Kasparek Proc filesystem support, complete mixer and DSP 15 * features support 16 */ 17 18 /* $Id: uda1341.h,v 1.8 2005/11/17 14:17:21 tiwai Exp $ */ 19 20 #define UDA1341_ALSA_NAME "snd-uda1341" 21 22 /* 23 * Default rate set after inicialization 24 */ 25 #define AUDIO_RATE_DEFAULT 44100 26 27 /* 28 * UDA1341 L3 address and command types 29 */ 30 #define UDA1341_L3ADDR 5 31 #define UDA1341_DATA0 (UDA1341_L3ADDR << 2 | 0) 32 #define UDA1341_DATA1 (UDA1341_L3ADDR << 2 | 1) 33 #define UDA1341_STATUS (UDA1341_L3ADDR << 2 | 2) 34 35 enum uda1341_onoff { 36 OFF=0, 37 ON, 38 }; 39 40 enum uda1341_format { 41 I2S=0, 42 LSB16, 43 LSB18, 44 LSB20, 45 MSB, 46 LSB16MSB, 47 LSB18MSB, 48 LSB20MSB, 49 }; 50 51 enum uda1341_fs { 52 F512=0, 53 F384, 54 F256, 55 Funused, 56 }; 57 58 enum uda1341_peak { 59 BEFORE=0, 60 AFTER, 61 }; 62 63 enum uda1341_filter { 64 FLAT=0, 65 MIN, 66 MIN2, 67 MAX, 68 }; 69 70 enum uda1341_mixer { 71 DOUBLE, 72 LINE, 73 MIC, 74 MIXER, 75 }; 76 77 enum uda1341_deemp { 78 NONE, 79 D32, 80 D44, 81 D48, 82 }; 83 84 enum uda1341_config { 85 CMD_READ_REG = 0, 86 CMD_RESET, 87 CMD_FS, 88 CMD_FORMAT, 89 CMD_OGAIN, 90 CMD_IGAIN, 91 CMD_DAC, 92 CMD_ADC, 93 CMD_VOLUME, 94 CMD_BASS, 95 CMD_TREBBLE, 96 CMD_PEAK, 97 CMD_DEEMP, 98 CMD_MUTE, 99 CMD_FILTER, 100 CMD_CH1, 101 CMD_CH2, 102 CMD_MIC, 103 CMD_MIXER, 104 CMD_AGC, 105 CMD_IG, 106 CMD_AGC_TIME, 107 CMD_AGC_LEVEL, 108 #ifdef CONFIG_PM 109 CMD_SUSPEND, 110 CMD_RESUME, 111 #endif 112 CMD_LAST, 113 }; 114 115 enum write_through { 116 //used in update_bits (write_cfg) to avoid l3_write - just update local copy of regs. 117 REGS_ONLY=0, 118 //update local regs and write value to uda1341 - do l3_write 119 FLUSH, 120 }; 121 122 int __init snd_chip_uda1341_mixer_new(struct snd_card *card, struct l3_client **clnt); 123 124 /* 125 * Local variables: 126 * indent-tabs-mode: t 127 * End: 128 */ 129