Linux kernel & device driver programming

Cross-Referenced Linux and Device Driver Code

[ source navigation ] [ diff markup ] [ identifier search ] [ freetext search ] [ file search ]
Version: [ 2.6.11.8 ] [ 2.6.25 ] [ 2.6.25.8 ] [ 2.6.31.13 ] Architecture: [ i386 ]
  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@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 
  This page was automatically generated by the LXR engine.