Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
awilliam
GitHub Repository: awilliam/linux-vfio
Path: blob/master/sound/ppc/tumbler_volume.h
10814 views
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
251
252