sb_mixer.h 2.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105
  1. /*
  2. * sound/oss/sb_mixer.h
  3. *
  4. * Definitions for the SB Pro and SB16 mixers
  5. */
  6. /*
  7. * Copyright (C) by Hannu Savolainen 1993-1997
  8. *
  9. * OSS/Free for Linux is distributed under the GNU GENERAL PUBLIC LICENSE (GPL)
  10. * Version 2 (June 1991). See the "COPYING" file distributed with this software
  11. * for more info.
  12. */
  13. /*
  14. * Modified:
  15. * Hunyue Yau Jan 6 1994
  16. * Added defines for the Sound Galaxy NX Pro mixer.
  17. *
  18. * Rolf Fokkens Dec 20 1998
  19. * Added defines for some ES188x chips.
  20. *
  21. * Rolf Fokkens Dec 27 1998
  22. * Moved static stuff to sb_mixer.c
  23. *
  24. */
  25. /*
  26. * Mixer registers
  27. *
  28. * NOTE! RECORD_SRC == IN_FILTER
  29. */
  30. /*
  31. * Mixer registers of SB Pro
  32. */
  33. #define VOC_VOL 0x04
  34. #define MIC_VOL 0x0A
  35. #define MIC_MIX 0x0A
  36. #define RECORD_SRC 0x0C
  37. #define IN_FILTER 0x0C
  38. #define OUT_FILTER 0x0E
  39. #define MASTER_VOL 0x22
  40. #define FM_VOL 0x26
  41. #define CD_VOL 0x28
  42. #define LINE_VOL 0x2E
  43. #define IRQ_NR 0x80
  44. #define DMA_NR 0x81
  45. #define IRQ_STAT 0x82
  46. #define OPSW 0x3c
  47. /*
  48. * Additional registers on the SG NX Pro
  49. */
  50. #define COVOX_VOL 0x42
  51. #define TREBLE_LVL 0x44
  52. #define BASS_LVL 0x46
  53. #define FREQ_HI (1 << 3)/* Use High-frequency ANFI filters */
  54. #define FREQ_LOW 0 /* Use Low-frequency ANFI filters */
  55. #define FILT_ON 0 /* Yes, 0 to turn it on, 1 for off */
  56. #define FILT_OFF (1 << 5)
  57. #define MONO_DAC 0x00
  58. #define STEREO_DAC 0x02
  59. /*
  60. * Mixer registers of SB16
  61. */
  62. #define SB16_OMASK 0x3c
  63. #define SB16_IMASK_L 0x3d
  64. #define SB16_IMASK_R 0x3e
  65. #define LEFT_CHN 0
  66. #define RIGHT_CHN 1
  67. /*
  68. * 3DSE register of AWE32/64
  69. */
  70. #define AWE_3DSE 0x90
  71. /*
  72. * Mixer registers of ALS007
  73. */
  74. #define ALS007_RECORD_SRC 0x6c
  75. #define ALS007_OUTPUT_CTRL1 0x3c
  76. #define ALS007_OUTPUT_CTRL2 0x4c
  77. #define MIX_ENT(name, reg_l, bit_l, len_l, reg_r, bit_r, len_r) \
  78. {{reg_l, bit_l, len_l}, {reg_r, bit_r, len_r}}
  79. /*
  80. * Recording sources (SB Pro)
  81. */
  82. #define SRC__MIC 1 /* Select Microphone recording source */
  83. #define SRC__CD 3 /* Select CD recording source */
  84. #define SRC__LINE 7 /* Use Line-in for recording source */
  85. /*
  86. * Recording sources for ALS-007
  87. */
  88. #define ALS007_MIC 4
  89. #define ALS007_LINE 6
  90. #define ALS007_CD 2
  91. #define ALS007_SYNTH 7