home *** CD-ROM | disk | FTP | other *** search
/ PC Welt 2006 November (DVD) / PCWELT_11_2006.ISO / casper / filesystem.squashfs / usr / src / linux-headers-2.6.17-6 / include / sound / uda1341.h < prev    next >
Encoding:
C/C++ Source or Header  |  2006-08-11  |  2.0 KB  |  129 lines

  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.