Pull mem-attribute into release branch
[linux-2.6] / sound / ppc / tumbler_volume.h
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