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