linux/sound/ppc/tumbler_volume.h
<<
>>
Prefs
   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 */
   5static const 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 */
  69static const 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 */
  99static const 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 */
 129static const 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 */
 194static const 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 */
 224static const 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
 252