Lines Matching +full:jack +full:- +full:pol
1 /* SPDX-License-Identifier: GPL-2.0-only */
3 * wm8962.h -- WM8962 ASoC driver
1178 * R0 (0x00) - Left Input volume
1192 #define WM8962_INL_VOL_MASK 0x003F /* INL_VOL - [5:0] */
1193 #define WM8962_INL_VOL_SHIFT 0 /* INL_VOL - [5:0] */
1194 #define WM8962_INL_VOL_WIDTH 6 /* INL_VOL - [5:0] */
1197 * R1 (0x01) - Right Input volume
1199 #define WM8962_CUST_ID_MASK 0xF000 /* CUST_ID - [15:12] */
1200 #define WM8962_CUST_ID_SHIFT 12 /* CUST_ID - [15:12] */
1201 #define WM8962_CUST_ID_WIDTH 4 /* CUST_ID - [15:12] */
1202 #define WM8962_CHIP_REV_MASK 0x0E00 /* CHIP_REV - [11:9] */
1203 #define WM8962_CHIP_REV_SHIFT 9 /* CHIP_REV - [11:9] */
1204 #define WM8962_CHIP_REV_WIDTH 3 /* CHIP_REV - [11:9] */
1217 #define WM8962_INR_VOL_MASK 0x003F /* INR_VOL - [5:0] */
1218 #define WM8962_INR_VOL_SHIFT 0 /* INR_VOL - [5:0] */
1219 #define WM8962_INR_VOL_WIDTH 6 /* INR_VOL - [5:0] */
1222 * R2 (0x02) - HPOUTL volume
1232 #define WM8962_HPOUTL_VOL_MASK 0x007F /* HPOUTL_VOL - [6:0] */
1233 #define WM8962_HPOUTL_VOL_SHIFT 0 /* HPOUTL_VOL - [6:0] */
1234 #define WM8962_HPOUTL_VOL_WIDTH 7 /* HPOUTL_VOL - [6:0] */
1237 * R3 (0x03) - HPOUTR volume
1247 #define WM8962_HPOUTR_VOL_MASK 0x007F /* HPOUTR_VOL - [6:0] */
1248 #define WM8962_HPOUTR_VOL_SHIFT 0 /* HPOUTR_VOL - [6:0] */
1249 #define WM8962_HPOUTR_VOL_WIDTH 7 /* HPOUTR_VOL - [6:0] */
1252 * R4 (0x04) - Clocking1
1254 #define WM8962_DSPCLK_DIV_MASK 0x0600 /* DSPCLK_DIV - [10:9] */
1255 #define WM8962_DSPCLK_DIV_SHIFT 9 /* DSPCLK_DIV - [10:9] */
1256 #define WM8962_DSPCLK_DIV_WIDTH 2 /* DSPCLK_DIV - [10:9] */
1257 #define WM8962_ADCSYS_CLK_DIV_MASK 0x01C0 /* ADCSYS_CLK_DIV - [8:6] */
1258 #define WM8962_ADCSYS_CLK_DIV_SHIFT 6 /* ADCSYS_CLK_DIV - [8:6] */
1259 #define WM8962_ADCSYS_CLK_DIV_WIDTH 3 /* ADCSYS_CLK_DIV - [8:6] */
1260 #define WM8962_DACSYS_CLK_DIV_MASK 0x0038 /* DACSYS_CLK_DIV - [5:3] */
1261 #define WM8962_DACSYS_CLK_DIV_SHIFT 3 /* DACSYS_CLK_DIV - [5:3] */
1262 #define WM8962_DACSYS_CLK_DIV_WIDTH 3 /* DACSYS_CLK_DIV - [5:3] */
1263 #define WM8962_MCLKDIV_MASK 0x0006 /* MCLKDIV - [2:1] */
1264 #define WM8962_MCLKDIV_SHIFT 1 /* MCLKDIV - [2:1] */
1265 #define WM8962_MCLKDIV_WIDTH 2 /* MCLKDIV - [2:1] */
1268 * R5 (0x05) - ADC & DAC Control 1
1286 #define WM8962_DAC_DEEMP_MASK 0x0006 /* DAC_DEEMP - [2:1] */
1287 #define WM8962_DAC_DEEMP_SHIFT 1 /* DAC_DEEMP - [2:1] */
1288 #define WM8962_DAC_DEEMP_WIDTH 2 /* DAC_DEEMP - [2:1] */
1295 * R6 (0x06) - ADC & DAC Control 2
1297 #define WM8962_ADC_HPF_SR_MASK 0x3000 /* ADC_HPF_SR - [13:12] */
1298 #define WM8962_ADC_HPF_SR_SHIFT 12 /* ADC_HPF_SR - [13:12] */
1299 #define WM8962_ADC_HPF_SR_WIDTH 2 /* ADC_HPF_SR - [13:12] */
1304 #define WM8962_ADC_HPF_CUT_MASK 0x0380 /* ADC_HPF_CUT - [9:7] */
1305 #define WM8962_ADC_HPF_CUT_SHIFT 7 /* ADC_HPF_CUT - [9:7] */
1306 #define WM8962_ADC_HPF_CUT_WIDTH 3 /* ADC_HPF_CUT - [9:7] */
1329 * R7 (0x07) - Audio Interface 0
1367 #define WM8962_WL_MASK 0x000C /* WL - [3:2] */
1368 #define WM8962_WL_SHIFT 2 /* WL - [3:2] */
1369 #define WM8962_WL_WIDTH 2 /* WL - [3:2] */
1370 #define WM8962_FMT_MASK 0x0003 /* FMT - [1:0] */
1371 #define WM8962_FMT_SHIFT 0 /* FMT - [1:0] */
1372 #define WM8962_FMT_WIDTH 2 /* FMT - [1:0] */
1375 * R8 (0x08) - Clocking2
1381 #define WM8962_SYSCLK_SRC_MASK 0x0600 /* SYSCLK_SRC - [10:9] */
1382 #define WM8962_SYSCLK_SRC_SHIFT 9 /* SYSCLK_SRC - [10:9] */
1383 #define WM8962_SYSCLK_SRC_WIDTH 2 /* SYSCLK_SRC - [10:9] */
1384 #define WM8962_CLASSD_CLK_DIV_MASK 0x01C0 /* CLASSD_CLK_DIV - [8:6] */
1385 #define WM8962_CLASSD_CLK_DIV_SHIFT 6 /* CLASSD_CLK_DIV - [8:6] */
1386 #define WM8962_CLASSD_CLK_DIV_WIDTH 3 /* CLASSD_CLK_DIV - [8:6] */
1391 #define WM8962_BCLK_DIV_MASK 0x000F /* BCLK_DIV - [3:0] */
1392 #define WM8962_BCLK_DIV_SHIFT 0 /* BCLK_DIV - [3:0] */
1393 #define WM8962_BCLK_DIV_WIDTH 4 /* BCLK_DIV - [3:0] */
1396 * R9 (0x09) - Audio Interface 1
1402 #define WM8962_DAC_AUTOMUTE_SAMPLES_MASK 0x0300 /* DAC_AUTOMUTE_SAMPLES - [9:8] */
1403 #define WM8962_DAC_AUTOMUTE_SAMPLES_SHIFT 8 /* DAC_AUTOMUTE_SAMPLES - [9:8] */
1404 #define WM8962_DAC_AUTOMUTE_SAMPLES_WIDTH 2 /* DAC_AUTOMUTE_SAMPLES - [9:8] */
1431 * R10 (0x0A) - Left DAC volume
1437 #define WM8962_DACL_VOL_MASK 0x00FF /* DACL_VOL - [7:0] */
1438 #define WM8962_DACL_VOL_SHIFT 0 /* DACL_VOL - [7:0] */
1439 #define WM8962_DACL_VOL_WIDTH 8 /* DACL_VOL - [7:0] */
1442 * R11 (0x0B) - Right DAC volume
1448 #define WM8962_DACR_VOL_MASK 0x00FF /* DACR_VOL - [7:0] */
1449 #define WM8962_DACR_VOL_SHIFT 0 /* DACR_VOL - [7:0] */
1450 #define WM8962_DACR_VOL_WIDTH 8 /* DACR_VOL - [7:0] */
1453 * R14 (0x0E) - Audio Interface 2
1455 #define WM8962_AIF_RATE_MASK 0x07FF /* AIF_RATE - [10:0] */
1456 #define WM8962_AIF_RATE_SHIFT 0 /* AIF_RATE - [10:0] */
1457 #define WM8962_AIF_RATE_WIDTH 11 /* AIF_RATE - [10:0] */
1460 * R15 (0x0F) - Software Reset
1462 #define WM8962_SW_RESET_MASK 0xFFFF /* SW_RESET - [15:0] */
1463 #define WM8962_SW_RESET_SHIFT 0 /* SW_RESET - [15:0] */
1464 #define WM8962_SW_RESET_WIDTH 16 /* SW_RESET - [15:0] */
1467 * R17 (0x11) - ALC1
1485 #define WM8962_ALC_MAXGAIN_MASK 0x0070 /* ALC_MAXGAIN - [6:4] */
1486 #define WM8962_ALC_MAXGAIN_SHIFT 4 /* ALC_MAXGAIN - [6:4] */
1487 #define WM8962_ALC_MAXGAIN_WIDTH 3 /* ALC_MAXGAIN - [6:4] */
1488 #define WM8962_ALC_LVL_MASK 0x000F /* ALC_LVL - [3:0] */
1489 #define WM8962_ALC_LVL_SHIFT 0 /* ALC_LVL - [3:0] */
1490 #define WM8962_ALC_LVL_WIDTH 4 /* ALC_LVL - [3:0] */
1493 * R18 (0x12) - ALC2
1519 #define WM8962_ALC_MINGAIN_MASK 0x0070 /* ALC_MINGAIN - [6:4] */
1520 #define WM8962_ALC_MINGAIN_SHIFT 4 /* ALC_MINGAIN - [6:4] */
1521 #define WM8962_ALC_MINGAIN_WIDTH 3 /* ALC_MINGAIN - [6:4] */
1522 #define WM8962_ALC_HLD_MASK 0x000F /* ALC_HLD - [3:0] */
1523 #define WM8962_ALC_HLD_SHIFT 0 /* ALC_HLD - [3:0] */
1524 #define WM8962_ALC_HLD_WIDTH 4 /* ALC_HLD - [3:0] */
1527 * R19 (0x13) - ALC3
1529 #define WM8962_ALC_NGATE_GAIN_MASK 0x1C00 /* ALC_NGATE_GAIN - [12:10] */
1530 #define WM8962_ALC_NGATE_GAIN_SHIFT 10 /* ALC_NGATE_GAIN - [12:10] */
1531 #define WM8962_ALC_NGATE_GAIN_WIDTH 3 /* ALC_NGATE_GAIN - [12:10] */
1536 #define WM8962_ALC_DCY_MASK 0x00F0 /* ALC_DCY - [7:4] */
1537 #define WM8962_ALC_DCY_SHIFT 4 /* ALC_DCY - [7:4] */
1538 #define WM8962_ALC_DCY_WIDTH 4 /* ALC_DCY - [7:4] */
1539 #define WM8962_ALC_ATK_MASK 0x000F /* ALC_ATK - [3:0] */
1540 #define WM8962_ALC_ATK_SHIFT 0 /* ALC_ATK - [3:0] */
1541 #define WM8962_ALC_ATK_WIDTH 4 /* ALC_ATK - [3:0] */
1544 * R20 (0x14) - Noise Gate
1546 #define WM8962_ALC_NGATE_DCY_MASK 0xF000 /* ALC_NGATE_DCY - [15:12] */
1547 #define WM8962_ALC_NGATE_DCY_SHIFT 12 /* ALC_NGATE_DCY - [15:12] */
1548 #define WM8962_ALC_NGATE_DCY_WIDTH 4 /* ALC_NGATE_DCY - [15:12] */
1549 #define WM8962_ALC_NGATE_ATK_MASK 0x0F00 /* ALC_NGATE_ATK - [11:8] */
1550 #define WM8962_ALC_NGATE_ATK_SHIFT 8 /* ALC_NGATE_ATK - [11:8] */
1551 #define WM8962_ALC_NGATE_ATK_WIDTH 4 /* ALC_NGATE_ATK - [11:8] */
1552 #define WM8962_ALC_NGATE_THR_MASK 0x00F8 /* ALC_NGATE_THR - [7:3] */
1553 #define WM8962_ALC_NGATE_THR_SHIFT 3 /* ALC_NGATE_THR - [7:3] */
1554 #define WM8962_ALC_NGATE_THR_WIDTH 5 /* ALC_NGATE_THR - [7:3] */
1555 #define WM8962_ALC_NGATE_MODE_MASK 0x0006 /* ALC_NGATE_MODE - [2:1] */
1556 #define WM8962_ALC_NGATE_MODE_SHIFT 1 /* ALC_NGATE_MODE - [2:1] */
1557 #define WM8962_ALC_NGATE_MODE_WIDTH 2 /* ALC_NGATE_MODE - [2:1] */
1564 * R21 (0x15) - Left ADC volume
1570 #define WM8962_ADCL_VOL_MASK 0x00FF /* ADCL_VOL - [7:0] */
1571 #define WM8962_ADCL_VOL_SHIFT 0 /* ADCL_VOL - [7:0] */
1572 #define WM8962_ADCL_VOL_WIDTH 8 /* ADCL_VOL - [7:0] */
1575 * R22 (0x16) - Right ADC volume
1581 #define WM8962_ADCR_VOL_MASK 0x00FF /* ADCR_VOL - [7:0] */
1582 #define WM8962_ADCR_VOL_SHIFT 0 /* ADCR_VOL - [7:0] */
1583 #define WM8962_ADCR_VOL_WIDTH 8 /* ADCR_VOL - [7:0] */
1586 * R23 (0x17) - Additional control(1)
1606 * R24 (0x18) - Additional control(2)
1614 * R25 (0x19) - Pwr Mgmt (1)
1624 #define WM8962_VMID_SEL_MASK 0x0180 /* VMID_SEL - [8:7] */
1625 #define WM8962_VMID_SEL_SHIFT 7 /* VMID_SEL - [8:7] */
1626 #define WM8962_VMID_SEL_WIDTH 2 /* VMID_SEL - [8:7] */
1653 * R26 (0x1A) - Pwr Mgmt (2)
1689 * R27 (0x1B) - Additional Control (3)
1695 #define WM8962_SAMPLE_RATE_MASK 0x0007 /* SAMPLE_RATE - [2:0] */
1696 #define WM8962_SAMPLE_RATE_SHIFT 0 /* SAMPLE_RATE - [2:0] */
1697 #define WM8962_SAMPLE_RATE_WIDTH 3 /* SAMPLE_RATE - [2:0] */
1700 * R28 (0x1C) - Anti-pop
1716 * R30 (0x1E) - Clocking 3
1718 #define WM8962_DBCLK_DIV_MASK 0xE000 /* DBCLK_DIV - [15:13] */
1719 #define WM8962_DBCLK_DIV_SHIFT 13 /* DBCLK_DIV - [15:13] */
1720 #define WM8962_DBCLK_DIV_WIDTH 3 /* DBCLK_DIV - [15:13] */
1721 #define WM8962_OPCLK_DIV_MASK 0x1C00 /* OPCLK_DIV - [12:10] */
1722 #define WM8962_OPCLK_DIV_SHIFT 10 /* OPCLK_DIV - [12:10] */
1723 #define WM8962_OPCLK_DIV_WIDTH 3 /* OPCLK_DIV - [12:10] */
1724 #define WM8962_TOCLK_DIV_MASK 0x0380 /* TOCLK_DIV - [9:7] */
1725 #define WM8962_TOCLK_DIV_SHIFT 7 /* TOCLK_DIV - [9:7] */
1726 #define WM8962_TOCLK_DIV_WIDTH 3 /* TOCLK_DIV - [9:7] */
1727 #define WM8962_F256KCLK_DIV_MASK 0x007E /* F256KCLK_DIV - [6:1] */
1728 #define WM8962_F256KCLK_DIV_SHIFT 1 /* F256KCLK_DIV - [6:1] */
1729 #define WM8962_F256KCLK_DIV_WIDTH 6 /* F256KCLK_DIV - [6:1] */
1732 * R31 (0x1F) - Input mixer control (1)
1752 * R32 (0x20) - Left input mixer volume
1754 #define WM8962_IN2L_MIXINL_VOL_MASK 0x01C0 /* IN2L_MIXINL_VOL - [8:6] */
1755 #define WM8962_IN2L_MIXINL_VOL_SHIFT 6 /* IN2L_MIXINL_VOL - [8:6] */
1756 #define WM8962_IN2L_MIXINL_VOL_WIDTH 3 /* IN2L_MIXINL_VOL - [8:6] */
1757 #define WM8962_INPGAL_MIXINL_VOL_MASK 0x0038 /* INPGAL_MIXINL_VOL - [5:3] */
1758 #define WM8962_INPGAL_MIXINL_VOL_SHIFT 3 /* INPGAL_MIXINL_VOL - [5:3] */
1759 #define WM8962_INPGAL_MIXINL_VOL_WIDTH 3 /* INPGAL_MIXINL_VOL - [5:3] */
1760 #define WM8962_IN3L_MIXINL_VOL_MASK 0x0007 /* IN3L_MIXINL_VOL - [2:0] */
1761 #define WM8962_IN3L_MIXINL_VOL_SHIFT 0 /* IN3L_MIXINL_VOL - [2:0] */
1762 #define WM8962_IN3L_MIXINL_VOL_WIDTH 3 /* IN3L_MIXINL_VOL - [2:0] */
1765 * R33 (0x21) - Right input mixer volume
1767 #define WM8962_IN2R_MIXINR_VOL_MASK 0x01C0 /* IN2R_MIXINR_VOL - [8:6] */
1768 #define WM8962_IN2R_MIXINR_VOL_SHIFT 6 /* IN2R_MIXINR_VOL - [8:6] */
1769 #define WM8962_IN2R_MIXINR_VOL_WIDTH 3 /* IN2R_MIXINR_VOL - [8:6] */
1770 #define WM8962_INPGAR_MIXINR_VOL_MASK 0x0038 /* INPGAR_MIXINR_VOL - [5:3] */
1771 #define WM8962_INPGAR_MIXINR_VOL_SHIFT 3 /* INPGAR_MIXINR_VOL - [5:3] */
1772 #define WM8962_INPGAR_MIXINR_VOL_WIDTH 3 /* INPGAR_MIXINR_VOL - [5:3] */
1773 #define WM8962_IN3R_MIXINR_VOL_MASK 0x0007 /* IN3R_MIXINR_VOL - [2:0] */
1774 #define WM8962_IN3R_MIXINR_VOL_SHIFT 0 /* IN3R_MIXINR_VOL - [2:0] */
1775 #define WM8962_IN3R_MIXINR_VOL_WIDTH 3 /* IN3R_MIXINR_VOL - [2:0] */
1778 * R34 (0x22) - Input mixer control (2)
1806 * R35 (0x23) - Input bias control
1808 #define WM8962_MIXIN_BIAS_MASK 0x0038 /* MIXIN_BIAS - [5:3] */
1809 #define WM8962_MIXIN_BIAS_SHIFT 3 /* MIXIN_BIAS - [5:3] */
1810 #define WM8962_MIXIN_BIAS_WIDTH 3 /* MIXIN_BIAS - [5:3] */
1811 #define WM8962_INPGA_BIAS_MASK 0x0007 /* INPGA_BIAS - [2:0] */
1812 #define WM8962_INPGA_BIAS_SHIFT 0 /* INPGA_BIAS - [2:0] */
1813 #define WM8962_INPGA_BIAS_WIDTH 3 /* INPGA_BIAS - [2:0] */
1816 * R37 (0x25) - Left input PGA control
1840 * R38 (0x26) - Right input PGA control
1864 * R40 (0x28) - SPKOUTL volume
1874 #define WM8962_SPKOUTL_VOL_MASK 0x007F /* SPKOUTL_VOL - [6:0] */
1875 #define WM8962_SPKOUTL_VOL_SHIFT 0 /* SPKOUTL_VOL - [6:0] */
1876 #define WM8962_SPKOUTL_VOL_WIDTH 7 /* SPKOUTL_VOL - [6:0] */
1879 * R41 (0x29) - SPKOUTR volume
1885 #define WM8962_SPKOUTR_VOL_MASK 0x007F /* SPKOUTR_VOL - [6:0] */
1886 #define WM8962_SPKOUTR_VOL_SHIFT 0 /* SPKOUTR_VOL - [6:0] */
1887 #define WM8962_SPKOUTR_VOL_WIDTH 7 /* SPKOUTR_VOL - [6:0] */
1890 * R47 (0x2F) - Thermal Shutdown Status
1910 * R48 (0x30) - Additional Control (4)
1912 #define WM8962_MICDET_THR_MASK 0x7000 /* MICDET_THR - [14:12] */
1913 #define WM8962_MICDET_THR_SHIFT 12 /* MICDET_THR - [14:12] */
1914 #define WM8962_MICDET_THR_WIDTH 3 /* MICDET_THR - [14:12] */
1915 #define WM8962_MICSHORT_THR_MASK 0x0C00 /* MICSHORT_THR - [11:10] */
1916 #define WM8962_MICSHORT_THR_SHIFT 10 /* MICSHORT_THR - [11:10] */
1917 #define WM8962_MICSHORT_THR_WIDTH 2 /* MICSHORT_THR - [11:10] */
1944 * R49 (0x31) - Class D Control 1
1968 * R51 (0x33) - Class D Control 2
1974 #define WM8962_CLASSD_VOL_MASK 0x0007 /* CLASSD_VOL - [2:0] */
1975 #define WM8962_CLASSD_VOL_SHIFT 0 /* CLASSD_VOL - [2:0] */
1976 #define WM8962_CLASSD_VOL_WIDTH 3 /* CLASSD_VOL - [2:0] */
1979 * R56 (0x38) - Clocking 4
1981 #define WM8962_SYSCLK_RATE_MASK 0x001E /* SYSCLK_RATE - [4:1] */
1982 #define WM8962_SYSCLK_RATE_SHIFT 1 /* SYSCLK_RATE - [4:1] */
1983 #define WM8962_SYSCLK_RATE_WIDTH 4 /* SYSCLK_RATE - [4:1] */
1986 * R57 (0x39) - DAC DSP Mixing (1)
1992 #define WM8962_ADCR_DAC_SVOL_MASK 0x00F0 /* ADCR_DAC_SVOL - [7:4] */
1993 #define WM8962_ADCR_DAC_SVOL_SHIFT 4 /* ADCR_DAC_SVOL - [7:4] */
1994 #define WM8962_ADCR_DAC_SVOL_WIDTH 4 /* ADCR_DAC_SVOL - [7:4] */
1995 #define WM8962_ADC_TO_DACR_MASK 0x000C /* ADC_TO_DACR - [3:2] */
1996 #define WM8962_ADC_TO_DACR_SHIFT 2 /* ADC_TO_DACR - [3:2] */
1997 #define WM8962_ADC_TO_DACR_WIDTH 2 /* ADC_TO_DACR - [3:2] */
2000 * R58 (0x3A) - DAC DSP Mixing (2)
2002 #define WM8962_ADCL_DAC_SVOL_MASK 0x00F0 /* ADCL_DAC_SVOL - [7:4] */
2003 #define WM8962_ADCL_DAC_SVOL_SHIFT 4 /* ADCL_DAC_SVOL - [7:4] */
2004 #define WM8962_ADCL_DAC_SVOL_WIDTH 4 /* ADCL_DAC_SVOL - [7:4] */
2005 #define WM8962_ADC_TO_DACL_MASK 0x000C /* ADC_TO_DACL - [3:2] */
2006 #define WM8962_ADC_TO_DACL_SHIFT 2 /* ADC_TO_DACL - [3:2] */
2007 #define WM8962_ADC_TO_DACL_WIDTH 2 /* ADC_TO_DACL - [3:2] */
2010 * R60 (0x3C) - DC Servo 0
2030 * R61 (0x3D) - DC Servo 1
2058 * R64 (0x40) - DC Servo 4
2060 #define WM8962_HP1_DCS_SYNC_STEPS_MASK 0x3F80 /* HP1_DCS_SYNC_STEPS - [13:7] */
2061 #define WM8962_HP1_DCS_SYNC_STEPS_SHIFT 7 /* HP1_DCS_SYNC_STEPS - [13:7] */
2062 #define WM8962_HP1_DCS_SYNC_STEPS_WIDTH 7 /* HP1_DCS_SYNC_STEPS - [13:7] */
2065 * R66 (0x42) - DC Servo 6
2085 * R68 (0x44) - Analogue PGA Bias
2087 #define WM8962_HP_PGAS_BIAS_MASK 0x0007 /* HP_PGAS_BIAS - [2:0] */
2088 #define WM8962_HP_PGAS_BIAS_SHIFT 0 /* HP_PGAS_BIAS - [2:0] */
2089 #define WM8962_HP_PGAS_BIAS_WIDTH 3 /* HP_PGAS_BIAS - [2:0] */
2092 * R69 (0x45) - Analogue HP 0
2128 * R71 (0x47) - Analogue HP 2
2130 #define WM8962_HP1L_VOL_MASK 0x01C0 /* HP1L_VOL - [8:6] */
2131 #define WM8962_HP1L_VOL_SHIFT 6 /* HP1L_VOL - [8:6] */
2132 #define WM8962_HP1L_VOL_WIDTH 3 /* HP1L_VOL - [8:6] */
2133 #define WM8962_HP1R_VOL_MASK 0x0038 /* HP1R_VOL - [5:3] */
2134 #define WM8962_HP1R_VOL_SHIFT 3 /* HP1R_VOL - [5:3] */
2135 #define WM8962_HP1R_VOL_WIDTH 3 /* HP1R_VOL - [5:3] */
2136 #define WM8962_HP_BIAS_BOOST_MASK 0x0007 /* HP_BIAS_BOOST - [2:0] */
2137 #define WM8962_HP_BIAS_BOOST_SHIFT 0 /* HP_BIAS_BOOST - [2:0] */
2138 #define WM8962_HP_BIAS_BOOST_WIDTH 3 /* HP_BIAS_BOOST - [2:0] */
2141 * R72 (0x48) - Charge Pump 1
2149 * R82 (0x52) - Charge Pump B
2157 * R87 (0x57) - Write Sequencer Control 1
2169 * R90 (0x5A) - Write Sequencer Control 2
2179 #define WM8962_WSEQ_START_INDEX_MASK 0x007F /* WSEQ_START_INDEX - [6:0] */
2180 #define WM8962_WSEQ_START_INDEX_SHIFT 0 /* WSEQ_START_INDEX - [6:0] */
2181 #define WM8962_WSEQ_START_INDEX_WIDTH 7 /* WSEQ_START_INDEX - [6:0] */
2184 * R93 (0x5D) - Write Sequencer Control 3
2186 #define WM8962_WSEQ_CURRENT_INDEX_MASK 0x03F8 /* WSEQ_CURRENT_INDEX - [9:3] */
2187 #define WM8962_WSEQ_CURRENT_INDEX_SHIFT 3 /* WSEQ_CURRENT_INDEX - [9:3] */
2188 #define WM8962_WSEQ_CURRENT_INDEX_WIDTH 7 /* WSEQ_CURRENT_INDEX - [9:3] */
2195 * R94 (0x5E) - Control Interface
2211 * R99 (0x63) - Mixer Enables
2231 * R100 (0x64) - Headphone Mixer (1)
2263 * R101 (0x65) - Headphone Mixer (2)
2295 * R102 (0x66) - Headphone Mixer (3)
2309 #define WM8962_IN4L_HPMIXL_VOL_MASK 0x0038 /* IN4L_HPMIXL_VOL - [5:3] */
2310 #define WM8962_IN4L_HPMIXL_VOL_SHIFT 3 /* IN4L_HPMIXL_VOL - [5:3] */
2311 #define WM8962_IN4L_HPMIXL_VOL_WIDTH 3 /* IN4L_HPMIXL_VOL - [5:3] */
2312 #define WM8962_IN4R_HPMIXL_VOL_MASK 0x0007 /* IN4R_HPMIXL_VOL - [2:0] */
2313 #define WM8962_IN4R_HPMIXL_VOL_SHIFT 0 /* IN4R_HPMIXL_VOL - [2:0] */
2314 #define WM8962_IN4R_HPMIXL_VOL_WIDTH 3 /* IN4R_HPMIXL_VOL - [2:0] */
2317 * R103 (0x67) - Headphone Mixer (4)
2331 #define WM8962_IN4L_HPMIXR_VOL_MASK 0x0038 /* IN4L_HPMIXR_VOL - [5:3] */
2332 #define WM8962_IN4L_HPMIXR_VOL_SHIFT 3 /* IN4L_HPMIXR_VOL - [5:3] */
2333 #define WM8962_IN4L_HPMIXR_VOL_WIDTH 3 /* IN4L_HPMIXR_VOL - [5:3] */
2334 #define WM8962_IN4R_HPMIXR_VOL_MASK 0x0007 /* IN4R_HPMIXR_VOL - [2:0] */
2335 #define WM8962_IN4R_HPMIXR_VOL_SHIFT 0 /* IN4R_HPMIXR_VOL - [2:0] */
2336 #define WM8962_IN4R_HPMIXR_VOL_WIDTH 3 /* IN4R_HPMIXR_VOL - [2:0] */
2339 * R105 (0x69) - Speaker Mixer (1)
2371 * R106 (0x6A) - Speaker Mixer (2)
2403 * R107 (0x6B) - Speaker Mixer (3)
2417 #define WM8962_IN4L_SPKMIXL_VOL_MASK 0x0038 /* IN4L_SPKMIXL_VOL - [5:3] */
2418 #define WM8962_IN4L_SPKMIXL_VOL_SHIFT 3 /* IN4L_SPKMIXL_VOL - [5:3] */
2419 #define WM8962_IN4L_SPKMIXL_VOL_WIDTH 3 /* IN4L_SPKMIXL_VOL - [5:3] */
2420 #define WM8962_IN4R_SPKMIXL_VOL_MASK 0x0007 /* IN4R_SPKMIXL_VOL - [2:0] */
2421 #define WM8962_IN4R_SPKMIXL_VOL_SHIFT 0 /* IN4R_SPKMIXL_VOL - [2:0] */
2422 #define WM8962_IN4R_SPKMIXL_VOL_WIDTH 3 /* IN4R_SPKMIXL_VOL - [2:0] */
2425 * R108 (0x6C) - Speaker Mixer (4)
2439 #define WM8962_IN4L_SPKMIXR_VOL_MASK 0x0038 /* IN4L_SPKMIXR_VOL - [5:3] */
2440 #define WM8962_IN4L_SPKMIXR_VOL_SHIFT 3 /* IN4L_SPKMIXR_VOL - [5:3] */
2441 #define WM8962_IN4L_SPKMIXR_VOL_WIDTH 3 /* IN4L_SPKMIXR_VOL - [5:3] */
2442 #define WM8962_IN4R_SPKMIXR_VOL_MASK 0x0007 /* IN4R_SPKMIXR_VOL - [2:0] */
2443 #define WM8962_IN4R_SPKMIXR_VOL_SHIFT 0 /* IN4R_SPKMIXR_VOL - [2:0] */
2444 #define WM8962_IN4R_SPKMIXR_VOL_WIDTH 3 /* IN4R_SPKMIXR_VOL - [2:0] */
2447 * R109 (0x6D) - Speaker Mixer (5)
2467 * R110 (0x6E) - Beep Generator (1)
2469 #define WM8962_BEEP_GAIN_MASK 0x00F0 /* BEEP_GAIN - [7:4] */
2470 #define WM8962_BEEP_GAIN_SHIFT 4 /* BEEP_GAIN - [7:4] */
2471 #define WM8962_BEEP_GAIN_WIDTH 4 /* BEEP_GAIN - [7:4] */
2472 #define WM8962_BEEP_RATE_MASK 0x0006 /* BEEP_RATE - [2:1] */
2473 #define WM8962_BEEP_RATE_SHIFT 1 /* BEEP_RATE - [2:1] */
2474 #define WM8962_BEEP_RATE_WIDTH 2 /* BEEP_RATE - [2:1] */
2481 * R115 (0x73) - Oscillator Trim (3)
2483 #define WM8962_OSC_TRIM_XTI_MASK 0x001F /* OSC_TRIM_XTI - [4:0] */
2484 #define WM8962_OSC_TRIM_XTI_SHIFT 0 /* OSC_TRIM_XTI - [4:0] */
2485 #define WM8962_OSC_TRIM_XTI_WIDTH 5 /* OSC_TRIM_XTI - [4:0] */
2488 * R116 (0x74) - Oscillator Trim (4)
2490 #define WM8962_OSC_TRIM_XTO_MASK 0x001F /* OSC_TRIM_XTO - [4:0] */
2491 #define WM8962_OSC_TRIM_XTO_SHIFT 0 /* OSC_TRIM_XTO - [4:0] */
2492 #define WM8962_OSC_TRIM_XTO_WIDTH 5 /* OSC_TRIM_XTO - [4:0] */
2495 * R119 (0x77) - Oscillator Trim (7)
2497 #define WM8962_XTO_CAP_SEL_MASK 0x00F0 /* XTO_CAP_SEL - [7:4] */
2498 #define WM8962_XTO_CAP_SEL_SHIFT 4 /* XTO_CAP_SEL - [7:4] */
2499 #define WM8962_XTO_CAP_SEL_WIDTH 4 /* XTO_CAP_SEL - [7:4] */
2500 #define WM8962_XTI_CAP_SEL_MASK 0x000F /* XTI_CAP_SEL - [3:0] */
2501 #define WM8962_XTI_CAP_SEL_SHIFT 0 /* XTI_CAP_SEL - [3:0] */
2502 #define WM8962_XTI_CAP_SEL_WIDTH 4 /* XTI_CAP_SEL - [3:0] */
2505 * R124 (0x7C) - Analogue Clocking1
2507 #define WM8962_CLKOUT2_SEL_MASK 0x0060 /* CLKOUT2_SEL - [6:5] */
2508 #define WM8962_CLKOUT2_SEL_SHIFT 5 /* CLKOUT2_SEL - [6:5] */
2509 #define WM8962_CLKOUT2_SEL_WIDTH 2 /* CLKOUT2_SEL - [6:5] */
2510 #define WM8962_CLKOUT3_SEL_MASK 0x0018 /* CLKOUT3_SEL - [4:3] */
2511 #define WM8962_CLKOUT3_SEL_SHIFT 3 /* CLKOUT3_SEL - [4:3] */
2512 #define WM8962_CLKOUT3_SEL_WIDTH 2 /* CLKOUT3_SEL - [4:3] */
2519 * R125 (0x7D) - Analogue Clocking2
2529 #define WM8962_PLL_SYSCLK_DIV_MASK 0x0018 /* PLL_SYSCLK_DIV - [4:3] */
2530 #define WM8962_PLL_SYSCLK_DIV_SHIFT 3 /* PLL_SYSCLK_DIV - [4:3] */
2531 #define WM8962_PLL_SYSCLK_DIV_WIDTH 2 /* PLL_SYSCLK_DIV - [4:3] */
2546 * R126 (0x7E) - Analogue Clocking3
2562 * R127 (0x7F) - PLL Software Reset
2564 #define WM8962_SW_RESET_PLL_MASK 0xFFFF /* SW_RESET_PLL - [15:0] */
2565 #define WM8962_SW_RESET_PLL_SHIFT 0 /* SW_RESET_PLL - [15:0] */
2566 #define WM8962_SW_RESET_PLL_WIDTH 16 /* SW_RESET_PLL - [15:0] */
2569 * R129 (0x81) - PLL2
2585 * R131 (0x83) - PLL 4
2597 * R136 (0x88) - PLL 9
2603 #define WM8962_PLL2_N_MASK 0x001F /* PLL2_N - [4:0] */
2604 #define WM8962_PLL2_N_SHIFT 0 /* PLL2_N - [4:0] */
2605 #define WM8962_PLL2_N_WIDTH 5 /* PLL2_N - [4:0] */
2608 * R137 (0x89) - PLL 10
2610 #define WM8962_PLL2_K_MASK 0x00FF /* PLL2_K - [7:0] */
2611 #define WM8962_PLL2_K_SHIFT 0 /* PLL2_K - [7:0] */
2612 #define WM8962_PLL2_K_WIDTH 8 /* PLL2_K - [7:0] */
2615 * R138 (0x8A) - PLL 11
2617 #define WM8962_PLL2_K_MASK 0x00FF /* PLL2_K - [7:0] */
2618 #define WM8962_PLL2_K_SHIFT 0 /* PLL2_K - [7:0] */
2619 #define WM8962_PLL2_K_WIDTH 8 /* PLL2_K - [7:0] */
2622 * R139 (0x8B) - PLL 12
2624 #define WM8962_PLL2_K_MASK 0x00FF /* PLL2_K - [7:0] */
2625 #define WM8962_PLL2_K_SHIFT 0 /* PLL2_K - [7:0] */
2626 #define WM8962_PLL2_K_WIDTH 8 /* PLL2_K - [7:0] */
2629 * R140 (0x8C) - PLL 13
2635 #define WM8962_PLL3_N_MASK 0x001F /* PLL3_N - [4:0] */
2636 #define WM8962_PLL3_N_SHIFT 0 /* PLL3_N - [4:0] */
2637 #define WM8962_PLL3_N_WIDTH 5 /* PLL3_N - [4:0] */
2640 * R141 (0x8D) - PLL 14
2642 #define WM8962_PLL3_K_MASK 0x00FF /* PLL3_K - [7:0] */
2643 #define WM8962_PLL3_K_SHIFT 0 /* PLL3_K - [7:0] */
2644 #define WM8962_PLL3_K_WIDTH 8 /* PLL3_K - [7:0] */
2647 * R142 (0x8E) - PLL 15
2649 #define WM8962_PLL3_K_MASK 0x00FF /* PLL3_K - [7:0] */
2650 #define WM8962_PLL3_K_SHIFT 0 /* PLL3_K - [7:0] */
2651 #define WM8962_PLL3_K_WIDTH 8 /* PLL3_K - [7:0] */
2654 * R143 (0x8F) - PLL 16
2656 #define WM8962_PLL3_K_MASK 0x00FF /* PLL3_K - [7:0] */
2657 #define WM8962_PLL3_K_SHIFT 0 /* PLL3_K - [7:0] */
2658 #define WM8962_PLL3_K_WIDTH 8 /* PLL3_K - [7:0] */
2661 * R155 (0x9B) - FLL Control (1)
2663 #define WM8962_FLL_REFCLK_SRC_MASK 0x0060 /* FLL_REFCLK_SRC - [6:5] */
2664 #define WM8962_FLL_REFCLK_SRC_SHIFT 5 /* FLL_REFCLK_SRC - [6:5] */
2665 #define WM8962_FLL_REFCLK_SRC_WIDTH 2 /* FLL_REFCLK_SRC - [6:5] */
2680 * R156 (0x9C) - FLL Control (2)
2682 #define WM8962_FLL_OUTDIV_MASK 0x01F8 /* FLL_OUTDIV - [8:3] */
2683 #define WM8962_FLL_OUTDIV_SHIFT 3 /* FLL_OUTDIV - [8:3] */
2684 #define WM8962_FLL_OUTDIV_WIDTH 6 /* FLL_OUTDIV - [8:3] */
2685 #define WM8962_FLL_REFCLK_DIV_MASK 0x0003 /* FLL_REFCLK_DIV - [1:0] */
2686 #define WM8962_FLL_REFCLK_DIV_SHIFT 0 /* FLL_REFCLK_DIV - [1:0] */
2687 #define WM8962_FLL_REFCLK_DIV_WIDTH 2 /* FLL_REFCLK_DIV - [1:0] */
2690 * R157 (0x9D) - FLL Control (3)
2692 #define WM8962_FLL_FRATIO_MASK 0x0007 /* FLL_FRATIO - [2:0] */
2693 #define WM8962_FLL_FRATIO_SHIFT 0 /* FLL_FRATIO - [2:0] */
2694 #define WM8962_FLL_FRATIO_WIDTH 3 /* FLL_FRATIO - [2:0] */
2697 * R159 (0x9F) - FLL Control (5)
2699 #define WM8962_FLL_FRC_NCO_VAL_MASK 0x007E /* FLL_FRC_NCO_VAL - [6:1] */
2700 #define WM8962_FLL_FRC_NCO_VAL_SHIFT 1 /* FLL_FRC_NCO_VAL - [6:1] */
2701 #define WM8962_FLL_FRC_NCO_VAL_WIDTH 6 /* FLL_FRC_NCO_VAL - [6:1] */
2708 * R160 (0xA0) - FLL Control (6)
2710 #define WM8962_FLL_THETA_MASK 0xFFFF /* FLL_THETA - [15:0] */
2711 #define WM8962_FLL_THETA_SHIFT 0 /* FLL_THETA - [15:0] */
2712 #define WM8962_FLL_THETA_WIDTH 16 /* FLL_THETA - [15:0] */
2715 * R161 (0xA1) - FLL Control (7)
2717 #define WM8962_FLL_LAMBDA_MASK 0xFFFF /* FLL_LAMBDA - [15:0] */
2718 #define WM8962_FLL_LAMBDA_SHIFT 0 /* FLL_LAMBDA - [15:0] */
2719 #define WM8962_FLL_LAMBDA_WIDTH 16 /* FLL_LAMBDA - [15:0] */
2722 * R162 (0xA2) - FLL Control (8)
2724 #define WM8962_FLL_N_MASK 0x03FF /* FLL_N - [9:0] */
2725 #define WM8962_FLL_N_SHIFT 0 /* FLL_N - [9:0] */
2726 #define WM8962_FLL_N_WIDTH 10 /* FLL_N - [9:0] */
2729 * R252 (0xFC) - General test 1
2741 * R256 (0x100) - DF1
2761 * R257 (0x101) - DF2
2763 #define WM8962_DF1_COEFF_L0_MASK 0xFFFF /* DF1_COEFF_L0 - [15:0] */
2764 #define WM8962_DF1_COEFF_L0_SHIFT 0 /* DF1_COEFF_L0 - [15:0] */
2765 #define WM8962_DF1_COEFF_L0_WIDTH 16 /* DF1_COEFF_L0 - [15:0] */
2768 * R258 (0x102) - DF3
2770 #define WM8962_DF1_COEFF_L1_MASK 0xFFFF /* DF1_COEFF_L1 - [15:0] */
2771 #define WM8962_DF1_COEFF_L1_SHIFT 0 /* DF1_COEFF_L1 - [15:0] */
2772 #define WM8962_DF1_COEFF_L1_WIDTH 16 /* DF1_COEFF_L1 - [15:0] */
2775 * R259 (0x103) - DF4
2777 #define WM8962_DF1_COEFF_L2_MASK 0xFFFF /* DF1_COEFF_L2 - [15:0] */
2778 #define WM8962_DF1_COEFF_L2_SHIFT 0 /* DF1_COEFF_L2 - [15:0] */
2779 #define WM8962_DF1_COEFF_L2_WIDTH 16 /* DF1_COEFF_L2 - [15:0] */
2782 * R260 (0x104) - DF5
2784 #define WM8962_DF1_COEFF_R0_MASK 0xFFFF /* DF1_COEFF_R0 - [15:0] */
2785 #define WM8962_DF1_COEFF_R0_SHIFT 0 /* DF1_COEFF_R0 - [15:0] */
2786 #define WM8962_DF1_COEFF_R0_WIDTH 16 /* DF1_COEFF_R0 - [15:0] */
2789 * R261 (0x105) - DF6
2791 #define WM8962_DF1_COEFF_R1_MASK 0xFFFF /* DF1_COEFF_R1 - [15:0] */
2792 #define WM8962_DF1_COEFF_R1_SHIFT 0 /* DF1_COEFF_R1 - [15:0] */
2793 #define WM8962_DF1_COEFF_R1_WIDTH 16 /* DF1_COEFF_R1 - [15:0] */
2796 * R262 (0x106) - DF7
2798 #define WM8962_DF1_COEFF_R2_MASK 0xFFFF /* DF1_COEFF_R2 - [15:0] */
2799 #define WM8962_DF1_COEFF_R2_SHIFT 0 /* DF1_COEFF_R2 - [15:0] */
2800 #define WM8962_DF1_COEFF_R2_WIDTH 16 /* DF1_COEFF_R2 - [15:0] */
2803 * R264 (0x108) - LHPF1
2815 * R265 (0x109) - LHPF2
2817 #define WM8962_LHPF_COEFF_MASK 0xFFFF /* LHPF_COEFF - [15:0] */
2818 #define WM8962_LHPF_COEFF_SHIFT 0 /* LHPF_COEFF - [15:0] */
2819 #define WM8962_LHPF_COEFF_WIDTH 16 /* LHPF_COEFF - [15:0] */
2822 * R268 (0x10C) - THREED1
2850 * R269 (0x10D) - THREED2
2852 #define WM8962_THREED_FGAINL_MASK 0xF800 /* THREED_FGAINL - [15:11] */
2853 #define WM8962_THREED_FGAINL_SHIFT 11 /* THREED_FGAINL - [15:11] */
2854 #define WM8962_THREED_FGAINL_WIDTH 5 /* THREED_FGAINL - [15:11] */
2855 #define WM8962_THREED_CGAINL_MASK 0x07C0 /* THREED_CGAINL - [10:6] */
2856 #define WM8962_THREED_CGAINL_SHIFT 6 /* THREED_CGAINL - [10:6] */
2857 #define WM8962_THREED_CGAINL_WIDTH 5 /* THREED_CGAINL - [10:6] */
2858 #define WM8962_THREED_DELAYL_MASK 0x003C /* THREED_DELAYL - [5:2] */
2859 #define WM8962_THREED_DELAYL_SHIFT 2 /* THREED_DELAYL - [5:2] */
2860 #define WM8962_THREED_DELAYL_WIDTH 4 /* THREED_DELAYL - [5:2] */
2863 * R270 (0x10E) - THREED3
2865 #define WM8962_THREED_LHPF_COEFF_MASK 0xFFFF /* THREED_LHPF_COEFF - [15:0] */
2866 #define WM8962_THREED_LHPF_COEFF_SHIFT 0 /* THREED_LHPF_COEFF - [15:0] */
2867 #define WM8962_THREED_LHPF_COEFF_WIDTH 16 /* THREED_LHPF_COEFF - [15:0] */
2870 * R271 (0x10F) - THREED4
2872 #define WM8962_THREED_FGAINR_MASK 0xF800 /* THREED_FGAINR - [15:11] */
2873 #define WM8962_THREED_FGAINR_SHIFT 11 /* THREED_FGAINR - [15:11] */
2874 #define WM8962_THREED_FGAINR_WIDTH 5 /* THREED_FGAINR - [15:11] */
2875 #define WM8962_THREED_CGAINR_MASK 0x07C0 /* THREED_CGAINR - [10:6] */
2876 #define WM8962_THREED_CGAINR_SHIFT 6 /* THREED_CGAINR - [10:6] */
2877 #define WM8962_THREED_CGAINR_WIDTH 5 /* THREED_CGAINR - [10:6] */
2878 #define WM8962_THREED_DELAYR_MASK 0x003C /* THREED_DELAYR - [5:2] */
2879 #define WM8962_THREED_DELAYR_SHIFT 2 /* THREED_DELAYR - [5:2] */
2880 #define WM8962_THREED_DELAYR_WIDTH 4 /* THREED_DELAYR - [5:2] */
2883 * R276 (0x114) - DRC 1
2885 #define WM8962_DRC_SIG_DET_RMS_MASK 0x7C00 /* DRC_SIG_DET_RMS - [14:10] */
2886 #define WM8962_DRC_SIG_DET_RMS_SHIFT 10 /* DRC_SIG_DET_RMS - [14:10] */
2887 #define WM8962_DRC_SIG_DET_RMS_WIDTH 5 /* DRC_SIG_DET_RMS - [14:10] */
2888 #define WM8962_DRC_SIG_DET_PK_MASK 0x0300 /* DRC_SIG_DET_PK - [9:8] */
2889 #define WM8962_DRC_SIG_DET_PK_SHIFT 8 /* DRC_SIG_DET_PK - [9:8] */
2890 #define WM8962_DRC_SIG_DET_PK_WIDTH 2 /* DRC_SIG_DET_PK - [9:8] */
2925 * R277 (0x115) - DRC 2
2927 #define WM8962_DRC_ATK_MASK 0x1E00 /* DRC_ATK - [12:9] */
2928 #define WM8962_DRC_ATK_SHIFT 9 /* DRC_ATK - [12:9] */
2929 #define WM8962_DRC_ATK_WIDTH 4 /* DRC_ATK - [12:9] */
2930 #define WM8962_DRC_DCY_MASK 0x01E0 /* DRC_DCY - [8:5] */
2931 #define WM8962_DRC_DCY_SHIFT 5 /* DRC_DCY - [8:5] */
2932 #define WM8962_DRC_DCY_WIDTH 4 /* DRC_DCY - [8:5] */
2933 #define WM8962_DRC_MINGAIN_MASK 0x001C /* DRC_MINGAIN - [4:2] */
2934 #define WM8962_DRC_MINGAIN_SHIFT 2 /* DRC_MINGAIN - [4:2] */
2935 #define WM8962_DRC_MINGAIN_WIDTH 3 /* DRC_MINGAIN - [4:2] */
2936 #define WM8962_DRC_MAXGAIN_MASK 0x0003 /* DRC_MAXGAIN - [1:0] */
2937 #define WM8962_DRC_MAXGAIN_SHIFT 0 /* DRC_MAXGAIN - [1:0] */
2938 #define WM8962_DRC_MAXGAIN_WIDTH 2 /* DRC_MAXGAIN - [1:0] */
2941 * R278 (0x116) - DRC 3
2943 #define WM8962_DRC_NG_MINGAIN_MASK 0xF000 /* DRC_NG_MINGAIN - [15:12] */
2944 #define WM8962_DRC_NG_MINGAIN_SHIFT 12 /* DRC_NG_MINGAIN - [15:12] */
2945 #define WM8962_DRC_NG_MINGAIN_WIDTH 4 /* DRC_NG_MINGAIN - [15:12] */
2946 #define WM8962_DRC_QR_THR_MASK 0x0C00 /* DRC_QR_THR - [11:10] */
2947 #define WM8962_DRC_QR_THR_SHIFT 10 /* DRC_QR_THR - [11:10] */
2948 #define WM8962_DRC_QR_THR_WIDTH 2 /* DRC_QR_THR - [11:10] */
2949 #define WM8962_DRC_QR_DCY_MASK 0x0300 /* DRC_QR_DCY - [9:8] */
2950 #define WM8962_DRC_QR_DCY_SHIFT 8 /* DRC_QR_DCY - [9:8] */
2951 #define WM8962_DRC_QR_DCY_WIDTH 2 /* DRC_QR_DCY - [9:8] */
2952 #define WM8962_DRC_NG_EXP_MASK 0x00C0 /* DRC_NG_EXP - [7:6] */
2953 #define WM8962_DRC_NG_EXP_SHIFT 6 /* DRC_NG_EXP - [7:6] */
2954 #define WM8962_DRC_NG_EXP_WIDTH 2 /* DRC_NG_EXP - [7:6] */
2955 #define WM8962_DRC_HI_COMP_MASK 0x0038 /* DRC_HI_COMP - [5:3] */
2956 #define WM8962_DRC_HI_COMP_SHIFT 3 /* DRC_HI_COMP - [5:3] */
2957 #define WM8962_DRC_HI_COMP_WIDTH 3 /* DRC_HI_COMP - [5:3] */
2958 #define WM8962_DRC_LO_COMP_MASK 0x0007 /* DRC_LO_COMP - [2:0] */
2959 #define WM8962_DRC_LO_COMP_SHIFT 0 /* DRC_LO_COMP - [2:0] */
2960 #define WM8962_DRC_LO_COMP_WIDTH 3 /* DRC_LO_COMP - [2:0] */
2963 * R279 (0x117) - DRC 4
2965 #define WM8962_DRC_KNEE_IP_MASK 0x07E0 /* DRC_KNEE_IP - [10:5] */
2966 #define WM8962_DRC_KNEE_IP_SHIFT 5 /* DRC_KNEE_IP - [10:5] */
2967 #define WM8962_DRC_KNEE_IP_WIDTH 6 /* DRC_KNEE_IP - [10:5] */
2968 #define WM8962_DRC_KNEE_OP_MASK 0x001F /* DRC_KNEE_OP - [4:0] */
2969 #define WM8962_DRC_KNEE_OP_SHIFT 0 /* DRC_KNEE_OP - [4:0] */
2970 #define WM8962_DRC_KNEE_OP_WIDTH 5 /* DRC_KNEE_OP - [4:0] */
2973 * R280 (0x118) - DRC 5
2975 #define WM8962_DRC_KNEE2_IP_MASK 0x03E0 /* DRC_KNEE2_IP - [9:5] */
2976 #define WM8962_DRC_KNEE2_IP_SHIFT 5 /* DRC_KNEE2_IP - [9:5] */
2977 #define WM8962_DRC_KNEE2_IP_WIDTH 5 /* DRC_KNEE2_IP - [9:5] */
2978 #define WM8962_DRC_KNEE2_OP_MASK 0x001F /* DRC_KNEE2_OP - [4:0] */
2979 #define WM8962_DRC_KNEE2_OP_SHIFT 0 /* DRC_KNEE2_OP - [4:0] */
2980 #define WM8962_DRC_KNEE2_OP_WIDTH 5 /* DRC_KNEE2_OP - [4:0] */
2983 * R285 (0x11D) - Tloopback
2995 * R335 (0x14F) - EQ1
3011 * R336 (0x150) - EQ2
3013 #define WM8962_EQL_B1_GAIN_MASK 0xF800 /* EQL_B1_GAIN - [15:11] */
3014 #define WM8962_EQL_B1_GAIN_SHIFT 11 /* EQL_B1_GAIN - [15:11] */
3015 #define WM8962_EQL_B1_GAIN_WIDTH 5 /* EQL_B1_GAIN - [15:11] */
3016 #define WM8962_EQL_B2_GAIN_MASK 0x07C0 /* EQL_B2_GAIN - [10:6] */
3017 #define WM8962_EQL_B2_GAIN_SHIFT 6 /* EQL_B2_GAIN - [10:6] */
3018 #define WM8962_EQL_B2_GAIN_WIDTH 5 /* EQL_B2_GAIN - [10:6] */
3019 #define WM8962_EQL_B3_GAIN_MASK 0x003E /* EQL_B3_GAIN - [5:1] */
3020 #define WM8962_EQL_B3_GAIN_SHIFT 1 /* EQL_B3_GAIN - [5:1] */
3021 #define WM8962_EQL_B3_GAIN_WIDTH 5 /* EQL_B3_GAIN - [5:1] */
3024 * R337 (0x151) - EQ3
3026 #define WM8962_EQL_B4_GAIN_MASK 0xF800 /* EQL_B4_GAIN - [15:11] */
3027 #define WM8962_EQL_B4_GAIN_SHIFT 11 /* EQL_B4_GAIN - [15:11] */
3028 #define WM8962_EQL_B4_GAIN_WIDTH 5 /* EQL_B4_GAIN - [15:11] */
3029 #define WM8962_EQL_B5_GAIN_MASK 0x07C0 /* EQL_B5_GAIN - [10:6] */
3030 #define WM8962_EQL_B5_GAIN_SHIFT 6 /* EQL_B5_GAIN - [10:6] */
3031 #define WM8962_EQL_B5_GAIN_WIDTH 5 /* EQL_B5_GAIN - [10:6] */
3034 * R338 (0x152) - EQ4
3036 #define WM8962_EQL_B1_A_MASK 0xFFFF /* EQL_B1_A - [15:0] */
3037 #define WM8962_EQL_B1_A_SHIFT 0 /* EQL_B1_A - [15:0] */
3038 #define WM8962_EQL_B1_A_WIDTH 16 /* EQL_B1_A - [15:0] */
3041 * R339 (0x153) - EQ5
3043 #define WM8962_EQL_B1_B_MASK 0xFFFF /* EQL_B1_B - [15:0] */
3044 #define WM8962_EQL_B1_B_SHIFT 0 /* EQL_B1_B - [15:0] */
3045 #define WM8962_EQL_B1_B_WIDTH 16 /* EQL_B1_B - [15:0] */
3048 * R340 (0x154) - EQ6
3050 #define WM8962_EQL_B1_PG_MASK 0xFFFF /* EQL_B1_PG - [15:0] */
3051 #define WM8962_EQL_B1_PG_SHIFT 0 /* EQL_B1_PG - [15:0] */
3052 #define WM8962_EQL_B1_PG_WIDTH 16 /* EQL_B1_PG - [15:0] */
3055 * R341 (0x155) - EQ7
3057 #define WM8962_EQL_B2_A_MASK 0xFFFF /* EQL_B2_A - [15:0] */
3058 #define WM8962_EQL_B2_A_SHIFT 0 /* EQL_B2_A - [15:0] */
3059 #define WM8962_EQL_B2_A_WIDTH 16 /* EQL_B2_A - [15:0] */
3062 * R342 (0x156) - EQ8
3064 #define WM8962_EQL_B2_B_MASK 0xFFFF /* EQL_B2_B - [15:0] */
3065 #define WM8962_EQL_B2_B_SHIFT 0 /* EQL_B2_B - [15:0] */
3066 #define WM8962_EQL_B2_B_WIDTH 16 /* EQL_B2_B - [15:0] */
3069 * R343 (0x157) - EQ9
3071 #define WM8962_EQL_B2_C_MASK 0xFFFF /* EQL_B2_C - [15:0] */
3072 #define WM8962_EQL_B2_C_SHIFT 0 /* EQL_B2_C - [15:0] */
3073 #define WM8962_EQL_B2_C_WIDTH 16 /* EQL_B2_C - [15:0] */
3076 * R344 (0x158) - EQ10
3078 #define WM8962_EQL_B2_PG_MASK 0xFFFF /* EQL_B2_PG - [15:0] */
3079 #define WM8962_EQL_B2_PG_SHIFT 0 /* EQL_B2_PG - [15:0] */
3080 #define WM8962_EQL_B2_PG_WIDTH 16 /* EQL_B2_PG - [15:0] */
3083 * R345 (0x159) - EQ11
3085 #define WM8962_EQL_B3_A_MASK 0xFFFF /* EQL_B3_A - [15:0] */
3086 #define WM8962_EQL_B3_A_SHIFT 0 /* EQL_B3_A - [15:0] */
3087 #define WM8962_EQL_B3_A_WIDTH 16 /* EQL_B3_A - [15:0] */
3090 * R346 (0x15A) - EQ12
3092 #define WM8962_EQL_B3_B_MASK 0xFFFF /* EQL_B3_B - [15:0] */
3093 #define WM8962_EQL_B3_B_SHIFT 0 /* EQL_B3_B - [15:0] */
3094 #define WM8962_EQL_B3_B_WIDTH 16 /* EQL_B3_B - [15:0] */
3097 * R347 (0x15B) - EQ13
3099 #define WM8962_EQL_B3_C_MASK 0xFFFF /* EQL_B3_C - [15:0] */
3100 #define WM8962_EQL_B3_C_SHIFT 0 /* EQL_B3_C - [15:0] */
3101 #define WM8962_EQL_B3_C_WIDTH 16 /* EQL_B3_C - [15:0] */
3104 * R348 (0x15C) - EQ14
3106 #define WM8962_EQL_B3_PG_MASK 0xFFFF /* EQL_B3_PG - [15:0] */
3107 #define WM8962_EQL_B3_PG_SHIFT 0 /* EQL_B3_PG - [15:0] */
3108 #define WM8962_EQL_B3_PG_WIDTH 16 /* EQL_B3_PG - [15:0] */
3111 * R349 (0x15D) - EQ15
3113 #define WM8962_EQL_B4_A_MASK 0xFFFF /* EQL_B4_A - [15:0] */
3114 #define WM8962_EQL_B4_A_SHIFT 0 /* EQL_B4_A - [15:0] */
3115 #define WM8962_EQL_B4_A_WIDTH 16 /* EQL_B4_A - [15:0] */
3118 * R350 (0x15E) - EQ16
3120 #define WM8962_EQL_B4_B_MASK 0xFFFF /* EQL_B4_B - [15:0] */
3121 #define WM8962_EQL_B4_B_SHIFT 0 /* EQL_B4_B - [15:0] */
3122 #define WM8962_EQL_B4_B_WIDTH 16 /* EQL_B4_B - [15:0] */
3125 * R351 (0x15F) - EQ17
3127 #define WM8962_EQL_B4_C_MASK 0xFFFF /* EQL_B4_C - [15:0] */
3128 #define WM8962_EQL_B4_C_SHIFT 0 /* EQL_B4_C - [15:0] */
3129 #define WM8962_EQL_B4_C_WIDTH 16 /* EQL_B4_C - [15:0] */
3132 * R352 (0x160) - EQ18
3134 #define WM8962_EQL_B4_PG_MASK 0xFFFF /* EQL_B4_PG - [15:0] */
3135 #define WM8962_EQL_B4_PG_SHIFT 0 /* EQL_B4_PG - [15:0] */
3136 #define WM8962_EQL_B4_PG_WIDTH 16 /* EQL_B4_PG - [15:0] */
3139 * R353 (0x161) - EQ19
3141 #define WM8962_EQL_B5_A_MASK 0xFFFF /* EQL_B5_A - [15:0] */
3142 #define WM8962_EQL_B5_A_SHIFT 0 /* EQL_B5_A - [15:0] */
3143 #define WM8962_EQL_B5_A_WIDTH 16 /* EQL_B5_A - [15:0] */
3146 * R354 (0x162) - EQ20
3148 #define WM8962_EQL_B5_B_MASK 0xFFFF /* EQL_B5_B - [15:0] */
3149 #define WM8962_EQL_B5_B_SHIFT 0 /* EQL_B5_B - [15:0] */
3150 #define WM8962_EQL_B5_B_WIDTH 16 /* EQL_B5_B - [15:0] */
3153 * R355 (0x163) - EQ21
3155 #define WM8962_EQL_B5_PG_MASK 0xFFFF /* EQL_B5_PG - [15:0] */
3156 #define WM8962_EQL_B5_PG_SHIFT 0 /* EQL_B5_PG - [15:0] */
3157 #define WM8962_EQL_B5_PG_WIDTH 16 /* EQL_B5_PG - [15:0] */
3160 * R356 (0x164) - EQ22
3162 #define WM8962_EQR_B1_GAIN_MASK 0xF800 /* EQR_B1_GAIN - [15:11] */
3163 #define WM8962_EQR_B1_GAIN_SHIFT 11 /* EQR_B1_GAIN - [15:11] */
3164 #define WM8962_EQR_B1_GAIN_WIDTH 5 /* EQR_B1_GAIN - [15:11] */
3165 #define WM8962_EQR_B2_GAIN_MASK 0x07C0 /* EQR_B2_GAIN - [10:6] */
3166 #define WM8962_EQR_B2_GAIN_SHIFT 6 /* EQR_B2_GAIN - [10:6] */
3167 #define WM8962_EQR_B2_GAIN_WIDTH 5 /* EQR_B2_GAIN - [10:6] */
3168 #define WM8962_EQR_B3_GAIN_MASK 0x003E /* EQR_B3_GAIN - [5:1] */
3169 #define WM8962_EQR_B3_GAIN_SHIFT 1 /* EQR_B3_GAIN - [5:1] */
3170 #define WM8962_EQR_B3_GAIN_WIDTH 5 /* EQR_B3_GAIN - [5:1] */
3173 * R357 (0x165) - EQ23
3175 #define WM8962_EQR_B4_GAIN_MASK 0xF800 /* EQR_B4_GAIN - [15:11] */
3176 #define WM8962_EQR_B4_GAIN_SHIFT 11 /* EQR_B4_GAIN - [15:11] */
3177 #define WM8962_EQR_B4_GAIN_WIDTH 5 /* EQR_B4_GAIN - [15:11] */
3178 #define WM8962_EQR_B5_GAIN_MASK 0x07C0 /* EQR_B5_GAIN - [10:6] */
3179 #define WM8962_EQR_B5_GAIN_SHIFT 6 /* EQR_B5_GAIN - [10:6] */
3180 #define WM8962_EQR_B5_GAIN_WIDTH 5 /* EQR_B5_GAIN - [10:6] */
3183 * R358 (0x166) - EQ24
3185 #define WM8962_EQR_B1_A_MASK 0xFFFF /* EQR_B1_A - [15:0] */
3186 #define WM8962_EQR_B1_A_SHIFT 0 /* EQR_B1_A - [15:0] */
3187 #define WM8962_EQR_B1_A_WIDTH 16 /* EQR_B1_A - [15:0] */
3190 * R359 (0x167) - EQ25
3192 #define WM8962_EQR_B1_B_MASK 0xFFFF /* EQR_B1_B - [15:0] */
3193 #define WM8962_EQR_B1_B_SHIFT 0 /* EQR_B1_B - [15:0] */
3194 #define WM8962_EQR_B1_B_WIDTH 16 /* EQR_B1_B - [15:0] */
3197 * R360 (0x168) - EQ26
3199 #define WM8962_EQR_B1_PG_MASK 0xFFFF /* EQR_B1_PG - [15:0] */
3200 #define WM8962_EQR_B1_PG_SHIFT 0 /* EQR_B1_PG - [15:0] */
3201 #define WM8962_EQR_B1_PG_WIDTH 16 /* EQR_B1_PG - [15:0] */
3204 * R361 (0x169) - EQ27
3206 #define WM8962_EQR_B2_A_MASK 0xFFFF /* EQR_B2_A - [15:0] */
3207 #define WM8962_EQR_B2_A_SHIFT 0 /* EQR_B2_A - [15:0] */
3208 #define WM8962_EQR_B2_A_WIDTH 16 /* EQR_B2_A - [15:0] */
3211 * R362 (0x16A) - EQ28
3213 #define WM8962_EQR_B2_B_MASK 0xFFFF /* EQR_B2_B - [15:0] */
3214 #define WM8962_EQR_B2_B_SHIFT 0 /* EQR_B2_B - [15:0] */
3215 #define WM8962_EQR_B2_B_WIDTH 16 /* EQR_B2_B - [15:0] */
3218 * R363 (0x16B) - EQ29
3220 #define WM8962_EQR_B2_C_MASK 0xFFFF /* EQR_B2_C - [15:0] */
3221 #define WM8962_EQR_B2_C_SHIFT 0 /* EQR_B2_C - [15:0] */
3222 #define WM8962_EQR_B2_C_WIDTH 16 /* EQR_B2_C - [15:0] */
3225 * R364 (0x16C) - EQ30
3227 #define WM8962_EQR_B2_PG_MASK 0xFFFF /* EQR_B2_PG - [15:0] */
3228 #define WM8962_EQR_B2_PG_SHIFT 0 /* EQR_B2_PG - [15:0] */
3229 #define WM8962_EQR_B2_PG_WIDTH 16 /* EQR_B2_PG - [15:0] */
3232 * R365 (0x16D) - EQ31
3234 #define WM8962_EQR_B3_A_MASK 0xFFFF /* EQR_B3_A - [15:0] */
3235 #define WM8962_EQR_B3_A_SHIFT 0 /* EQR_B3_A - [15:0] */
3236 #define WM8962_EQR_B3_A_WIDTH 16 /* EQR_B3_A - [15:0] */
3239 * R366 (0x16E) - EQ32
3241 #define WM8962_EQR_B3_B_MASK 0xFFFF /* EQR_B3_B - [15:0] */
3242 #define WM8962_EQR_B3_B_SHIFT 0 /* EQR_B3_B - [15:0] */
3243 #define WM8962_EQR_B3_B_WIDTH 16 /* EQR_B3_B - [15:0] */
3246 * R367 (0x16F) - EQ33
3248 #define WM8962_EQR_B3_C_MASK 0xFFFF /* EQR_B3_C - [15:0] */
3249 #define WM8962_EQR_B3_C_SHIFT 0 /* EQR_B3_C - [15:0] */
3250 #define WM8962_EQR_B3_C_WIDTH 16 /* EQR_B3_C - [15:0] */
3253 * R368 (0x170) - EQ34
3255 #define WM8962_EQR_B3_PG_MASK 0xFFFF /* EQR_B3_PG - [15:0] */
3256 #define WM8962_EQR_B3_PG_SHIFT 0 /* EQR_B3_PG - [15:0] */
3257 #define WM8962_EQR_B3_PG_WIDTH 16 /* EQR_B3_PG - [15:0] */
3260 * R369 (0x171) - EQ35
3262 #define WM8962_EQR_B4_A_MASK 0xFFFF /* EQR_B4_A - [15:0] */
3263 #define WM8962_EQR_B4_A_SHIFT 0 /* EQR_B4_A - [15:0] */
3264 #define WM8962_EQR_B4_A_WIDTH 16 /* EQR_B4_A - [15:0] */
3267 * R370 (0x172) - EQ36
3269 #define WM8962_EQR_B4_B_MASK 0xFFFF /* EQR_B4_B - [15:0] */
3270 #define WM8962_EQR_B4_B_SHIFT 0 /* EQR_B4_B - [15:0] */
3271 #define WM8962_EQR_B4_B_WIDTH 16 /* EQR_B4_B - [15:0] */
3274 * R371 (0x173) - EQ37
3276 #define WM8962_EQR_B4_C_MASK 0xFFFF /* EQR_B4_C - [15:0] */
3277 #define WM8962_EQR_B4_C_SHIFT 0 /* EQR_B4_C - [15:0] */
3278 #define WM8962_EQR_B4_C_WIDTH 16 /* EQR_B4_C - [15:0] */
3281 * R372 (0x174) - EQ38
3283 #define WM8962_EQR_B4_PG_MASK 0xFFFF /* EQR_B4_PG - [15:0] */
3284 #define WM8962_EQR_B4_PG_SHIFT 0 /* EQR_B4_PG - [15:0] */
3285 #define WM8962_EQR_B4_PG_WIDTH 16 /* EQR_B4_PG - [15:0] */
3288 * R373 (0x175) - EQ39
3290 #define WM8962_EQR_B5_A_MASK 0xFFFF /* EQR_B5_A - [15:0] */
3291 #define WM8962_EQR_B5_A_SHIFT 0 /* EQR_B5_A - [15:0] */
3292 #define WM8962_EQR_B5_A_WIDTH 16 /* EQR_B5_A - [15:0] */
3295 * R374 (0x176) - EQ40
3297 #define WM8962_EQR_B5_B_MASK 0xFFFF /* EQR_B5_B - [15:0] */
3298 #define WM8962_EQR_B5_B_SHIFT 0 /* EQR_B5_B - [15:0] */
3299 #define WM8962_EQR_B5_B_WIDTH 16 /* EQR_B5_B - [15:0] */
3302 * R375 (0x177) - EQ41
3304 #define WM8962_EQR_B5_PG_MASK 0xFFFF /* EQR_B5_PG - [15:0] */
3305 #define WM8962_EQR_B5_PG_SHIFT 0 /* EQR_B5_PG - [15:0] */
3306 #define WM8962_EQR_B5_PG_WIDTH 16 /* EQR_B5_PG - [15:0] */
3309 * R513 (0x201) - GPIO 2
3319 #define WM8962_GP2_FN_MASK 0x001F /* GP2_FN - [4:0] */
3320 #define WM8962_GP2_FN_SHIFT 0 /* GP2_FN - [4:0] */
3321 #define WM8962_GP2_FN_WIDTH 5 /* GP2_FN - [4:0] */
3324 * R514 (0x202) - GPIO 3
3334 #define WM8962_GP3_FN_MASK 0x001F /* GP3_FN - [4:0] */
3335 #define WM8962_GP3_FN_SHIFT 0 /* GP3_FN - [4:0] */
3336 #define WM8962_GP3_FN_WIDTH 5 /* GP3_FN - [4:0] */
3339 * R516 (0x204) - GPIO 5
3369 #define WM8962_GP5_FN_MASK 0x001F /* GP5_FN - [4:0] */
3370 #define WM8962_GP5_FN_SHIFT 0 /* GP5_FN - [4:0] */
3371 #define WM8962_GP5_FN_WIDTH 5 /* GP5_FN - [4:0] */
3374 * R517 (0x205) - GPIO 6
3404 #define WM8962_GP6_FN_MASK 0x001F /* GP6_FN - [4:0] */
3405 #define WM8962_GP6_FN_SHIFT 0 /* GP6_FN - [4:0] */
3406 #define WM8962_GP6_FN_WIDTH 5 /* GP6_FN - [4:0] */
3409 * R560 (0x230) - Interrupt Status 1
3421 * R561 (0x231) - Interrupt Status 2
3481 * R568 (0x238) - Interrupt Status 1 Mask
3493 * R569 (0x239) - Interrupt Status 2 Mask
3553 * R576 (0x240) - Interrupt Control
3561 * R584 (0x248) - IRQ Debounce
3581 * R586 (0x24A) - MICINT Source Pol
3593 * R768 (0x300) - DSP2 Power Management
3601 * R1037 (0x40D) - DSP2_ExecControl
3629 * R8192 (0x2000) - DSP2 Instruction RAM 0
3631 #define WM8962_DSP2_INSTR_RAM_1024_10_9_0_MASK 0x03FF /* DSP2_INSTR_RAM_1024_10_9_0 - [9:0] */
3632 #define WM8962_DSP2_INSTR_RAM_1024_10_9_0_SHIFT 0 /* DSP2_INSTR_RAM_1024_10_9_0 - [9:0] */
3633 #define WM8962_DSP2_INSTR_RAM_1024_10_9_0_WIDTH 10 /* DSP2_INSTR_RAM_1024_10_9_0 - [9:0] */
3636 * R9216 (0x2400) - DSP2 Address RAM 2
3638 #define WM8962_DSP2_ADDR_RAM_1024_38_37_32_MASK 0x003F /* DSP2_ADDR_RAM_1024_38_37_32 - [5:0] */
3639 #define WM8962_DSP2_ADDR_RAM_1024_38_37_32_SHIFT 0 /* DSP2_ADDR_RAM_1024_38_37_32 - [5:0] */
3640 #define WM8962_DSP2_ADDR_RAM_1024_38_37_32_WIDTH 6 /* DSP2_ADDR_RAM_1024_38_37_32 - [5:0] */
3643 * R9217 (0x2401) - DSP2 Address RAM 1
3645 #define WM8962_DSP2_ADDR_RAM_1024_38_31_16_MASK 0xFFFF /* DSP2_ADDR_RAM_1024_38_31_16 - [15:0] */
3646 #define WM8962_DSP2_ADDR_RAM_1024_38_31_16_SHIFT 0 /* DSP2_ADDR_RAM_1024_38_31_16 - [15:0] */
3647 #define WM8962_DSP2_ADDR_RAM_1024_38_31_16_WIDTH 16 /* DSP2_ADDR_RAM_1024_38_31_16 - [15:0] */
3650 * R9218 (0x2402) - DSP2 Address RAM 0
3652 #define WM8962_DSP2_ADDR_RAM_1024_38_15_0_MASK 0xFFFF /* DSP2_ADDR_RAM_1024_38_15_0 - [15:0] */
3653 #define WM8962_DSP2_ADDR_RAM_1024_38_15_0_SHIFT 0 /* DSP2_ADDR_RAM_1024_38_15_0 - [15:0] */
3654 #define WM8962_DSP2_ADDR_RAM_1024_38_15_0_WIDTH 16 /* DSP2_ADDR_RAM_1024_38_15_0 - [15:0] */
3657 * R12288 (0x3000) - DSP2 Data1 RAM 1
3659 #define WM8962_DSP2_DATA1_RAM_384_24_23_16_MASK 0x00FF /* DSP2_DATA1_RAM_384_24_23_16 - [7:0] */
3660 #define WM8962_DSP2_DATA1_RAM_384_24_23_16_SHIFT 0 /* DSP2_DATA1_RAM_384_24_23_16 - [7:0] */
3661 #define WM8962_DSP2_DATA1_RAM_384_24_23_16_WIDTH 8 /* DSP2_DATA1_RAM_384_24_23_16 - [7:0] */
3664 * R12289 (0x3001) - DSP2 Data1 RAM 0
3666 #define WM8962_DSP2_DATA1_RAM_384_24_15_0_MASK 0xFFFF /* DSP2_DATA1_RAM_384_24_15_0 - [15:0] */
3667 #define WM8962_DSP2_DATA1_RAM_384_24_15_0_SHIFT 0 /* DSP2_DATA1_RAM_384_24_15_0 - [15:0] */
3668 #define WM8962_DSP2_DATA1_RAM_384_24_15_0_WIDTH 16 /* DSP2_DATA1_RAM_384_24_15_0 - [15:0] */
3671 * R13312 (0x3400) - DSP2 Data2 RAM 1
3673 #define WM8962_DSP2_DATA2_RAM_384_24_23_16_MASK 0x00FF /* DSP2_DATA2_RAM_384_24_23_16 - [7:0] */
3674 #define WM8962_DSP2_DATA2_RAM_384_24_23_16_SHIFT 0 /* DSP2_DATA2_RAM_384_24_23_16 - [7:0] */
3675 #define WM8962_DSP2_DATA2_RAM_384_24_23_16_WIDTH 8 /* DSP2_DATA2_RAM_384_24_23_16 - [7:0] */
3678 * R13313 (0x3401) - DSP2 Data2 RAM 0
3680 #define WM8962_DSP2_DATA2_RAM_384_24_15_0_MASK 0xFFFF /* DSP2_DATA2_RAM_384_24_15_0 - [15:0] */
3681 #define WM8962_DSP2_DATA2_RAM_384_24_15_0_SHIFT 0 /* DSP2_DATA2_RAM_384_24_15_0 - [15:0] */
3682 #define WM8962_DSP2_DATA2_RAM_384_24_15_0_WIDTH 16 /* DSP2_DATA2_RAM_384_24_15_0 - [15:0] */
3685 * R14336 (0x3800) - DSP2 Data3 RAM 1
3687 #define WM8962_DSP2_DATA3_RAM_384_24_23_16_MASK 0x00FF /* DSP2_DATA3_RAM_384_24_23_16 - [7:0] */
3688 #define WM8962_DSP2_DATA3_RAM_384_24_23_16_SHIFT 0 /* DSP2_DATA3_RAM_384_24_23_16 - [7:0] */
3689 #define WM8962_DSP2_DATA3_RAM_384_24_23_16_WIDTH 8 /* DSP2_DATA3_RAM_384_24_23_16 - [7:0] */
3692 * R14337 (0x3801) - DSP2 Data3 RAM 0
3694 #define WM8962_DSP2_DATA3_RAM_384_24_15_0_MASK 0xFFFF /* DSP2_DATA3_RAM_384_24_15_0 - [15:0] */
3695 #define WM8962_DSP2_DATA3_RAM_384_24_15_0_SHIFT 0 /* DSP2_DATA3_RAM_384_24_15_0 - [15:0] */
3696 #define WM8962_DSP2_DATA3_RAM_384_24_15_0_WIDTH 16 /* DSP2_DATA3_RAM_384_24_15_0 - [15:0] */
3699 * R15360 (0x3C00) - DSP2 Coeff RAM 0
3701 #define WM8962_DSP2_CMAP_RAM_384_11_10_0_MASK 0x07FF /* DSP2_CMAP_RAM_384_11_10_0 - [10:0] */
3702 #define WM8962_DSP2_CMAP_RAM_384_11_10_0_SHIFT 0 /* DSP2_CMAP_RAM_384_11_10_0 - [10:0] */
3703 #define WM8962_DSP2_CMAP_RAM_384_11_10_0_WIDTH 11 /* DSP2_CMAP_RAM_384_11_10_0 - [10:0] */
3706 * R16384 (0x4000) - RETUNEADC_SHARED_COEFF_1
3712 #define WM8962_RETUNEADC_SHARED_COEFF_22_16_MASK 0x007F /* RETUNEADC_SHARED_COEFF_22_16 - [6:0] */
3713 #define WM8962_RETUNEADC_SHARED_COEFF_22_16_SHIFT 0 /* RETUNEADC_SHARED_COEFF_22_16 - [6:0] */
3714 #define WM8962_RETUNEADC_SHARED_COEFF_22_16_WIDTH 7 /* RETUNEADC_SHARED_COEFF_22_16 - [6:0] */
3717 * R16385 (0x4001) - RETUNEADC_SHARED_COEFF_0
3719 #define WM8962_RETUNEADC_SHARED_COEFF_15_00_MASK 0xFFFF /* RETUNEADC_SHARED_COEFF_15_00 - [15:0] */
3720 #define WM8962_RETUNEADC_SHARED_COEFF_15_00_SHIFT 0 /* RETUNEADC_SHARED_COEFF_15_00 - [15:0] …
3721 #define WM8962_RETUNEADC_SHARED_COEFF_15_00_WIDTH 16 /* RETUNEADC_SHARED_COEFF_15_00 - [15:0] …
3724 * R16386 (0x4002) - RETUNEDAC_SHARED_COEFF_1
3730 #define WM8962_RETUNEDAC_SHARED_COEFF_23_16_MASK 0x007F /* RETUNEDAC_SHARED_COEFF_23_16 - [6:0] */
3731 #define WM8962_RETUNEDAC_SHARED_COEFF_23_16_SHIFT 0 /* RETUNEDAC_SHARED_COEFF_23_16 - [6:0] */
3732 #define WM8962_RETUNEDAC_SHARED_COEFF_23_16_WIDTH 7 /* RETUNEDAC_SHARED_COEFF_23_16 - [6:0] */
3735 * R16387 (0x4003) - RETUNEDAC_SHARED_COEFF_0
3737 #define WM8962_RETUNEDAC_SHARED_COEFF_15_00_MASK 0xFFFF /* RETUNEDAC_SHARED_COEFF_15_00 - [15:0] */
3738 #define WM8962_RETUNEDAC_SHARED_COEFF_15_00_SHIFT 0 /* RETUNEDAC_SHARED_COEFF_15_00 - [15:0] …
3739 #define WM8962_RETUNEDAC_SHARED_COEFF_15_00_WIDTH 16 /* RETUNEDAC_SHARED_COEFF_15_00 - [15:0] …
3742 * R16388 (0x4004) - SOUNDSTAGE_ENABLES_1
3744 #define WM8962_SOUNDSTAGE_ENABLES_23_16_MASK 0x00FF /* SOUNDSTAGE_ENABLES_23_16 - [7:0] */
3745 #define WM8962_SOUNDSTAGE_ENABLES_23_16_SHIFT 0 /* SOUNDSTAGE_ENABLES_23_16 - [7:0] */
3746 #define WM8962_SOUNDSTAGE_ENABLES_23_16_WIDTH 8 /* SOUNDSTAGE_ENABLES_23_16 - [7:0] */
3749 * R16389 (0x4005) - SOUNDSTAGE_ENABLES_0
3751 #define WM8962_SOUNDSTAGE_ENABLES_15_06_MASK 0xFFC0 /* SOUNDSTAGE_ENABLES_15_06 - [15:6] */
3752 #define WM8962_SOUNDSTAGE_ENABLES_15_06_SHIFT 6 /* SOUNDSTAGE_ENABLES_15_06 - [15:6] */
3753 #define WM8962_SOUNDSTAGE_ENABLES_15_06_WIDTH 10 /* SOUNDSTAGE_ENABLES_15_06 - [15:6] */
3779 int wm8962_mic_detect(struct snd_soc_component *component, struct snd_soc_jack *jack);