1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225 |
- #ifndef _WM8903_H
- #define _WM8903_H
- #include <linux/i2c.h>
- extern int wm8903_mic_detect(struct snd_soc_codec *codec,
- struct snd_soc_jack *jack,
- int det, int shrt);
- #define WM8903_SW_RESET_AND_ID 0x00
- #define WM8903_REVISION_NUMBER 0x01
- #define WM8903_BIAS_CONTROL_0 0x04
- #define WM8903_VMID_CONTROL_0 0x05
- #define WM8903_MIC_BIAS_CONTROL_0 0x06
- #define WM8903_ANALOGUE_DAC_0 0x08
- #define WM8903_ANALOGUE_ADC_0 0x0A
- #define WM8903_POWER_MANAGEMENT_0 0x0C
- #define WM8903_POWER_MANAGEMENT_1 0x0D
- #define WM8903_POWER_MANAGEMENT_2 0x0E
- #define WM8903_POWER_MANAGEMENT_3 0x0F
- #define WM8903_POWER_MANAGEMENT_4 0x10
- #define WM8903_POWER_MANAGEMENT_5 0x11
- #define WM8903_POWER_MANAGEMENT_6 0x12
- #define WM8903_CLOCK_RATES_0 0x14
- #define WM8903_CLOCK_RATES_1 0x15
- #define WM8903_CLOCK_RATES_2 0x16
- #define WM8903_AUDIO_INTERFACE_0 0x18
- #define WM8903_AUDIO_INTERFACE_1 0x19
- #define WM8903_AUDIO_INTERFACE_2 0x1A
- #define WM8903_AUDIO_INTERFACE_3 0x1B
- #define WM8903_DAC_DIGITAL_VOLUME_LEFT 0x1E
- #define WM8903_DAC_DIGITAL_VOLUME_RIGHT 0x1F
- #define WM8903_DAC_DIGITAL_0 0x20
- #define WM8903_DAC_DIGITAL_1 0x21
- #define WM8903_ADC_DIGITAL_VOLUME_LEFT 0x24
- #define WM8903_ADC_DIGITAL_VOLUME_RIGHT 0x25
- #define WM8903_ADC_DIGITAL_0 0x26
- #define WM8903_DIGITAL_MICROPHONE_0 0x27
- #define WM8903_DRC_0 0x28
- #define WM8903_DRC_1 0x29
- #define WM8903_DRC_2 0x2A
- #define WM8903_DRC_3 0x2B
- #define WM8903_ANALOGUE_LEFT_INPUT_0 0x2C
- #define WM8903_ANALOGUE_RIGHT_INPUT_0 0x2D
- #define WM8903_ANALOGUE_LEFT_INPUT_1 0x2E
- #define WM8903_ANALOGUE_RIGHT_INPUT_1 0x2F
- #define WM8903_ANALOGUE_LEFT_MIX_0 0x32
- #define WM8903_ANALOGUE_RIGHT_MIX_0 0x33
- #define WM8903_ANALOGUE_SPK_MIX_LEFT_0 0x34
- #define WM8903_ANALOGUE_SPK_MIX_LEFT_1 0x35
- #define WM8903_ANALOGUE_SPK_MIX_RIGHT_0 0x36
- #define WM8903_ANALOGUE_SPK_MIX_RIGHT_1 0x37
- #define WM8903_ANALOGUE_OUT1_LEFT 0x39
- #define WM8903_ANALOGUE_OUT1_RIGHT 0x3A
- #define WM8903_ANALOGUE_OUT2_LEFT 0x3B
- #define WM8903_ANALOGUE_OUT2_RIGHT 0x3C
- #define WM8903_ANALOGUE_OUT3_LEFT 0x3E
- #define WM8903_ANALOGUE_OUT3_RIGHT 0x3F
- #define WM8903_ANALOGUE_SPK_OUTPUT_CONTROL_0 0x41
- #define WM8903_DC_SERVO_0 0x43
- #define WM8903_DC_SERVO_2 0x45
- #define WM8903_DC_SERVO_4 0x47
- #define WM8903_DC_SERVO_5 0x48
- #define WM8903_DC_SERVO_6 0x49
- #define WM8903_DC_SERVO_7 0x4A
- #define WM8903_DC_SERVO_READBACK_1 0x51
- #define WM8903_DC_SERVO_READBACK_2 0x52
- #define WM8903_DC_SERVO_READBACK_3 0x53
- #define WM8903_DC_SERVO_READBACK_4 0x54
- #define WM8903_ANALOGUE_HP_0 0x5A
- #define WM8903_ANALOGUE_LINEOUT_0 0x5E
- #define WM8903_CHARGE_PUMP_0 0x62
- #define WM8903_CLASS_W_0 0x68
- #define WM8903_WRITE_SEQUENCER_0 0x6C
- #define WM8903_WRITE_SEQUENCER_1 0x6D
- #define WM8903_WRITE_SEQUENCER_2 0x6E
- #define WM8903_WRITE_SEQUENCER_3 0x6F
- #define WM8903_WRITE_SEQUENCER_4 0x70
- #define WM8903_CONTROL_INTERFACE 0x72
- #define WM8903_GPIO_CONTROL_1 0x74
- #define WM8903_GPIO_CONTROL_2 0x75
- #define WM8903_GPIO_CONTROL_3 0x76
- #define WM8903_GPIO_CONTROL_4 0x77
- #define WM8903_GPIO_CONTROL_5 0x78
- #define WM8903_INTERRUPT_STATUS_1 0x79
- #define WM8903_INTERRUPT_STATUS_1_MASK 0x7A
- #define WM8903_INTERRUPT_POLARITY_1 0x7B
- #define WM8903_INTERRUPT_CONTROL 0x7E
- #define WM8903_CLOCK_RATE_TEST_4 0xA4
- #define WM8903_ANALOGUE_OUTPUT_BIAS_0 0xAC
- #define WM8903_REGISTER_COUNT 75
- #define WM8903_MAX_REGISTER 0xAC
- #define WM8903_SW_RESET_DEV_ID1_MASK 0xFFFF
- #define WM8903_SW_RESET_DEV_ID1_SHIFT 0
- #define WM8903_SW_RESET_DEV_ID1_WIDTH 16
- #define WM8903_CHIP_REV_MASK 0x000F
- #define WM8903_CHIP_REV_SHIFT 0
- #define WM8903_CHIP_REV_WIDTH 4
- #define WM8903_POBCTRL 0x0010
- #define WM8903_POBCTRL_MASK 0x0010
- #define WM8903_POBCTRL_SHIFT 4
- #define WM8903_POBCTRL_WIDTH 1
- #define WM8903_ISEL_MASK 0x000C
- #define WM8903_ISEL_SHIFT 2
- #define WM8903_ISEL_WIDTH 2
- #define WM8903_STARTUP_BIAS_ENA 0x0002
- #define WM8903_STARTUP_BIAS_ENA_MASK 0x0002
- #define WM8903_STARTUP_BIAS_ENA_SHIFT 1
- #define WM8903_STARTUP_BIAS_ENA_WIDTH 1
- #define WM8903_BIAS_ENA 0x0001
- #define WM8903_BIAS_ENA_MASK 0x0001
- #define WM8903_BIAS_ENA_SHIFT 0
- #define WM8903_BIAS_ENA_WIDTH 1
- #define WM8903_VMID_TIE_ENA 0x0080
- #define WM8903_VMID_TIE_ENA_MASK 0x0080
- #define WM8903_VMID_TIE_ENA_SHIFT 7
- #define WM8903_VMID_TIE_ENA_WIDTH 1
- #define WM8903_BUFIO_ENA 0x0040
- #define WM8903_BUFIO_ENA_MASK 0x0040
- #define WM8903_BUFIO_ENA_SHIFT 6
- #define WM8903_BUFIO_ENA_WIDTH 1
- #define WM8903_VMID_IO_ENA 0x0020
- #define WM8903_VMID_IO_ENA_MASK 0x0020
- #define WM8903_VMID_IO_ENA_SHIFT 5
- #define WM8903_VMID_IO_ENA_WIDTH 1
- #define WM8903_VMID_SOFT_MASK 0x0018
- #define WM8903_VMID_SOFT_SHIFT 3
- #define WM8903_VMID_SOFT_WIDTH 2
- #define WM8903_VMID_RES_MASK 0x0006
- #define WM8903_VMID_RES_SHIFT 1
- #define WM8903_VMID_RES_WIDTH 2
- #define WM8903_VMID_BUF_ENA 0x0001
- #define WM8903_VMID_BUF_ENA_MASK 0x0001
- #define WM8903_VMID_BUF_ENA_SHIFT 0
- #define WM8903_VMID_BUF_ENA_WIDTH 1
- #define WM8903_VMID_RES_50K 2
- #define WM8903_VMID_RES_250K 4
- #define WM8903_VMID_RES_5K 6
- #define WM8903_DACBIAS_SEL_MASK 0x0018
- #define WM8903_DACBIAS_SEL_SHIFT 3
- #define WM8903_DACBIAS_SEL_WIDTH 2
- #define WM8903_DACVMID_BIAS_SEL_MASK 0x0006
- #define WM8903_DACVMID_BIAS_SEL_SHIFT 1
- #define WM8903_DACVMID_BIAS_SEL_WIDTH 2
- #define WM8903_ADC_OSR128 0x0001
- #define WM8903_ADC_OSR128_MASK 0x0001
- #define WM8903_ADC_OSR128_SHIFT 0
- #define WM8903_ADC_OSR128_WIDTH 1
- #define WM8903_INL_ENA 0x0002
- #define WM8903_INL_ENA_MASK 0x0002
- #define WM8903_INL_ENA_SHIFT 1
- #define WM8903_INL_ENA_WIDTH 1
- #define WM8903_INR_ENA 0x0001
- #define WM8903_INR_ENA_MASK 0x0001
- #define WM8903_INR_ENA_SHIFT 0
- #define WM8903_INR_ENA_WIDTH 1
- #define WM8903_MIXOUTL_ENA 0x0002
- #define WM8903_MIXOUTL_ENA_MASK 0x0002
- #define WM8903_MIXOUTL_ENA_SHIFT 1
- #define WM8903_MIXOUTL_ENA_WIDTH 1
- #define WM8903_MIXOUTR_ENA 0x0001
- #define WM8903_MIXOUTR_ENA_MASK 0x0001
- #define WM8903_MIXOUTR_ENA_SHIFT 0
- #define WM8903_MIXOUTR_ENA_WIDTH 1
- #define WM8903_HPL_PGA_ENA 0x0002
- #define WM8903_HPL_PGA_ENA_MASK 0x0002
- #define WM8903_HPL_PGA_ENA_SHIFT 1
- #define WM8903_HPL_PGA_ENA_WIDTH 1
- #define WM8903_HPR_PGA_ENA 0x0001
- #define WM8903_HPR_PGA_ENA_MASK 0x0001
- #define WM8903_HPR_PGA_ENA_SHIFT 0
- #define WM8903_HPR_PGA_ENA_WIDTH 1
- #define WM8903_LINEOUTL_PGA_ENA 0x0002
- #define WM8903_LINEOUTL_PGA_ENA_MASK 0x0002
- #define WM8903_LINEOUTL_PGA_ENA_SHIFT 1
- #define WM8903_LINEOUTL_PGA_ENA_WIDTH 1
- #define WM8903_LINEOUTR_PGA_ENA 0x0001
- #define WM8903_LINEOUTR_PGA_ENA_MASK 0x0001
- #define WM8903_LINEOUTR_PGA_ENA_SHIFT 0
- #define WM8903_LINEOUTR_PGA_ENA_WIDTH 1
- #define WM8903_MIXSPKL_ENA 0x0002
- #define WM8903_MIXSPKL_ENA_MASK 0x0002
- #define WM8903_MIXSPKL_ENA_SHIFT 1
- #define WM8903_MIXSPKL_ENA_WIDTH 1
- #define WM8903_MIXSPKR_ENA 0x0001
- #define WM8903_MIXSPKR_ENA_MASK 0x0001
- #define WM8903_MIXSPKR_ENA_SHIFT 0
- #define WM8903_MIXSPKR_ENA_WIDTH 1
- #define WM8903_SPKL_ENA 0x0002
- #define WM8903_SPKL_ENA_MASK 0x0002
- #define WM8903_SPKL_ENA_SHIFT 1
- #define WM8903_SPKL_ENA_WIDTH 1
- #define WM8903_SPKR_ENA 0x0001
- #define WM8903_SPKR_ENA_MASK 0x0001
- #define WM8903_SPKR_ENA_SHIFT 0
- #define WM8903_SPKR_ENA_WIDTH 1
- #define WM8903_DACL_ENA 0x0008
- #define WM8903_DACL_ENA_MASK 0x0008
- #define WM8903_DACL_ENA_SHIFT 3
- #define WM8903_DACL_ENA_WIDTH 1
- #define WM8903_DACR_ENA 0x0004
- #define WM8903_DACR_ENA_MASK 0x0004
- #define WM8903_DACR_ENA_SHIFT 2
- #define WM8903_DACR_ENA_WIDTH 1
- #define WM8903_ADCL_ENA 0x0002
- #define WM8903_ADCL_ENA_MASK 0x0002
- #define WM8903_ADCL_ENA_SHIFT 1
- #define WM8903_ADCL_ENA_WIDTH 1
- #define WM8903_ADCR_ENA 0x0001
- #define WM8903_ADCR_ENA_MASK 0x0001
- #define WM8903_ADCR_ENA_SHIFT 0
- #define WM8903_ADCR_ENA_WIDTH 1
- #define WM8903_MCLKDIV2 0x0001
- #define WM8903_MCLKDIV2_MASK 0x0001
- #define WM8903_MCLKDIV2_SHIFT 0
- #define WM8903_MCLKDIV2_WIDTH 1
- #define WM8903_CLK_SYS_RATE_MASK 0x3C00
- #define WM8903_CLK_SYS_RATE_SHIFT 10
- #define WM8903_CLK_SYS_RATE_WIDTH 4
- #define WM8903_CLK_SYS_MODE_MASK 0x0300
- #define WM8903_CLK_SYS_MODE_SHIFT 8
- #define WM8903_CLK_SYS_MODE_WIDTH 2
- #define WM8903_SAMPLE_RATE_MASK 0x000F
- #define WM8903_SAMPLE_RATE_SHIFT 0
- #define WM8903_SAMPLE_RATE_WIDTH 4
- #define WM8903_CLK_SYS_ENA 0x0004
- #define WM8903_CLK_SYS_ENA_MASK 0x0004
- #define WM8903_CLK_SYS_ENA_SHIFT 2
- #define WM8903_CLK_SYS_ENA_WIDTH 1
- #define WM8903_CLK_DSP_ENA 0x0002
- #define WM8903_CLK_DSP_ENA_MASK 0x0002
- #define WM8903_CLK_DSP_ENA_SHIFT 1
- #define WM8903_CLK_DSP_ENA_WIDTH 1
- #define WM8903_TO_ENA 0x0001
- #define WM8903_TO_ENA_MASK 0x0001
- #define WM8903_TO_ENA_SHIFT 0
- #define WM8903_TO_ENA_WIDTH 1
- #define WM8903_DACL_DATINV 0x1000
- #define WM8903_DACL_DATINV_MASK 0x1000
- #define WM8903_DACL_DATINV_SHIFT 12
- #define WM8903_DACL_DATINV_WIDTH 1
- #define WM8903_DACR_DATINV 0x0800
- #define WM8903_DACR_DATINV_MASK 0x0800
- #define WM8903_DACR_DATINV_SHIFT 11
- #define WM8903_DACR_DATINV_WIDTH 1
- #define WM8903_DAC_BOOST_MASK 0x0600
- #define WM8903_DAC_BOOST_SHIFT 9
- #define WM8903_DAC_BOOST_WIDTH 2
- #define WM8903_LOOPBACK 0x0100
- #define WM8903_LOOPBACK_MASK 0x0100
- #define WM8903_LOOPBACK_SHIFT 8
- #define WM8903_LOOPBACK_WIDTH 1
- #define WM8903_AIFADCL_SRC 0x0080
- #define WM8903_AIFADCL_SRC_MASK 0x0080
- #define WM8903_AIFADCL_SRC_SHIFT 7
- #define WM8903_AIFADCL_SRC_WIDTH 1
- #define WM8903_AIFADCR_SRC 0x0040
- #define WM8903_AIFADCR_SRC_MASK 0x0040
- #define WM8903_AIFADCR_SRC_SHIFT 6
- #define WM8903_AIFADCR_SRC_WIDTH 1
- #define WM8903_AIFDACL_SRC 0x0020
- #define WM8903_AIFDACL_SRC_MASK 0x0020
- #define WM8903_AIFDACL_SRC_SHIFT 5
- #define WM8903_AIFDACL_SRC_WIDTH 1
- #define WM8903_AIFDACR_SRC 0x0010
- #define WM8903_AIFDACR_SRC_MASK 0x0010
- #define WM8903_AIFDACR_SRC_SHIFT 4
- #define WM8903_AIFDACR_SRC_WIDTH 1
- #define WM8903_ADC_COMP 0x0008
- #define WM8903_ADC_COMP_MASK 0x0008
- #define WM8903_ADC_COMP_SHIFT 3
- #define WM8903_ADC_COMP_WIDTH 1
- #define WM8903_ADC_COMPMODE 0x0004
- #define WM8903_ADC_COMPMODE_MASK 0x0004
- #define WM8903_ADC_COMPMODE_SHIFT 2
- #define WM8903_ADC_COMPMODE_WIDTH 1
- #define WM8903_DAC_COMP 0x0002
- #define WM8903_DAC_COMP_MASK 0x0002
- #define WM8903_DAC_COMP_SHIFT 1
- #define WM8903_DAC_COMP_WIDTH 1
- #define WM8903_DAC_COMPMODE 0x0001
- #define WM8903_DAC_COMPMODE_MASK 0x0001
- #define WM8903_DAC_COMPMODE_SHIFT 0
- #define WM8903_DAC_COMPMODE_WIDTH 1
- #define WM8903_AIFDAC_TDM 0x2000
- #define WM8903_AIFDAC_TDM_MASK 0x2000
- #define WM8903_AIFDAC_TDM_SHIFT 13
- #define WM8903_AIFDAC_TDM_WIDTH 1
- #define WM8903_AIFDAC_TDM_CHAN 0x1000
- #define WM8903_AIFDAC_TDM_CHAN_MASK 0x1000
- #define WM8903_AIFDAC_TDM_CHAN_SHIFT 12
- #define WM8903_AIFDAC_TDM_CHAN_WIDTH 1
- #define WM8903_AIFADC_TDM 0x0800
- #define WM8903_AIFADC_TDM_MASK 0x0800
- #define WM8903_AIFADC_TDM_SHIFT 11
- #define WM8903_AIFADC_TDM_WIDTH 1
- #define WM8903_AIFADC_TDM_CHAN 0x0400
- #define WM8903_AIFADC_TDM_CHAN_MASK 0x0400
- #define WM8903_AIFADC_TDM_CHAN_SHIFT 10
- #define WM8903_AIFADC_TDM_CHAN_WIDTH 1
- #define WM8903_LRCLK_DIR 0x0200
- #define WM8903_LRCLK_DIR_MASK 0x0200
- #define WM8903_LRCLK_DIR_SHIFT 9
- #define WM8903_LRCLK_DIR_WIDTH 1
- #define WM8903_AIF_BCLK_INV 0x0080
- #define WM8903_AIF_BCLK_INV_MASK 0x0080
- #define WM8903_AIF_BCLK_INV_SHIFT 7
- #define WM8903_AIF_BCLK_INV_WIDTH 1
- #define WM8903_BCLK_DIR 0x0040
- #define WM8903_BCLK_DIR_MASK 0x0040
- #define WM8903_BCLK_DIR_SHIFT 6
- #define WM8903_BCLK_DIR_WIDTH 1
- #define WM8903_AIF_LRCLK_INV 0x0010
- #define WM8903_AIF_LRCLK_INV_MASK 0x0010
- #define WM8903_AIF_LRCLK_INV_SHIFT 4
- #define WM8903_AIF_LRCLK_INV_WIDTH 1
- #define WM8903_AIF_WL_MASK 0x000C
- #define WM8903_AIF_WL_SHIFT 2
- #define WM8903_AIF_WL_WIDTH 2
- #define WM8903_AIF_FMT_MASK 0x0003
- #define WM8903_AIF_FMT_SHIFT 0
- #define WM8903_AIF_FMT_WIDTH 2
- #define WM8903_BCLK_DIV_MASK 0x001F
- #define WM8903_BCLK_DIV_SHIFT 0
- #define WM8903_BCLK_DIV_WIDTH 5
- #define WM8903_LRCLK_RATE_MASK 0x07FF
- #define WM8903_LRCLK_RATE_SHIFT 0
- #define WM8903_LRCLK_RATE_WIDTH 11
- #define WM8903_DACVU 0x0100
- #define WM8903_DACVU_MASK 0x0100
- #define WM8903_DACVU_SHIFT 8
- #define WM8903_DACVU_WIDTH 1
- #define WM8903_DACL_VOL_MASK 0x00FF
- #define WM8903_DACL_VOL_SHIFT 0
- #define WM8903_DACL_VOL_WIDTH 8
- #define WM8903_DACVU 0x0100
- #define WM8903_DACVU_MASK 0x0100
- #define WM8903_DACVU_SHIFT 8
- #define WM8903_DACVU_WIDTH 1
- #define WM8903_DACR_VOL_MASK 0x00FF
- #define WM8903_DACR_VOL_SHIFT 0
- #define WM8903_DACR_VOL_WIDTH 8
- #define WM8903_ADCL_DAC_SVOL_MASK 0x0F00
- #define WM8903_ADCL_DAC_SVOL_SHIFT 8
- #define WM8903_ADCL_DAC_SVOL_WIDTH 4
- #define WM8903_ADCR_DAC_SVOL_MASK 0x00F0
- #define WM8903_ADCR_DAC_SVOL_SHIFT 4
- #define WM8903_ADCR_DAC_SVOL_WIDTH 4
- #define WM8903_ADC_TO_DACL_MASK 0x000C
- #define WM8903_ADC_TO_DACL_SHIFT 2
- #define WM8903_ADC_TO_DACL_WIDTH 2
- #define WM8903_ADC_TO_DACR_MASK 0x0003
- #define WM8903_ADC_TO_DACR_SHIFT 0
- #define WM8903_ADC_TO_DACR_WIDTH 2
- #define WM8903_DAC_MONO 0x1000
- #define WM8903_DAC_MONO_MASK 0x1000
- #define WM8903_DAC_MONO_SHIFT 12
- #define WM8903_DAC_MONO_WIDTH 1
- #define WM8903_DAC_SB_FILT 0x0800
- #define WM8903_DAC_SB_FILT_MASK 0x0800
- #define WM8903_DAC_SB_FILT_SHIFT 11
- #define WM8903_DAC_SB_FILT_WIDTH 1
- #define WM8903_DAC_MUTERATE 0x0400
- #define WM8903_DAC_MUTERATE_MASK 0x0400
- #define WM8903_DAC_MUTERATE_SHIFT 10
- #define WM8903_DAC_MUTERATE_WIDTH 1
- #define WM8903_DAC_MUTEMODE 0x0200
- #define WM8903_DAC_MUTEMODE_MASK 0x0200
- #define WM8903_DAC_MUTEMODE_SHIFT 9
- #define WM8903_DAC_MUTEMODE_WIDTH 1
- #define WM8903_DAC_MUTE 0x0008
- #define WM8903_DAC_MUTE_MASK 0x0008
- #define WM8903_DAC_MUTE_SHIFT 3
- #define WM8903_DAC_MUTE_WIDTH 1
- #define WM8903_DEEMPH_MASK 0x0006
- #define WM8903_DEEMPH_SHIFT 1
- #define WM8903_DEEMPH_WIDTH 2
- #define WM8903_ADCVU 0x0100
- #define WM8903_ADCVU_MASK 0x0100
- #define WM8903_ADCVU_SHIFT 8
- #define WM8903_ADCVU_WIDTH 1
- #define WM8903_ADCL_VOL_MASK 0x00FF
- #define WM8903_ADCL_VOL_SHIFT 0
- #define WM8903_ADCL_VOL_WIDTH 8
- #define WM8903_ADCVU 0x0100
- #define WM8903_ADCVU_MASK 0x0100
- #define WM8903_ADCVU_SHIFT 8
- #define WM8903_ADCVU_WIDTH 1
- #define WM8903_ADCR_VOL_MASK 0x00FF
- #define WM8903_ADCR_VOL_SHIFT 0
- #define WM8903_ADCR_VOL_WIDTH 8
- #define WM8903_ADC_HPF_CUT_MASK 0x0060
- #define WM8903_ADC_HPF_CUT_SHIFT 5
- #define WM8903_ADC_HPF_CUT_WIDTH 2
- #define WM8903_ADC_HPF_ENA 0x0010
- #define WM8903_ADC_HPF_ENA_MASK 0x0010
- #define WM8903_ADC_HPF_ENA_SHIFT 4
- #define WM8903_ADC_HPF_ENA_WIDTH 1
- #define WM8903_ADCL_DATINV 0x0002
- #define WM8903_ADCL_DATINV_MASK 0x0002
- #define WM8903_ADCL_DATINV_SHIFT 1
- #define WM8903_ADCL_DATINV_WIDTH 1
- #define WM8903_ADCR_DATINV 0x0001
- #define WM8903_ADCR_DATINV_MASK 0x0001
- #define WM8903_ADCR_DATINV_SHIFT 0
- #define WM8903_ADCR_DATINV_WIDTH 1
- #define WM8903_DIGMIC_MODE_SEL 0x0100
- #define WM8903_DIGMIC_MODE_SEL_MASK 0x0100
- #define WM8903_DIGMIC_MODE_SEL_SHIFT 8
- #define WM8903_DIGMIC_MODE_SEL_WIDTH 1
- #define WM8903_DIGMIC_CLK_SEL_L_MASK 0x00C0
- #define WM8903_DIGMIC_CLK_SEL_L_SHIFT 6
- #define WM8903_DIGMIC_CLK_SEL_L_WIDTH 2
- #define WM8903_DIGMIC_CLK_SEL_R_MASK 0x0030
- #define WM8903_DIGMIC_CLK_SEL_R_SHIFT 4
- #define WM8903_DIGMIC_CLK_SEL_R_WIDTH 2
- #define WM8903_DIGMIC_CLK_SEL_RT_MASK 0x000C
- #define WM8903_DIGMIC_CLK_SEL_RT_SHIFT 2
- #define WM8903_DIGMIC_CLK_SEL_RT_WIDTH 2
- #define WM8903_DIGMIC_CLK_SEL_MASK 0x0003
- #define WM8903_DIGMIC_CLK_SEL_SHIFT 0
- #define WM8903_DIGMIC_CLK_SEL_WIDTH 2
- #define WM8903_DRC_ENA 0x8000
- #define WM8903_DRC_ENA_MASK 0x8000
- #define WM8903_DRC_ENA_SHIFT 15
- #define WM8903_DRC_ENA_WIDTH 1
- #define WM8903_DRC_THRESH_HYST_MASK 0x1800
- #define WM8903_DRC_THRESH_HYST_SHIFT 11
- #define WM8903_DRC_THRESH_HYST_WIDTH 2
- #define WM8903_DRC_STARTUP_GAIN_MASK 0x07C0
- #define WM8903_DRC_STARTUP_GAIN_SHIFT 6
- #define WM8903_DRC_STARTUP_GAIN_WIDTH 5
- #define WM8903_DRC_FF_DELAY 0x0020
- #define WM8903_DRC_FF_DELAY_MASK 0x0020
- #define WM8903_DRC_FF_DELAY_SHIFT 5
- #define WM8903_DRC_FF_DELAY_WIDTH 1
- #define WM8903_DRC_SMOOTH_ENA 0x0008
- #define WM8903_DRC_SMOOTH_ENA_MASK 0x0008
- #define WM8903_DRC_SMOOTH_ENA_SHIFT 3
- #define WM8903_DRC_SMOOTH_ENA_WIDTH 1
- #define WM8903_DRC_QR_ENA 0x0004
- #define WM8903_DRC_QR_ENA_MASK 0x0004
- #define WM8903_DRC_QR_ENA_SHIFT 2
- #define WM8903_DRC_QR_ENA_WIDTH 1
- #define WM8903_DRC_ANTICLIP_ENA 0x0002
- #define WM8903_DRC_ANTICLIP_ENA_MASK 0x0002
- #define WM8903_DRC_ANTICLIP_ENA_SHIFT 1
- #define WM8903_DRC_ANTICLIP_ENA_WIDTH 1
- #define WM8903_DRC_HYST_ENA 0x0001
- #define WM8903_DRC_HYST_ENA_MASK 0x0001
- #define WM8903_DRC_HYST_ENA_SHIFT 0
- #define WM8903_DRC_HYST_ENA_WIDTH 1
- #define WM8903_DRC_ATTACK_RATE_MASK 0xF000
- #define WM8903_DRC_ATTACK_RATE_SHIFT 12
- #define WM8903_DRC_ATTACK_RATE_WIDTH 4
- #define WM8903_DRC_DECAY_RATE_MASK 0x0F00
- #define WM8903_DRC_DECAY_RATE_SHIFT 8
- #define WM8903_DRC_DECAY_RATE_WIDTH 4
- #define WM8903_DRC_THRESH_QR_MASK 0x00C0
- #define WM8903_DRC_THRESH_QR_SHIFT 6
- #define WM8903_DRC_THRESH_QR_WIDTH 2
- #define WM8903_DRC_RATE_QR_MASK 0x0030
- #define WM8903_DRC_RATE_QR_SHIFT 4
- #define WM8903_DRC_RATE_QR_WIDTH 2
- #define WM8903_DRC_MINGAIN_MASK 0x000C
- #define WM8903_DRC_MINGAIN_SHIFT 2
- #define WM8903_DRC_MINGAIN_WIDTH 2
- #define WM8903_DRC_MAXGAIN_MASK 0x0003
- #define WM8903_DRC_MAXGAIN_SHIFT 0
- #define WM8903_DRC_MAXGAIN_WIDTH 2
- #define WM8903_DRC_R0_SLOPE_COMP_MASK 0x0038
- #define WM8903_DRC_R0_SLOPE_COMP_SHIFT 3
- #define WM8903_DRC_R0_SLOPE_COMP_WIDTH 3
- #define WM8903_DRC_R1_SLOPE_COMP_MASK 0x0007
- #define WM8903_DRC_R1_SLOPE_COMP_SHIFT 0
- #define WM8903_DRC_R1_SLOPE_COMP_WIDTH 3
- #define WM8903_DRC_THRESH_COMP_MASK 0x07E0
- #define WM8903_DRC_THRESH_COMP_SHIFT 5
- #define WM8903_DRC_THRESH_COMP_WIDTH 6
- #define WM8903_DRC_AMP_COMP_MASK 0x001F
- #define WM8903_DRC_AMP_COMP_SHIFT 0
- #define WM8903_DRC_AMP_COMP_WIDTH 5
- #define WM8903_LINMUTE 0x0080
- #define WM8903_LINMUTE_MASK 0x0080
- #define WM8903_LINMUTE_SHIFT 7
- #define WM8903_LINMUTE_WIDTH 1
- #define WM8903_LIN_VOL_MASK 0x001F
- #define WM8903_LIN_VOL_SHIFT 0
- #define WM8903_LIN_VOL_WIDTH 5
- #define WM8903_RINMUTE 0x0080
- #define WM8903_RINMUTE_MASK 0x0080
- #define WM8903_RINMUTE_SHIFT 7
- #define WM8903_RINMUTE_WIDTH 1
- #define WM8903_RIN_VOL_MASK 0x001F
- #define WM8903_RIN_VOL_SHIFT 0
- #define WM8903_RIN_VOL_WIDTH 5
- #define WM8903_INL_CM_ENA 0x0040
- #define WM8903_INL_CM_ENA_MASK 0x0040
- #define WM8903_INL_CM_ENA_SHIFT 6
- #define WM8903_INL_CM_ENA_WIDTH 1
- #define WM8903_L_IP_SEL_N_MASK 0x0030
- #define WM8903_L_IP_SEL_N_SHIFT 4
- #define WM8903_L_IP_SEL_N_WIDTH 2
- #define WM8903_L_IP_SEL_P_MASK 0x000C
- #define WM8903_L_IP_SEL_P_SHIFT 2
- #define WM8903_L_IP_SEL_P_WIDTH 2
- #define WM8903_L_MODE_MASK 0x0003
- #define WM8903_L_MODE_SHIFT 0
- #define WM8903_L_MODE_WIDTH 2
- #define WM8903_INR_CM_ENA 0x0040
- #define WM8903_INR_CM_ENA_MASK 0x0040
- #define WM8903_INR_CM_ENA_SHIFT 6
- #define WM8903_INR_CM_ENA_WIDTH 1
- #define WM8903_R_IP_SEL_N_MASK 0x0030
- #define WM8903_R_IP_SEL_N_SHIFT 4
- #define WM8903_R_IP_SEL_N_WIDTH 2
- #define WM8903_R_IP_SEL_P_MASK 0x000C
- #define WM8903_R_IP_SEL_P_SHIFT 2
- #define WM8903_R_IP_SEL_P_WIDTH 2
- #define WM8903_R_MODE_MASK 0x0003
- #define WM8903_R_MODE_SHIFT 0
- #define WM8903_R_MODE_WIDTH 2
- #define WM8903_DACL_TO_MIXOUTL 0x0008
- #define WM8903_DACL_TO_MIXOUTL_MASK 0x0008
- #define WM8903_DACL_TO_MIXOUTL_SHIFT 3
- #define WM8903_DACL_TO_MIXOUTL_WIDTH 1
- #define WM8903_DACR_TO_MIXOUTL 0x0004
- #define WM8903_DACR_TO_MIXOUTL_MASK 0x0004
- #define WM8903_DACR_TO_MIXOUTL_SHIFT 2
- #define WM8903_DACR_TO_MIXOUTL_WIDTH 1
- #define WM8903_BYPASSL_TO_MIXOUTL 0x0002
- #define WM8903_BYPASSL_TO_MIXOUTL_MASK 0x0002
- #define WM8903_BYPASSL_TO_MIXOUTL_SHIFT 1
- #define WM8903_BYPASSL_TO_MIXOUTL_WIDTH 1
- #define WM8903_BYPASSR_TO_MIXOUTL 0x0001
- #define WM8903_BYPASSR_TO_MIXOUTL_MASK 0x0001
- #define WM8903_BYPASSR_TO_MIXOUTL_SHIFT 0
- #define WM8903_BYPASSR_TO_MIXOUTL_WIDTH 1
- #define WM8903_DACL_TO_MIXOUTR 0x0008
- #define WM8903_DACL_TO_MIXOUTR_MASK 0x0008
- #define WM8903_DACL_TO_MIXOUTR_SHIFT 3
- #define WM8903_DACL_TO_MIXOUTR_WIDTH 1
- #define WM8903_DACR_TO_MIXOUTR 0x0004
- #define WM8903_DACR_TO_MIXOUTR_MASK 0x0004
- #define WM8903_DACR_TO_MIXOUTR_SHIFT 2
- #define WM8903_DACR_TO_MIXOUTR_WIDTH 1
- #define WM8903_BYPASSL_TO_MIXOUTR 0x0002
- #define WM8903_BYPASSL_TO_MIXOUTR_MASK 0x0002
- #define WM8903_BYPASSL_TO_MIXOUTR_SHIFT 1
- #define WM8903_BYPASSL_TO_MIXOUTR_WIDTH 1
- #define WM8903_BYPASSR_TO_MIXOUTR 0x0001
- #define WM8903_BYPASSR_TO_MIXOUTR_MASK 0x0001
- #define WM8903_BYPASSR_TO_MIXOUTR_SHIFT 0
- #define WM8903_BYPASSR_TO_MIXOUTR_WIDTH 1
- #define WM8903_DACL_TO_MIXSPKL 0x0008
- #define WM8903_DACL_TO_MIXSPKL_MASK 0x0008
- #define WM8903_DACL_TO_MIXSPKL_SHIFT 3
- #define WM8903_DACL_TO_MIXSPKL_WIDTH 1
- #define WM8903_DACR_TO_MIXSPKL 0x0004
- #define WM8903_DACR_TO_MIXSPKL_MASK 0x0004
- #define WM8903_DACR_TO_MIXSPKL_SHIFT 2
- #define WM8903_DACR_TO_MIXSPKL_WIDTH 1
- #define WM8903_BYPASSL_TO_MIXSPKL 0x0002
- #define WM8903_BYPASSL_TO_MIXSPKL_MASK 0x0002
- #define WM8903_BYPASSL_TO_MIXSPKL_SHIFT 1
- #define WM8903_BYPASSL_TO_MIXSPKL_WIDTH 1
- #define WM8903_BYPASSR_TO_MIXSPKL 0x0001
- #define WM8903_BYPASSR_TO_MIXSPKL_MASK 0x0001
- #define WM8903_BYPASSR_TO_MIXSPKL_SHIFT 0
- #define WM8903_BYPASSR_TO_MIXSPKL_WIDTH 1
- #define WM8903_DACL_MIXSPKL_VOL 0x0008
- #define WM8903_DACL_MIXSPKL_VOL_MASK 0x0008
- #define WM8903_DACL_MIXSPKL_VOL_SHIFT 3
- #define WM8903_DACL_MIXSPKL_VOL_WIDTH 1
- #define WM8903_DACR_MIXSPKL_VOL 0x0004
- #define WM8903_DACR_MIXSPKL_VOL_MASK 0x0004
- #define WM8903_DACR_MIXSPKL_VOL_SHIFT 2
- #define WM8903_DACR_MIXSPKL_VOL_WIDTH 1
- #define WM8903_BYPASSL_MIXSPKL_VOL 0x0002
- #define WM8903_BYPASSL_MIXSPKL_VOL_MASK 0x0002
- #define WM8903_BYPASSL_MIXSPKL_VOL_SHIFT 1
- #define WM8903_BYPASSL_MIXSPKL_VOL_WIDTH 1
- #define WM8903_BYPASSR_MIXSPKL_VOL 0x0001
- #define WM8903_BYPASSR_MIXSPKL_VOL_MASK 0x0001
- #define WM8903_BYPASSR_MIXSPKL_VOL_SHIFT 0
- #define WM8903_BYPASSR_MIXSPKL_VOL_WIDTH 1
- #define WM8903_DACL_TO_MIXSPKR 0x0008
- #define WM8903_DACL_TO_MIXSPKR_MASK 0x0008
- #define WM8903_DACL_TO_MIXSPKR_SHIFT 3
- #define WM8903_DACL_TO_MIXSPKR_WIDTH 1
- #define WM8903_DACR_TO_MIXSPKR 0x0004
- #define WM8903_DACR_TO_MIXSPKR_MASK 0x0004
- #define WM8903_DACR_TO_MIXSPKR_SHIFT 2
- #define WM8903_DACR_TO_MIXSPKR_WIDTH 1
- #define WM8903_BYPASSL_TO_MIXSPKR 0x0002
- #define WM8903_BYPASSL_TO_MIXSPKR_MASK 0x0002
- #define WM8903_BYPASSL_TO_MIXSPKR_SHIFT 1
- #define WM8903_BYPASSL_TO_MIXSPKR_WIDTH 1
- #define WM8903_BYPASSR_TO_MIXSPKR 0x0001
- #define WM8903_BYPASSR_TO_MIXSPKR_MASK 0x0001
- #define WM8903_BYPASSR_TO_MIXSPKR_SHIFT 0
- #define WM8903_BYPASSR_TO_MIXSPKR_WIDTH 1
- #define WM8903_DACL_MIXSPKR_VOL 0x0008
- #define WM8903_DACL_MIXSPKR_VOL_MASK 0x0008
- #define WM8903_DACL_MIXSPKR_VOL_SHIFT 3
- #define WM8903_DACL_MIXSPKR_VOL_WIDTH 1
- #define WM8903_DACR_MIXSPKR_VOL 0x0004
- #define WM8903_DACR_MIXSPKR_VOL_MASK 0x0004
- #define WM8903_DACR_MIXSPKR_VOL_SHIFT 2
- #define WM8903_DACR_MIXSPKR_VOL_WIDTH 1
- #define WM8903_BYPASSL_MIXSPKR_VOL 0x0002
- #define WM8903_BYPASSL_MIXSPKR_VOL_MASK 0x0002
- #define WM8903_BYPASSL_MIXSPKR_VOL_SHIFT 1
- #define WM8903_BYPASSL_MIXSPKR_VOL_WIDTH 1
- #define WM8903_BYPASSR_MIXSPKR_VOL 0x0001
- #define WM8903_BYPASSR_MIXSPKR_VOL_MASK 0x0001
- #define WM8903_BYPASSR_MIXSPKR_VOL_SHIFT 0
- #define WM8903_BYPASSR_MIXSPKR_VOL_WIDTH 1
- #define WM8903_HPL_MUTE 0x0100
- #define WM8903_HPL_MUTE_MASK 0x0100
- #define WM8903_HPL_MUTE_SHIFT 8
- #define WM8903_HPL_MUTE_WIDTH 1
- #define WM8903_HPOUTVU 0x0080
- #define WM8903_HPOUTVU_MASK 0x0080
- #define WM8903_HPOUTVU_SHIFT 7
- #define WM8903_HPOUTVU_WIDTH 1
- #define WM8903_HPOUTLZC 0x0040
- #define WM8903_HPOUTLZC_MASK 0x0040
- #define WM8903_HPOUTLZC_SHIFT 6
- #define WM8903_HPOUTLZC_WIDTH 1
- #define WM8903_HPOUTL_VOL_MASK 0x003F
- #define WM8903_HPOUTL_VOL_SHIFT 0
- #define WM8903_HPOUTL_VOL_WIDTH 6
- #define WM8903_HPR_MUTE 0x0100
- #define WM8903_HPR_MUTE_MASK 0x0100
- #define WM8903_HPR_MUTE_SHIFT 8
- #define WM8903_HPR_MUTE_WIDTH 1
- #define WM8903_HPOUTVU 0x0080
- #define WM8903_HPOUTVU_MASK 0x0080
- #define WM8903_HPOUTVU_SHIFT 7
- #define WM8903_HPOUTVU_WIDTH 1
- #define WM8903_HPOUTRZC 0x0040
- #define WM8903_HPOUTRZC_MASK 0x0040
- #define WM8903_HPOUTRZC_SHIFT 6
- #define WM8903_HPOUTRZC_WIDTH 1
- #define WM8903_HPOUTR_VOL_MASK 0x003F
- #define WM8903_HPOUTR_VOL_SHIFT 0
- #define WM8903_HPOUTR_VOL_WIDTH 6
- #define WM8903_LINEOUTL_MUTE 0x0100
- #define WM8903_LINEOUTL_MUTE_MASK 0x0100
- #define WM8903_LINEOUTL_MUTE_SHIFT 8
- #define WM8903_LINEOUTL_MUTE_WIDTH 1
- #define WM8903_LINEOUTVU 0x0080
- #define WM8903_LINEOUTVU_MASK 0x0080
- #define WM8903_LINEOUTVU_SHIFT 7
- #define WM8903_LINEOUTVU_WIDTH 1
- #define WM8903_LINEOUTLZC 0x0040
- #define WM8903_LINEOUTLZC_MASK 0x0040
- #define WM8903_LINEOUTLZC_SHIFT 6
- #define WM8903_LINEOUTLZC_WIDTH 1
- #define WM8903_LINEOUTL_VOL_MASK 0x003F
- #define WM8903_LINEOUTL_VOL_SHIFT 0
- #define WM8903_LINEOUTL_VOL_WIDTH 6
- #define WM8903_LINEOUTR_MUTE 0x0100
- #define WM8903_LINEOUTR_MUTE_MASK 0x0100
- #define WM8903_LINEOUTR_MUTE_SHIFT 8
- #define WM8903_LINEOUTR_MUTE_WIDTH 1
- #define WM8903_LINEOUTVU 0x0080
- #define WM8903_LINEOUTVU_MASK 0x0080
- #define WM8903_LINEOUTVU_SHIFT 7
- #define WM8903_LINEOUTVU_WIDTH 1
- #define WM8903_LINEOUTRZC 0x0040
- #define WM8903_LINEOUTRZC_MASK 0x0040
- #define WM8903_LINEOUTRZC_SHIFT 6
- #define WM8903_LINEOUTRZC_WIDTH 1
- #define WM8903_LINEOUTR_VOL_MASK 0x003F
- #define WM8903_LINEOUTR_VOL_SHIFT 0
- #define WM8903_LINEOUTR_VOL_WIDTH 6
- #define WM8903_SPKL_MUTE 0x0100
- #define WM8903_SPKL_MUTE_MASK 0x0100
- #define WM8903_SPKL_MUTE_SHIFT 8
- #define WM8903_SPKL_MUTE_WIDTH 1
- #define WM8903_SPKVU 0x0080
- #define WM8903_SPKVU_MASK 0x0080
- #define WM8903_SPKVU_SHIFT 7
- #define WM8903_SPKVU_WIDTH 1
- #define WM8903_SPKLZC 0x0040
- #define WM8903_SPKLZC_MASK 0x0040
- #define WM8903_SPKLZC_SHIFT 6
- #define WM8903_SPKLZC_WIDTH 1
- #define WM8903_SPKL_VOL_MASK 0x003F
- #define WM8903_SPKL_VOL_SHIFT 0
- #define WM8903_SPKL_VOL_WIDTH 6
- #define WM8903_SPKR_MUTE 0x0100
- #define WM8903_SPKR_MUTE_MASK 0x0100
- #define WM8903_SPKR_MUTE_SHIFT 8
- #define WM8903_SPKR_MUTE_WIDTH 1
- #define WM8903_SPKVU 0x0080
- #define WM8903_SPKVU_MASK 0x0080
- #define WM8903_SPKVU_SHIFT 7
- #define WM8903_SPKVU_WIDTH 1
- #define WM8903_SPKRZC 0x0040
- #define WM8903_SPKRZC_MASK 0x0040
- #define WM8903_SPKRZC_SHIFT 6
- #define WM8903_SPKRZC_WIDTH 1
- #define WM8903_SPKR_VOL_MASK 0x003F
- #define WM8903_SPKR_VOL_SHIFT 0
- #define WM8903_SPKR_VOL_WIDTH 6
- #define WM8903_SPK_DISCHARGE 0x0002
- #define WM8903_SPK_DISCHARGE_MASK 0x0002
- #define WM8903_SPK_DISCHARGE_SHIFT 1
- #define WM8903_SPK_DISCHARGE_WIDTH 1
- #define WM8903_VROI 0x0001
- #define WM8903_VROI_MASK 0x0001
- #define WM8903_VROI_SHIFT 0
- #define WM8903_VROI_WIDTH 1
- #define WM8903_DCS_MASTER_ENA 0x0010
- #define WM8903_DCS_MASTER_ENA_MASK 0x0010
- #define WM8903_DCS_MASTER_ENA_SHIFT 4
- #define WM8903_DCS_MASTER_ENA_WIDTH 1
- #define WM8903_DCS_ENA_MASK 0x000F
- #define WM8903_DCS_ENA_SHIFT 0
- #define WM8903_DCS_ENA_WIDTH 4
- #define WM8903_DCS_MODE_MASK 0x0003
- #define WM8903_DCS_MODE_SHIFT 0
- #define WM8903_DCS_MODE_WIDTH 2
- #define WM8903_HPL_RMV_SHORT 0x0080
- #define WM8903_HPL_RMV_SHORT_MASK 0x0080
- #define WM8903_HPL_RMV_SHORT_SHIFT 7
- #define WM8903_HPL_RMV_SHORT_WIDTH 1
- #define WM8903_HPL_ENA_OUTP 0x0040
- #define WM8903_HPL_ENA_OUTP_MASK 0x0040
- #define WM8903_HPL_ENA_OUTP_SHIFT 6
- #define WM8903_HPL_ENA_OUTP_WIDTH 1
- #define WM8903_HPL_ENA_DLY 0x0020
- #define WM8903_HPL_ENA_DLY_MASK 0x0020
- #define WM8903_HPL_ENA_DLY_SHIFT 5
- #define WM8903_HPL_ENA_DLY_WIDTH 1
- #define WM8903_HPL_ENA 0x0010
- #define WM8903_HPL_ENA_MASK 0x0010
- #define WM8903_HPL_ENA_SHIFT 4
- #define WM8903_HPL_ENA_WIDTH 1
- #define WM8903_HPR_RMV_SHORT 0x0008
- #define WM8903_HPR_RMV_SHORT_MASK 0x0008
- #define WM8903_HPR_RMV_SHORT_SHIFT 3
- #define WM8903_HPR_RMV_SHORT_WIDTH 1
- #define WM8903_HPR_ENA_OUTP 0x0004
- #define WM8903_HPR_ENA_OUTP_MASK 0x0004
- #define WM8903_HPR_ENA_OUTP_SHIFT 2
- #define WM8903_HPR_ENA_OUTP_WIDTH 1
- #define WM8903_HPR_ENA_DLY 0x0002
- #define WM8903_HPR_ENA_DLY_MASK 0x0002
- #define WM8903_HPR_ENA_DLY_SHIFT 1
- #define WM8903_HPR_ENA_DLY_WIDTH 1
- #define WM8903_HPR_ENA 0x0001
- #define WM8903_HPR_ENA_MASK 0x0001
- #define WM8903_HPR_ENA_SHIFT 0
- #define WM8903_HPR_ENA_WIDTH 1
- #define WM8903_LINEOUTL_RMV_SHORT 0x0080
- #define WM8903_LINEOUTL_RMV_SHORT_MASK 0x0080
- #define WM8903_LINEOUTL_RMV_SHORT_SHIFT 7
- #define WM8903_LINEOUTL_RMV_SHORT_WIDTH 1
- #define WM8903_LINEOUTL_ENA_OUTP 0x0040
- #define WM8903_LINEOUTL_ENA_OUTP_MASK 0x0040
- #define WM8903_LINEOUTL_ENA_OUTP_SHIFT 6
- #define WM8903_LINEOUTL_ENA_OUTP_WIDTH 1
- #define WM8903_LINEOUTL_ENA_DLY 0x0020
- #define WM8903_LINEOUTL_ENA_DLY_MASK 0x0020
- #define WM8903_LINEOUTL_ENA_DLY_SHIFT 5
- #define WM8903_LINEOUTL_ENA_DLY_WIDTH 1
- #define WM8903_LINEOUTL_ENA 0x0010
- #define WM8903_LINEOUTL_ENA_MASK 0x0010
- #define WM8903_LINEOUTL_ENA_SHIFT 4
- #define WM8903_LINEOUTL_ENA_WIDTH 1
- #define WM8903_LINEOUTR_RMV_SHORT 0x0008
- #define WM8903_LINEOUTR_RMV_SHORT_MASK 0x0008
- #define WM8903_LINEOUTR_RMV_SHORT_SHIFT 3
- #define WM8903_LINEOUTR_RMV_SHORT_WIDTH 1
- #define WM8903_LINEOUTR_ENA_OUTP 0x0004
- #define WM8903_LINEOUTR_ENA_OUTP_MASK 0x0004
- #define WM8903_LINEOUTR_ENA_OUTP_SHIFT 2
- #define WM8903_LINEOUTR_ENA_OUTP_WIDTH 1
- #define WM8903_LINEOUTR_ENA_DLY 0x0002
- #define WM8903_LINEOUTR_ENA_DLY_MASK 0x0002
- #define WM8903_LINEOUTR_ENA_DLY_SHIFT 1
- #define WM8903_LINEOUTR_ENA_DLY_WIDTH 1
- #define WM8903_LINEOUTR_ENA 0x0001
- #define WM8903_LINEOUTR_ENA_MASK 0x0001
- #define WM8903_LINEOUTR_ENA_SHIFT 0
- #define WM8903_LINEOUTR_ENA_WIDTH 1
- #define WM8903_CP_ENA 0x0001
- #define WM8903_CP_ENA_MASK 0x0001
- #define WM8903_CP_ENA_SHIFT 0
- #define WM8903_CP_ENA_WIDTH 1
- #define WM8903_CP_DYN_FREQ 0x0002
- #define WM8903_CP_DYN_FREQ_MASK 0x0002
- #define WM8903_CP_DYN_FREQ_SHIFT 1
- #define WM8903_CP_DYN_FREQ_WIDTH 1
- #define WM8903_CP_DYN_V 0x0001
- #define WM8903_CP_DYN_V_MASK 0x0001
- #define WM8903_CP_DYN_V_SHIFT 0
- #define WM8903_CP_DYN_V_WIDTH 1
- #define WM8903_WSEQ_ENA 0x0100
- #define WM8903_WSEQ_ENA_MASK 0x0100
- #define WM8903_WSEQ_ENA_SHIFT 8
- #define WM8903_WSEQ_ENA_WIDTH 1
- #define WM8903_WSEQ_WRITE_INDEX_MASK 0x001F
- #define WM8903_WSEQ_WRITE_INDEX_SHIFT 0
- #define WM8903_WSEQ_WRITE_INDEX_WIDTH 5
- #define WM8903_WSEQ_DATA_WIDTH_MASK 0x7000
- #define WM8903_WSEQ_DATA_WIDTH_SHIFT 12
- #define WM8903_WSEQ_DATA_WIDTH_WIDTH 3
- #define WM8903_WSEQ_DATA_START_MASK 0x0F00
- #define WM8903_WSEQ_DATA_START_SHIFT 8
- #define WM8903_WSEQ_DATA_START_WIDTH 4
- #define WM8903_WSEQ_ADDR_MASK 0x00FF
- #define WM8903_WSEQ_ADDR_SHIFT 0
- #define WM8903_WSEQ_ADDR_WIDTH 8
- #define WM8903_WSEQ_EOS 0x4000
- #define WM8903_WSEQ_EOS_MASK 0x4000
- #define WM8903_WSEQ_EOS_SHIFT 14
- #define WM8903_WSEQ_EOS_WIDTH 1
- #define WM8903_WSEQ_DELAY_MASK 0x0F00
- #define WM8903_WSEQ_DELAY_SHIFT 8
- #define WM8903_WSEQ_DELAY_WIDTH 4
- #define WM8903_WSEQ_DATA_MASK 0x00FF
- #define WM8903_WSEQ_DATA_SHIFT 0
- #define WM8903_WSEQ_DATA_WIDTH 8
- #define WM8903_WSEQ_ABORT 0x0200
- #define WM8903_WSEQ_ABORT_MASK 0x0200
- #define WM8903_WSEQ_ABORT_SHIFT 9
- #define WM8903_WSEQ_ABORT_WIDTH 1
- #define WM8903_WSEQ_START 0x0100
- #define WM8903_WSEQ_START_MASK 0x0100
- #define WM8903_WSEQ_START_SHIFT 8
- #define WM8903_WSEQ_START_WIDTH 1
- #define WM8903_WSEQ_START_INDEX_MASK 0x003F
- #define WM8903_WSEQ_START_INDEX_SHIFT 0
- #define WM8903_WSEQ_START_INDEX_WIDTH 6
- #define WM8903_WSEQ_CURRENT_INDEX_MASK 0x03F0
- #define WM8903_WSEQ_CURRENT_INDEX_SHIFT 4
- #define WM8903_WSEQ_CURRENT_INDEX_WIDTH 6
- #define WM8903_WSEQ_BUSY 0x0001
- #define WM8903_WSEQ_BUSY_MASK 0x0001
- #define WM8903_WSEQ_BUSY_SHIFT 0
- #define WM8903_WSEQ_BUSY_WIDTH 1
- #define WM8903_MASK_WRITE_ENA 0x0001
- #define WM8903_MASK_WRITE_ENA_MASK 0x0001
- #define WM8903_MASK_WRITE_ENA_SHIFT 0
- #define WM8903_MASK_WRITE_ENA_WIDTH 1
- #define WM8903_MICSHRT_EINT 0x8000
- #define WM8903_MICSHRT_EINT_MASK 0x8000
- #define WM8903_MICSHRT_EINT_SHIFT 15
- #define WM8903_MICSHRT_EINT_WIDTH 1
- #define WM8903_MICDET_EINT 0x4000
- #define WM8903_MICDET_EINT_MASK 0x4000
- #define WM8903_MICDET_EINT_SHIFT 14
- #define WM8903_MICDET_EINT_WIDTH 1
- #define WM8903_WSEQ_BUSY_EINT 0x2000
- #define WM8903_WSEQ_BUSY_EINT_MASK 0x2000
- #define WM8903_WSEQ_BUSY_EINT_SHIFT 13
- #define WM8903_WSEQ_BUSY_EINT_WIDTH 1
- #define WM8903_GP5_EINT 0x0010
- #define WM8903_GP5_EINT_MASK 0x0010
- #define WM8903_GP5_EINT_SHIFT 4
- #define WM8903_GP5_EINT_WIDTH 1
- #define WM8903_GP4_EINT 0x0008
- #define WM8903_GP4_EINT_MASK 0x0008
- #define WM8903_GP4_EINT_SHIFT 3
- #define WM8903_GP4_EINT_WIDTH 1
- #define WM8903_GP3_EINT 0x0004
- #define WM8903_GP3_EINT_MASK 0x0004
- #define WM8903_GP3_EINT_SHIFT 2
- #define WM8903_GP3_EINT_WIDTH 1
- #define WM8903_GP2_EINT 0x0002
- #define WM8903_GP2_EINT_MASK 0x0002
- #define WM8903_GP2_EINT_SHIFT 1
- #define WM8903_GP2_EINT_WIDTH 1
- #define WM8903_GP1_EINT 0x0001
- #define WM8903_GP1_EINT_MASK 0x0001
- #define WM8903_GP1_EINT_SHIFT 0
- #define WM8903_GP1_EINT_WIDTH 1
- #define WM8903_IM_MICSHRT_EINT 0x8000
- #define WM8903_IM_MICSHRT_EINT_MASK 0x8000
- #define WM8903_IM_MICSHRT_EINT_SHIFT 15
- #define WM8903_IM_MICSHRT_EINT_WIDTH 1
- #define WM8903_IM_MICDET_EINT 0x4000
- #define WM8903_IM_MICDET_EINT_MASK 0x4000
- #define WM8903_IM_MICDET_EINT_SHIFT 14
- #define WM8903_IM_MICDET_EINT_WIDTH 1
- #define WM8903_IM_WSEQ_BUSY_EINT 0x2000
- #define WM8903_IM_WSEQ_BUSY_EINT_MASK 0x2000
- #define WM8903_IM_WSEQ_BUSY_EINT_SHIFT 13
- #define WM8903_IM_WSEQ_BUSY_EINT_WIDTH 1
- #define WM8903_IM_GP5_EINT 0x0010
- #define WM8903_IM_GP5_EINT_MASK 0x0010
- #define WM8903_IM_GP5_EINT_SHIFT 4
- #define WM8903_IM_GP5_EINT_WIDTH 1
- #define WM8903_IM_GP4_EINT 0x0008
- #define WM8903_IM_GP4_EINT_MASK 0x0008
- #define WM8903_IM_GP4_EINT_SHIFT 3
- #define WM8903_IM_GP4_EINT_WIDTH 1
- #define WM8903_IM_GP3_EINT 0x0004
- #define WM8903_IM_GP3_EINT_MASK 0x0004
- #define WM8903_IM_GP3_EINT_SHIFT 2
- #define WM8903_IM_GP3_EINT_WIDTH 1
- #define WM8903_IM_GP2_EINT 0x0002
- #define WM8903_IM_GP2_EINT_MASK 0x0002
- #define WM8903_IM_GP2_EINT_SHIFT 1
- #define WM8903_IM_GP2_EINT_WIDTH 1
- #define WM8903_IM_GP1_EINT 0x0001
- #define WM8903_IM_GP1_EINT_MASK 0x0001
- #define WM8903_IM_GP1_EINT_SHIFT 0
- #define WM8903_IM_GP1_EINT_WIDTH 1
- #define WM8903_MICSHRT_INV 0x8000
- #define WM8903_MICSHRT_INV_MASK 0x8000
- #define WM8903_MICSHRT_INV_SHIFT 15
- #define WM8903_MICSHRT_INV_WIDTH 1
- #define WM8903_MICDET_INV 0x4000
- #define WM8903_MICDET_INV_MASK 0x4000
- #define WM8903_MICDET_INV_SHIFT 14
- #define WM8903_MICDET_INV_WIDTH 1
- #define WM8903_IRQ_POL 0x0001
- #define WM8903_IRQ_POL_MASK 0x0001
- #define WM8903_IRQ_POL_SHIFT 0
- #define WM8903_IRQ_POL_WIDTH 1
- #define WM8903_ADC_DIG_MIC 0x0200
- #define WM8903_ADC_DIG_MIC_MASK 0x0200
- #define WM8903_ADC_DIG_MIC_SHIFT 9
- #define WM8903_ADC_DIG_MIC_WIDTH 1
- #define WM8903_PGA_BIAS_MASK 0x0070
- #define WM8903_PGA_BIAS_SHIFT 4
- #define WM8903_PGA_BIAS_WIDTH 3
- #endif
|