Linux-2.6.12-rc2
[linux-2.6/linux-acpi-2.6/ibm-acpi-2.6.git] / sound / ppc / tumbler_volume.h
blobef8d85d58b02f21ca71cfbd6d832c701caecae12
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[] = {
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,
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,
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[] = {
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,
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,