Blame view

kernel/linux-imx6_3.14.28/sound/oss/sb_mixer.h 2.13 KB
6b13f685e   김민수   BSP 최초 추가
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
  /*
   * sound/oss/sb_mixer.h
   * 
   * Definitions for the SB Pro and SB16 mixers
   */
  /*
   * Copyright (C) by Hannu Savolainen 1993-1997
   *
   * OSS/Free for Linux is distributed under the GNU GENERAL PUBLIC LICENSE (GPL)
   * Version 2 (June 1991). See the "COPYING" file distributed with this software
   * for more info.
   */
  
  /*
   * Modified:
   *	Hunyue Yau	Jan 6 1994
   *	Added defines for the Sound Galaxy NX Pro mixer.
   *
   *	Rolf Fokkens	Dec 20 1998
   *	Added defines for some ES188x chips.
   *
   *	Rolf Fokkens	Dec 27 1998
   *	Moved static stuff to sb_mixer.c
   *
   */
  /*
   * Mixer registers
   * 
   * NOTE!	RECORD_SRC == IN_FILTER
   */
  
  /* 
   * Mixer registers of SB Pro
   */
  #define VOC_VOL		0x04
  #define MIC_VOL		0x0A
  #define MIC_MIX		0x0A
  #define RECORD_SRC	0x0C
  #define IN_FILTER	0x0C
  #define OUT_FILTER	0x0E
  #define MASTER_VOL	0x22
  #define FM_VOL		0x26
  #define CD_VOL		0x28
  #define LINE_VOL	0x2E
  #define IRQ_NR		0x80
  #define DMA_NR		0x81
  #define IRQ_STAT	0x82
  #define OPSW		0x3c
  
  /*
   * Additional registers on the SG NX Pro 
   */
  #define COVOX_VOL	0x42
  #define TREBLE_LVL	0x44
  #define BASS_LVL	0x46
  
  #define FREQ_HI         (1 << 3)/* Use High-frequency ANFI filters */
  #define FREQ_LOW        0	/* Use Low-frequency ANFI filters */
  #define FILT_ON         0	/* Yes, 0 to turn it on, 1 for off */
  #define FILT_OFF        (1 << 5)
  
  #define MONO_DAC	0x00
  #define STEREO_DAC	0x02
  
  /*
   * Mixer registers of SB16
   */
  #define SB16_OMASK	0x3c
  #define SB16_IMASK_L	0x3d
  #define SB16_IMASK_R	0x3e
  
  #define LEFT_CHN	0
  #define RIGHT_CHN	1
  
  /*
   * 3DSE register of AWE32/64
   */
  #define AWE_3DSE	0x90
  
  /*
   * Mixer registers of ALS007
   */
  #define ALS007_RECORD_SRC	0x6c
  #define ALS007_OUTPUT_CTRL1	0x3c
  #define ALS007_OUTPUT_CTRL2	0x4c
  
  #define MIX_ENT(name, reg_l, bit_l, len_l, reg_r, bit_r, len_r)	\
  	{{reg_l, bit_l, len_l}, {reg_r, bit_r, len_r}}
  
  /*
   *	Recording sources (SB Pro)
   */
  
  #define SRC__MIC         1	/* Select Microphone recording source */
  #define SRC__CD          3	/* Select CD recording source */
  #define SRC__LINE        7	/* Use Line-in for recording source */
  
  /*
   *	Recording sources for ALS-007
   */
  
  #define ALS007_MIC	4
  #define ALS007_LINE	6
  #define ALS007_CD	2
  #define ALS007_SYNTH	7