Linux Kernel  3.7.1
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
tumbler_volume.h
Go to the documentation of this file.
1 /* volume tables, taken from TAS3001c data manual */
2 /* volume gain values */
3 /* 0 = -70 dB, 175 = 18.0 dB in 0.5 dB step */
4 static unsigned int master_volume_table[] = {
5  0x00000015, 0x00000016, 0x00000017,
6  0x00000019, 0x0000001a, 0x0000001c,
7  0x0000001d, 0x0000001f, 0x00000021,
8  0x00000023, 0x00000025, 0x00000027,
9  0x00000029, 0x0000002c, 0x0000002e,
10  0x00000031, 0x00000034, 0x00000037,
11  0x0000003a, 0x0000003e, 0x00000042,
12  0x00000045, 0x0000004a, 0x0000004e,
13  0x00000053, 0x00000057, 0x0000005d,
14  0x00000062, 0x00000068, 0x0000006e,
15  0x00000075, 0x0000007b, 0x00000083,
16  0x0000008b, 0x00000093, 0x0000009b,
17  0x000000a5, 0x000000ae, 0x000000b9,
18  0x000000c4, 0x000000cf, 0x000000dc,
19  0x000000e9, 0x000000f6, 0x00000105,
20  0x00000114, 0x00000125, 0x00000136,
21  0x00000148, 0x0000015c, 0x00000171,
22  0x00000186, 0x0000019e, 0x000001b6,
23  0x000001d0, 0x000001eb, 0x00000209,
24  0x00000227, 0x00000248, 0x0000026b,
25  0x0000028f, 0x000002b6, 0x000002df,
26  0x0000030b, 0x00000339, 0x0000036a,
27  0x0000039e, 0x000003d5, 0x0000040f,
28  0x0000044c, 0x0000048d, 0x000004d2,
29  0x0000051c, 0x00000569, 0x000005bb,
30  0x00000612, 0x0000066e, 0x000006d0,
31  0x00000737, 0x000007a5, 0x00000818,
32  0x00000893, 0x00000915, 0x0000099f,
33  0x00000a31, 0x00000acc, 0x00000b6f,
34  0x00000c1d, 0x00000cd5, 0x00000d97,
35  0x00000e65, 0x00000f40, 0x00001027,
36  0x0000111c, 0x00001220, 0x00001333,
37  0x00001456, 0x0000158a, 0x000016d1,
38  0x0000182b, 0x0000199a, 0x00001b1e,
39  0x00001cb9, 0x00001e6d, 0x0000203a,
40  0x00002223, 0x00002429, 0x0000264e,
41  0x00002893, 0x00002afa, 0x00002d86,
42  0x00003039, 0x00003314, 0x0000361b,
43  0x00003950, 0x00003cb5, 0x0000404e,
44  0x0000441d, 0x00004827, 0x00004c6d,
45  0x000050f4, 0x000055c0, 0x00005ad5,
46  0x00006037, 0x000065ea, 0x00006bf4,
47  0x0000725a, 0x00007920, 0x0000804e,
48  0x000087e8, 0x00008ff6, 0x0000987d,
49  0x0000a186, 0x0000ab19, 0x0000b53c,
50  0x0000bff9, 0x0000cb59, 0x0000d766,
51  0x0000e429, 0x0000f1ae, 0x00010000,
52  0x00010f2b, 0x00011f3d, 0x00013042,
53  0x00014249, 0x00015562, 0x0001699c,
54  0x00017f09, 0x000195bc, 0x0001adc6,
55  0x0001c73d, 0x0001e237, 0x0001feca,
56  0x00021d0e, 0x00023d1d, 0x00025f12,
57  0x0002830b, 0x0002a925, 0x0002d182,
58  0x0002fc42, 0x0003298b, 0x00035983,
59  0x00038c53, 0x0003c225, 0x0003fb28,
60  0x0004378b, 0x00047783, 0x0004bb44,
61  0x0005030a, 0x00054f10, 0x00059f98,
62  0x0005f4e5, 0x00064f40, 0x0006aef6,
63  0x00071457, 0x00077fbb, 0x0007f17b,
64 };
65 
66 /* treble table for TAS3001c */
67 /* 0 = -18 dB, 72 = 18 dB in 0.5 dB step */
68 static unsigned int treble_volume_table[] = {
69  0x96, 0x95, 0x94,
70  0x93, 0x92, 0x91,
71  0x90, 0x8f, 0x8e,
72  0x8d, 0x8c, 0x8b,
73  0x8a, 0x89, 0x88,
74  0x87, 0x86, 0x85,
75  0x84, 0x83, 0x82,
76  0x81, 0x80, 0x7f,
77  0x7e, 0x7d, 0x7c,
78  0x7b, 0x7a, 0x79,
79  0x78, 0x77, 0x76,
80  0x75, 0x74, 0x73,
81  0x72, 0x71, 0x70,
82  0x6e, 0x6d, 0x6c,
83  0x6b, 0x69, 0x68,
84  0x66, 0x65, 0x63,
85  0x62, 0x60, 0x5e,
86  0x5c, 0x5a, 0x57,
87  0x55, 0x52, 0x4f,
88  0x4c, 0x49, 0x45,
89  0x42, 0x3e, 0x3a,
90  0x36, 0x32, 0x2d,
91  0x28, 0x22, 0x1c,
92  0x16, 0x10, 0x09,
93  0x01,
94 };
95 
96 /* bass table for TAS3001c */
97 /* 0 = -18 dB, 72 = 18 dB in 0.5 dB step */
98 static unsigned int bass_volume_table[] = {
99  0x86, 0x82, 0x7f,
100  0x7d, 0x7a, 0x78,
101  0x76, 0x74, 0x72,
102  0x70, 0x6e, 0x6d,
103  0x6b, 0x69, 0x66,
104  0x64, 0x61, 0x5f,
105  0x5d, 0x5c, 0x5a,
106  0x59, 0x58, 0x56,
107  0x55, 0x54, 0x53,
108  0x51, 0x4f, 0x4d,
109  0x4b, 0x49, 0x46,
110  0x44, 0x42, 0x40,
111  0x3e, 0x3c, 0x3b,
112  0x39, 0x38, 0x36,
113  0x35, 0x33, 0x31,
114  0x30, 0x2e, 0x2c,
115  0x2b, 0x29, 0x28,
116  0x26, 0x25, 0x23,
117  0x21, 0x1f, 0x1c,
118  0x19, 0x18, 0x17,
119  0x16, 0x14, 0x13,
120  0x12, 0x10, 0x0f,
121  0x0d, 0x0b, 0x0a,
122  0x08, 0x06, 0x03,
123  0x01,
124 };
125 
126 /* mixer (pcm) volume table */
127 /* 0 = -70 dB, 175 = 18.0 dB in 0.5 dB step */
128 static unsigned int mixer_volume_table[] = {
129  0x00014b, 0x00015f, 0x000174,
130  0x00018a, 0x0001a1, 0x0001ba,
131  0x0001d4, 0x0001f0, 0x00020d,
132  0x00022c, 0x00024d, 0x000270,
133  0x000295, 0x0002bc, 0x0002e6,
134  0x000312, 0x000340, 0x000372,
135  0x0003a6, 0x0003dd, 0x000418,
136  0x000456, 0x000498, 0x0004de,
137  0x000528, 0x000576, 0x0005c9,
138  0x000620, 0x00067d, 0x0006e0,
139  0x000748, 0x0007b7, 0x00082c,
140  0x0008a8, 0x00092b, 0x0009b6,
141  0x000a49, 0x000ae5, 0x000b8b,
142  0x000c3a, 0x000cf3, 0x000db8,
143  0x000e88, 0x000f64, 0x00104e,
144  0x001145, 0x00124b, 0x001361,
145  0x001487, 0x0015be, 0x001708,
146  0x001865, 0x0019d8, 0x001b60,
147  0x001cff, 0x001eb7, 0x002089,
148  0x002276, 0x002481, 0x0026ab,
149  0x0028f5, 0x002b63, 0x002df5,
150  0x0030ae, 0x003390, 0x00369e,
151  0x0039db, 0x003d49, 0x0040ea,
152  0x0044c3, 0x0048d6, 0x004d27,
153  0x0051b9, 0x005691, 0x005bb2,
154  0x006121, 0x0066e3, 0x006cfb,
155  0x007370, 0x007a48, 0x008186,
156  0x008933, 0x009154, 0x0099f1,
157  0x00a310, 0x00acba, 0x00b6f6,
158  0x00c1cd, 0x00cd49, 0x00d973,
159  0x00e655, 0x00f3fb, 0x010270,
160  0x0111c0, 0x0121f9, 0x013328,
161  0x01455b, 0x0158a2, 0x016d0e,
162  0x0182af, 0x019999, 0x01b1de,
163  0x01cb94, 0x01e6cf, 0x0203a7,
164  0x022235, 0x024293, 0x0264db,
165  0x02892c, 0x02afa3, 0x02d862,
166  0x03038a, 0x033142, 0x0361af,
167  0x0394fa, 0x03cb50, 0x0404de,
168  0x0441d5, 0x048268, 0x04c6d0,
169  0x050f44, 0x055c04, 0x05ad50,
170  0x06036e, 0x065ea5, 0x06bf44,
171  0x07259d, 0x079207, 0x0804dc,
172  0x087e80, 0x08ff59, 0x0987d5,
173  0x0a1866, 0x0ab189, 0x0b53be,
174  0x0bff91, 0x0cb591, 0x0d765a,
175  0x0e4290, 0x0f1adf, 0x100000,
176  0x10f2b4, 0x11f3c9, 0x13041a,
177  0x14248e, 0x15561a, 0x1699c0,
178  0x17f094, 0x195bb8, 0x1adc61,
179  0x1c73d5, 0x1e236d, 0x1fec98,
180  0x21d0d9, 0x23d1cd, 0x25f125,
181  0x2830af, 0x2a9254, 0x2d1818,
182  0x2fc420, 0x3298b0, 0x35982f,
183  0x38c528, 0x3c224c, 0x3fb278,
184  0x437880, 0x477828, 0x4bb446,
185  0x5030a1, 0x54f106, 0x59f980,
186  0x5f4e52, 0x64f403, 0x6aef5d,
187  0x714575, 0x77fbaa, 0x7f17af,
188 };
189 
190 
191 /* treble table for TAS3004 */
192 /* 0 = -18 dB, 72 = 18 dB in 0.5 dB step */
193 static unsigned int snapper_treble_volume_table[] = {
194  0x96, 0x95, 0x94,
195  0x93, 0x92, 0x91,
196  0x90, 0x8f, 0x8e,
197  0x8d, 0x8c, 0x8b,
198  0x8a, 0x89, 0x88,
199  0x87, 0x86, 0x85,
200  0x84, 0x83, 0x82,
201  0x81, 0x80, 0x7f,
202  0x7e, 0x7d, 0x7c,
203  0x7b, 0x7a, 0x79,
204  0x78, 0x77, 0x76,
205  0x75, 0x74, 0x73,
206  0x72, 0x71, 0x70,
207  0x6f, 0x6d, 0x6c,
208  0x6b, 0x69, 0x68,
209  0x67, 0x65, 0x63,
210  0x62, 0x60, 0x5d,
211  0x5b, 0x59, 0x56,
212  0x53, 0x51, 0x4d,
213  0x4a, 0x47, 0x43,
214  0x3f, 0x3b, 0x36,
215  0x31, 0x2c, 0x26,
216  0x20, 0x1a, 0x13,
217  0x08, 0x04, 0x01,
218  0x01,
219 };
220 
221 /* bass table for TAS3004 */
222 /* 0 = -18 dB, 72 = 18 dB in 0.5 dB step */
223 static unsigned int snapper_bass_volume_table[] = {
224  0x96, 0x95, 0x94,
225  0x93, 0x92, 0x91,
226  0x90, 0x8f, 0x8e,
227  0x8d, 0x8c, 0x8b,
228  0x8a, 0x89, 0x88,
229  0x87, 0x86, 0x85,
230  0x84, 0x83, 0x82,
231  0x81, 0x80, 0x7f,
232  0x7e, 0x7d, 0x7c,
233  0x7b, 0x7a, 0x79,
234  0x78, 0x77, 0x76,
235  0x75, 0x74, 0x73,
236  0x72, 0x71, 0x6f,
237  0x6e, 0x6d, 0x6b,
238  0x6a, 0x69, 0x67,
239  0x66, 0x65, 0x63,
240  0x62, 0x61, 0x5f,
241  0x5d, 0x5b, 0x58,
242  0x55, 0x52, 0x4f,
243  0x4c, 0x49, 0x46,
244  0x43, 0x3f, 0x3b,
245  0x37, 0x33, 0x2e,
246  0x29, 0x24, 0x1e,
247  0x18, 0x11, 0x0a,
248  0x01,
249 };
250