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,
66 /* treble table for TAS3001c */
67 /* 0 = -18 dB, 72 = 18 dB in 0.5 dB step */
68 static unsigned int treble_volume_table[] = {
96 /* bass table for TAS3001c */
97 /* 0 = -18 dB, 72 = 18 dB in 0.5 dB step */
98 static unsigned int bass_volume_table[] = {
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,
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[] = {
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[] = {