Loading...
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 | /* * 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: */ |