Back to home page

OSCL-LXR

 
 

    


0001 /* SPDX-License-Identifier: GPL-2.0 */
0002 /* volume tables, taken from TAS3001c data manual */
0003 /* volume gain values */
0004 /* 0 = -70 dB, 175 = 18.0 dB in 0.5 dB step */
0005 static const unsigned int master_volume_table[] = {
0006     0x00000015, 0x00000016, 0x00000017,
0007     0x00000019, 0x0000001a, 0x0000001c,
0008     0x0000001d, 0x0000001f, 0x00000021,
0009     0x00000023, 0x00000025, 0x00000027,
0010     0x00000029, 0x0000002c, 0x0000002e,
0011     0x00000031, 0x00000034, 0x00000037,
0012     0x0000003a, 0x0000003e, 0x00000042,
0013     0x00000045, 0x0000004a, 0x0000004e,
0014     0x00000053, 0x00000057, 0x0000005d,
0015     0x00000062, 0x00000068, 0x0000006e,
0016     0x00000075, 0x0000007b, 0x00000083,
0017     0x0000008b, 0x00000093, 0x0000009b,
0018     0x000000a5, 0x000000ae, 0x000000b9,
0019     0x000000c4, 0x000000cf, 0x000000dc,
0020     0x000000e9, 0x000000f6, 0x00000105,
0021     0x00000114, 0x00000125, 0x00000136,
0022     0x00000148, 0x0000015c, 0x00000171,
0023     0x00000186, 0x0000019e, 0x000001b6,
0024     0x000001d0, 0x000001eb, 0x00000209,
0025     0x00000227, 0x00000248, 0x0000026b,
0026     0x0000028f, 0x000002b6, 0x000002df,
0027     0x0000030b, 0x00000339, 0x0000036a,
0028     0x0000039e, 0x000003d5, 0x0000040f,
0029     0x0000044c, 0x0000048d, 0x000004d2,
0030     0x0000051c, 0x00000569, 0x000005bb,
0031     0x00000612, 0x0000066e, 0x000006d0,
0032     0x00000737, 0x000007a5, 0x00000818,
0033     0x00000893, 0x00000915, 0x0000099f,
0034     0x00000a31, 0x00000acc, 0x00000b6f,
0035     0x00000c1d, 0x00000cd5, 0x00000d97,
0036     0x00000e65, 0x00000f40, 0x00001027,
0037     0x0000111c, 0x00001220, 0x00001333,
0038     0x00001456, 0x0000158a, 0x000016d1,
0039     0x0000182b, 0x0000199a, 0x00001b1e,
0040     0x00001cb9, 0x00001e6d, 0x0000203a,
0041     0x00002223, 0x00002429, 0x0000264e,
0042     0x00002893, 0x00002afa, 0x00002d86,
0043     0x00003039, 0x00003314, 0x0000361b,
0044     0x00003950, 0x00003cb5, 0x0000404e,
0045     0x0000441d, 0x00004827, 0x00004c6d,
0046     0x000050f4, 0x000055c0, 0x00005ad5,
0047     0x00006037, 0x000065ea, 0x00006bf4,
0048     0x0000725a, 0x00007920, 0x0000804e,
0049     0x000087e8, 0x00008ff6, 0x0000987d,
0050     0x0000a186, 0x0000ab19, 0x0000b53c,
0051     0x0000bff9, 0x0000cb59, 0x0000d766,
0052     0x0000e429, 0x0000f1ae, 0x00010000,
0053     0x00010f2b, 0x00011f3d, 0x00013042,
0054     0x00014249, 0x00015562, 0x0001699c,
0055     0x00017f09, 0x000195bc, 0x0001adc6,
0056     0x0001c73d, 0x0001e237, 0x0001feca,
0057     0x00021d0e, 0x00023d1d, 0x00025f12,
0058     0x0002830b, 0x0002a925, 0x0002d182,
0059     0x0002fc42, 0x0003298b, 0x00035983,
0060     0x00038c53, 0x0003c225, 0x0003fb28,
0061     0x0004378b, 0x00047783, 0x0004bb44,
0062     0x0005030a, 0x00054f10, 0x00059f98,
0063     0x0005f4e5, 0x00064f40, 0x0006aef6,
0064     0x00071457, 0x00077fbb, 0x0007f17b,
0065 };
0066 
0067 /* treble table for TAS3001c */
0068 /* 0 = -18 dB, 72 = 18 dB in 0.5 dB step */
0069 static const unsigned int treble_volume_table[] = {
0070     0x96, 0x95, 0x94,
0071     0x93, 0x92, 0x91,
0072     0x90, 0x8f, 0x8e,
0073     0x8d, 0x8c, 0x8b,
0074     0x8a, 0x89, 0x88,
0075     0x87, 0x86, 0x85,
0076     0x84, 0x83, 0x82,
0077     0x81, 0x80, 0x7f,
0078     0x7e, 0x7d, 0x7c,
0079     0x7b, 0x7a, 0x79,
0080     0x78, 0x77, 0x76,
0081     0x75, 0x74, 0x73,
0082     0x72, 0x71, 0x70,
0083     0x6e, 0x6d, 0x6c,
0084     0x6b, 0x69, 0x68,
0085     0x66, 0x65, 0x63,
0086     0x62, 0x60, 0x5e,
0087     0x5c, 0x5a, 0x57,
0088     0x55, 0x52, 0x4f,
0089     0x4c, 0x49, 0x45,
0090     0x42, 0x3e, 0x3a,
0091     0x36, 0x32, 0x2d,
0092     0x28, 0x22, 0x1c,
0093     0x16, 0x10, 0x09,
0094     0x01,
0095 };
0096 
0097 /* bass table for TAS3001c */
0098 /* 0 = -18 dB, 72 = 18 dB in 0.5 dB step */
0099 static const unsigned int bass_volume_table[] = {
0100     0x86, 0x82, 0x7f,
0101     0x7d, 0x7a, 0x78,
0102     0x76, 0x74, 0x72,
0103     0x70, 0x6e, 0x6d,
0104     0x6b, 0x69, 0x66,
0105     0x64, 0x61, 0x5f,
0106     0x5d, 0x5c, 0x5a,
0107     0x59, 0x58, 0x56,
0108     0x55, 0x54, 0x53,
0109     0x51, 0x4f, 0x4d,
0110     0x4b, 0x49, 0x46,
0111     0x44, 0x42, 0x40,
0112     0x3e, 0x3c, 0x3b,
0113     0x39, 0x38, 0x36,
0114     0x35, 0x33, 0x31,
0115     0x30, 0x2e, 0x2c,
0116     0x2b, 0x29, 0x28,
0117     0x26, 0x25, 0x23,
0118     0x21, 0x1f, 0x1c,
0119     0x19, 0x18, 0x17,
0120     0x16, 0x14, 0x13,
0121     0x12, 0x10, 0x0f,
0122     0x0d, 0x0b, 0x0a,
0123     0x08, 0x06, 0x03,
0124     0x01,
0125 };
0126 
0127 /* mixer (pcm) volume table */
0128 /* 0 = -70 dB, 175 = 18.0 dB in 0.5 dB step */
0129 static const unsigned int mixer_volume_table[] = {
0130     0x00014b, 0x00015f, 0x000174,
0131     0x00018a, 0x0001a1, 0x0001ba,
0132     0x0001d4, 0x0001f0, 0x00020d,
0133     0x00022c, 0x00024d, 0x000270,
0134     0x000295, 0x0002bc, 0x0002e6,
0135     0x000312, 0x000340, 0x000372,
0136     0x0003a6, 0x0003dd, 0x000418,
0137     0x000456, 0x000498, 0x0004de,
0138     0x000528, 0x000576, 0x0005c9,
0139     0x000620, 0x00067d, 0x0006e0,
0140     0x000748, 0x0007b7, 0x00082c,
0141     0x0008a8, 0x00092b, 0x0009b6,
0142     0x000a49, 0x000ae5, 0x000b8b,
0143     0x000c3a, 0x000cf3, 0x000db8,
0144     0x000e88, 0x000f64, 0x00104e,
0145     0x001145, 0x00124b, 0x001361,
0146     0x001487, 0x0015be, 0x001708,
0147     0x001865, 0x0019d8, 0x001b60,
0148     0x001cff, 0x001eb7, 0x002089,
0149     0x002276, 0x002481, 0x0026ab,
0150     0x0028f5, 0x002b63, 0x002df5,
0151     0x0030ae, 0x003390, 0x00369e,
0152     0x0039db, 0x003d49, 0x0040ea,
0153     0x0044c3, 0x0048d6, 0x004d27,
0154     0x0051b9, 0x005691, 0x005bb2,
0155     0x006121, 0x0066e3, 0x006cfb,
0156     0x007370, 0x007a48, 0x008186,
0157     0x008933, 0x009154, 0x0099f1,
0158     0x00a310, 0x00acba, 0x00b6f6,
0159     0x00c1cd, 0x00cd49, 0x00d973,
0160     0x00e655, 0x00f3fb, 0x010270,
0161     0x0111c0, 0x0121f9, 0x013328,
0162     0x01455b, 0x0158a2, 0x016d0e,
0163     0x0182af, 0x019999, 0x01b1de,
0164     0x01cb94, 0x01e6cf, 0x0203a7,
0165     0x022235, 0x024293, 0x0264db,
0166     0x02892c, 0x02afa3, 0x02d862,
0167     0x03038a, 0x033142, 0x0361af,
0168     0x0394fa, 0x03cb50, 0x0404de,
0169     0x0441d5, 0x048268, 0x04c6d0,
0170     0x050f44, 0x055c04, 0x05ad50,
0171     0x06036e, 0x065ea5, 0x06bf44,
0172     0x07259d, 0x079207, 0x0804dc,
0173     0x087e80, 0x08ff59, 0x0987d5,
0174     0x0a1866, 0x0ab189, 0x0b53be,
0175     0x0bff91, 0x0cb591, 0x0d765a,
0176     0x0e4290, 0x0f1adf, 0x100000,
0177     0x10f2b4, 0x11f3c9, 0x13041a,
0178     0x14248e, 0x15561a, 0x1699c0,
0179     0x17f094, 0x195bb8, 0x1adc61,
0180     0x1c73d5, 0x1e236d, 0x1fec98,
0181     0x21d0d9, 0x23d1cd, 0x25f125,
0182     0x2830af, 0x2a9254, 0x2d1818,
0183     0x2fc420, 0x3298b0, 0x35982f,
0184     0x38c528, 0x3c224c, 0x3fb278,
0185     0x437880, 0x477828, 0x4bb446,
0186     0x5030a1, 0x54f106, 0x59f980,
0187     0x5f4e52, 0x64f403, 0x6aef5d,
0188     0x714575, 0x77fbaa, 0x7f17af,
0189 };
0190 
0191 
0192 /* treble table for TAS3004 */
0193 /* 0 = -18 dB, 72 = 18 dB in 0.5 dB step */
0194 static const unsigned int snapper_treble_volume_table[] = {
0195     0x96, 0x95, 0x94,
0196     0x93, 0x92, 0x91,
0197     0x90, 0x8f, 0x8e,
0198     0x8d, 0x8c, 0x8b,
0199     0x8a, 0x89, 0x88,
0200     0x87, 0x86, 0x85,
0201     0x84, 0x83, 0x82,
0202     0x81, 0x80, 0x7f,
0203     0x7e, 0x7d, 0x7c,
0204     0x7b, 0x7a, 0x79,
0205     0x78, 0x77, 0x76,
0206     0x75, 0x74, 0x73,
0207     0x72, 0x71, 0x70,
0208     0x6f, 0x6d, 0x6c,
0209     0x6b, 0x69, 0x68,
0210     0x67, 0x65, 0x63,
0211     0x62, 0x60, 0x5d,
0212     0x5b, 0x59, 0x56,
0213     0x53, 0x51, 0x4d,
0214     0x4a, 0x47, 0x43,
0215     0x3f, 0x3b, 0x36,
0216     0x31, 0x2c, 0x26,
0217     0x20, 0x1a, 0x13,
0218     0x08, 0x04, 0x01,
0219     0x01,
0220 };
0221 
0222 /* bass table for TAS3004 */
0223 /* 0 = -18 dB, 72 = 18 dB in 0.5 dB step */
0224 static const unsigned int snapper_bass_volume_table[] = {
0225     0x96, 0x95, 0x94,
0226     0x93, 0x92, 0x91,
0227     0x90, 0x8f, 0x8e,
0228     0x8d, 0x8c, 0x8b,
0229     0x8a, 0x89, 0x88,
0230     0x87, 0x86, 0x85,
0231     0x84, 0x83, 0x82,
0232     0x81, 0x80, 0x7f,
0233     0x7e, 0x7d, 0x7c,
0234     0x7b, 0x7a, 0x79,
0235     0x78, 0x77, 0x76,
0236     0x75, 0x74, 0x73,
0237     0x72, 0x71, 0x6f,
0238     0x6e, 0x6d, 0x6b,
0239     0x6a, 0x69, 0x67,
0240     0x66, 0x65, 0x63,
0241     0x62, 0x61, 0x5f,
0242     0x5d, 0x5b, 0x58,
0243     0x55, 0x52, 0x4f,
0244     0x4c, 0x49, 0x46,
0245     0x43, 0x3f, 0x3b,
0246     0x37, 0x33, 0x2e,
0247     0x29, 0x24, 0x1e,
0248     0x18, 0x11, 0x0a,
0249     0x01,
0250 };
0251