📄 wm8753.h
字号:
#define WM8753_INT_CON_MASK ((WM_REGVAL)(0x03U<<7))
/*
* GPIO Control 1 [GPIOs 4 & 5]
*/
#define WM8753_GPIO_CON_5_INPUT ((WM_REGVAL)(0x00U<<3))
#define WM8753_GPIO_CON_5_INT ((WM_REGVAL)(0x01U<<3))
#define WM8753_GPIO_CON_5_DRIVE_LOW ((WM_REGVAL)(0x02U<<3))
#define WM8753_GPIO_CON_5_DRIVE_HIGH ((WM_REGVAL)(0x03U<<3))
#define WM8753_GPIO_CON_5_MASK ((WM_REGVAL)(0x03U<<3))
#define WM8753_GPIO_CON_4_INPUT ((WM_REGVAL)(0x00U<<0))
#define WM8753_GPIO_CON_4_PULL_DOWN_INPUT ((WM_REGVAL)(0x02U<<0))
#define WM8753_GPIO_CON_4_PULL_UP_INPUT ((WM_REGVAL)(0x03U<<0))
#define WM8753_GPIO_CON_4_DRIVE_LOW ((WM_REGVAL)(0x04U<<0))
#define WM8753_GPIO_CON_4_DRIVE_HIGH ((WM_REGVAL)(0x05U<<0))
#define WM8753_GPIO_CON_4_SDOUT ((WM_REGVAL)(0x06U<<0))
#define WM8753_GPIO_CON_4_INT ((WM_REGVAL)(0x07U<<0))
#define WM8753_GPIO_CON_4_MASK ((WM_REGVAL)(0x07U<<0))
/*
* GPIO Control 2 [GPIOs 1, 2 & 3]
*/
#define WM8753_GPIO_CON_3_INPUT ((WM_REGVAL)(0x00U<<6))
#define WM8753_GPIO_CON_3_DRIVE_LOW ((WM_REGVAL)(0x04U<<6))
#define WM8753_GPIO_CON_3_DRIVE_HIGH ((WM_REGVAL)(0x05U<<6))
#define WM8753_GPIO_CON_3_SDOUT ((WM_REGVAL)(0x06U<<6))
#define WM8753_GPIO_CON_3_INT ((WM_REGVAL)(0x07U<<6))
#define WM8753_GPIO_CON_3_MASK ((WM_REGVAL)(0x07U<<6))
#define WM8753_GPIO_CON_2_DRIVE_LOW ((WM_REGVAL)(0x00U<<3))
#define WM8753_GPIO_CON_2_DRIVE_HIGH ((WM_REGVAL)(0x01U<<3))
#define WM8753_GPIO_CON_2_SDOUT ((WM_REGVAL)(0x02U<<3))
#define WM8753_GPIO_CON_2_INT ((WM_REGVAL)(0x03U<<3))
#define WM8753_GPIO_CON_2_ADC_CLK ((WM_REGVAL)(0x04U<<3))
#define WM8753_GPIO_CON_2_HIFI_DAC_CLK ((WM_REGVAL)(0x05U<<3))
#define WM8753_GPIO_CON_2_ADC_CLK_DIV_2 ((WM_REGVAL)(0x06U<<3))
#define WM8753_GPIO_CON_2_DAC_CLK_DIV_2 ((WM_REGVAL)(0x07U<<3))
#define WM8753_GPIO_CON_2_MASK ((WM_REGVAL)(0x07U<<3))
#define WM8753_GPIO_CON_1_DRIVE_LOW ((WM_REGVAL)(0x00U<<0))
#define WM8753_GPIO_CON_1_DRIVE_HIGH ((WM_REGVAL)(0x01U<<0))
#define WM8753_GPIO_CON_1_SDOUT ((WM_REGVAL)(0x02U<<0))
#define WM8753_GPIO_CON_1_INT ((WM_REGVAL)(0x03U<<0))
#define WM8753_GPIO_CON_1_MASK ((WM_REGVAL)(0x07U<<0))
/*
* Mixer volumes (0x20/0x21/0x22/0x23/0x24/0x25/0x26/0x27)
*/
#define WM8753_BASE_MIXVOL_MASK 0x07
#define WM8753_BASE_MIXVOL_6DB 0x00 /* +6db: 000 */
#define WM8753_BASE_MIXVOL_3DB 0x01 /* +3dB: 001 */
#define WM8753_BASE_MIXVOL_0DB 0x02 /* 0dB: 010 */
#define WM8753_BASE_MIXVOL_M3DB 0x03 /* -3dB: 011 */
#define WM8753_BASE_MIXVOL_M6DB 0x04 /* -6dB: 100 */
#define WM8753_BASE_MIXVOL_M9DB 0x05 /* -9dB: 101 */
#define WM8753_BASE_MIXVOL_M12DB 0x06 /* -12dB: 110 */
#define WM8753_BASE_MIXVOL_M15DB 0x07 /* -15dB: 111 */
#define WM8753_MIXVOL_SHIFT 4 /* LM2LOVOL/RM2ROVOL/MM2MOVOL [6:4] */
#define WM8753_MIXVOL_MASK ((WM_REGVAL)(WM8753_BASE_MIXVOL_MASK << WM8753_MIXVOL_SHIFT))
#define WM8753_MIXVOL_6DB ((WM_REGVAL)(WM8753_BASE_MIXVOL_6DB << WM8753_MIXVOL_SHIFT))
#define WM8753_MIXVOL_3DB ((WM_REGVAL)(WM8753_BASE_MIXVOL_3DB << WM8753_MIXVOL_SHIFT))
#define WM8753_MIXVOL_0DB ((WM_REGVAL)(WM8753_BASE_MIXVOL_0DB << WM8753_MIXVOL_SHIFT))
#define WM8753_MIXVOL_M3DB ((WM_REGVAL)(WM8753_BASE_MIXVOL_M3DB << WM8753_MIXVOL_SHIFT))
#define WM8753_MIXVOL_M6DB ((WM_REGVAL)(WM8753_BASE_MIXVOL_M6DB << WM8753_MIXVOL_SHIFT))
#define WM8753_MIXVOL_M9DB ((WM_REGVAL)(WM8753_BASE_MIXVOL_M9DB << WM8753_MIXVOL_SHIFT))
#define WM8753_MIXVOL_M12DB ((WM_REGVAL)(WM8753_BASE_MIXVOL_M12DB << WM8753_MIXVOL_SHIFT))
#define WM8753_MIXVOL_M15DB ((WM_REGVAL)(WM8753_BASE_MIXVOL_M15DB << WM8753_MIXVOL_SHIFT))
#define WM8753_ST_MIXVOL_SHIFT 4 /* ST2LOVOL/ST2ROVOL/ST2MOVOL [6:4] */
#define WM8753_ST_MIXVOL_MASK ((WM_REGVAL)(WM8753_BASE_MIXVOL_MASK << WM8753_ST_MIXVOL_SHIFT))
#define WM8753_ST_MIXVOL_6DB ((WM_REGVAL)(WM8753_BASE_MIXVOL_6DB << WM8753_ST_MIXVOL_SHIFT))
#define WM8753_ST_MIXVOL_3DB ((WM_REGVAL)(WM8753_BASE_MIXVOL_3DB << WM8753_ST_MIXVOL_SHIFT))
#define WM8753_ST_MIXVOL_0DB ((WM_REGVAL)(WM8753_BASE_MIXVOL_0DB << WM8753_ST_MIXVOL_SHIFT))
#define WM8753_ST_MIXVOL_M3DB ((WM_REGVAL)(WM8753_BASE_MIXVOL_M3DB << WM8753_ST_MIXVOL_SHIFT))
#define WM8753_ST_MIXVOL_M6DB ((WM_REGVAL)(WM8753_BASE_MIXVOL_M6DB << WM8753_ST_MIXVOL_SHIFT))
#define WM8753_ST_MIXVOL_M9DB ((WM_REGVAL)(WM8753_BASE_MIXVOL_M9DB << WM8753_ST_MIXVOL_SHIFT))
#define WM8753_ST_MIXVOL_M12DB ((WM_REGVAL)(WM8753_BASE_MIXVOL_M12DB << WM8753_ST_MIXVOL_SHIFT))
#define WM8753_ST_MIXVOL_M15DB ((WM_REGVAL)(WM8753_BASE_MIXVOL_M15DB << WM8753_ST_MIXVOL_SHIFT))
#define WM8753_VX_MIXVOL_SHIFT 0 /* VXD2LOVOL/VXD2ROVOL/VXD2MOVOL [2:0 */
#define WM8753_VX_MIXVOL_MASK ((WM_REGVAL)(WM8753_BASE_MIXVOL_MASK << WM8753_VX_MIXVOL_SHIFT))
#define WM8753_VX_MIXVOL_6DB ((WM_REGVAL)(WM8753_BASE_MIXVOL_6DB << WM8753_VX_MIXVOL_SHIFT))
#define WM8753_VX_MIXVOL_3DB ((WM_REGVAL)(WM8753_BASE_MIXVOL_3DB << WM8753_VX_MIXVOL_SHIFT))
#define WM8753_VX_MIXVOL_0DB ((WM_REGVAL)(WM8753_BASE_MIXVOL_0DB << WM8753_VX_MIXVOL_SHIFT))
#define WM8753_VX_MIXVOL_M3DB ((WM_REGVAL)(WM8753_BASE_MIXVOL_M3DB << WM8753_VX_MIXVOL_SHIFT))
#define WM8753_VX_MIXVOL_M6DB ((WM_REGVAL)(WM8753_BASE_MIXVOL_M6DB << WM8753_VX_MIXVOL_SHIFT))
#define WM8753_VX_MIXVOL_M9DB ((WM_REGVAL)(WM8753_BASE_MIXVOL_M9DB << WM8753_VX_MIXVOL_SHIFT))
#define WM8753_VX_MIXVOL_M12DB ((WM_REGVAL)(WM8753_BASE_MIXVOL_M12DB << WM8753_VX_MIXVOL_SHIFT))
#define WM8753_VX_MIXVOL_M15DB ((WM_REGVAL)(WM8753_BASE_MIXVOL_M15DB << WM8753_VX_MIXVOL_SHIFT))
#define WM8753_LREC_MIXVOL_SHIFT 0 /* LRECVOL[2:0] */
#define WM8753_LREC_MIXVOL_MASK ((WM_REGVAL)(WM8753_BASE_MIXVOL_MASK << WM8753_LREC_MIXVOL_SHIFT))
#define WM8753_LREC_MIXVOL_6DB ((WM_REGVAL)(WM8753_BASE_MIXVOL_6DB << WM8753_LREC_MIXVOL_SHIFT))
#define WM8753_LREC_MIXVOL_3DB ((WM_REGVAL)(WM8753_BASE_MIXVOL_3DB << WM8753_LREC_MIXVOL_SHIFT))
#define WM8753_LREC_MIXVOL_0DB ((WM_REGVAL)(WM8753_BASE_MIXVOL_0DB << WM8753_LREC_MIXVOL_SHIFT))
#define WM8753_LREC_MIXVOL_M3DB ((WM_REGVAL)(WM8753_BASE_MIXVOL_M3DB << WM8753_LREC_MIXVOL_SHIFT))
#define WM8753_LREC_MIXVOL_M6DB ((WM_REGVAL)(WM8753_BASE_MIXVOL_M6DB << WM8753_LREC_MIXVOL_SHIFT))
#define WM8753_LREC_MIXVOL_M9DB ((WM_REGVAL)(WM8753_BASE_MIXVOL_M9DB << WM8753_LREC_MIXVOL_SHIFT))
#define WM8753_LREC_MIXVOL_M12DB ((WM_REGVAL)(WM8753_BASE_MIXVOL_M12DB << WM8753_LREC_MIXVOL_SHIFT))
#define WM8753_LREC_MIXVOL_M15DB ((WM_REGVAL)(WM8753_BASE_MIXVOL_M15DB << WM8753_LREC_MIXVOL_SHIFT))
#define WM8753_RREC_MIXVOL_SHIFT 4 /* RRECVOL[2:0] */
#define WM8753_RREC_MIXVOL_MASK ((WM_REGVAL)(WM8753_BASE_MIXVOL_MASK << WM8753_RREC_MIXVOL_SHIFT))
#define WM8753_RREC_MIXVOL_6DB ((WM_REGVAL)(WM8753_BASE_MIXVOL_6DB << WM8753_RREC_MIXVOL_SHIFT))
#define WM8753_RREC_MIXVOL_3DB ((WM_REGVAL)(WM8753_BASE_MIXVOL_3DB << WM8753_RREC_MIXVOL_SHIFT))
#define WM8753_RREC_MIXVOL_0DB ((WM_REGVAL)(WM8753_BASE_MIXVOL_0DB << WM8753_RREC_MIXVOL_SHIFT))
#define WM8753_RREC_MIXVOL_M3DB ((WM_REGVAL)(WM8753_BASE_MIXVOL_M3DB << WM8753_RREC_MIXVOL_SHIFT))
#define WM8753_RREC_MIXVOL_M6DB ((WM_REGVAL)(WM8753_BASE_MIXVOL_M6DB << WM8753_RREC_MIXVOL_SHIFT))
#define WM8753_RREC_MIXVOL_M9DB ((WM_REGVAL)(WM8753_BASE_MIXVOL_M9DB << WM8753_RREC_MIXVOL_SHIFT))
#define WM8753_RREC_MIXVOL_M12DB ((WM_REGVAL)(WM8753_BASE_MIXVOL_M12DB << WM8753_RREC_MIXVOL_SHIFT))
#define WM8753_RREC_MIXVOL_M15DB ((WM_REGVAL)(WM8753_BASE_MIXVOL_M15DB << WM8753_RREC_MIXVOL_SHIFT))
#define WM8753_MREC_MIXVOL_SHIFT 0 /* MRECVOL[2:0] */
#define WM8753_MREC_MIXVOL_MASK ((WM_REGVAL)(WM8753_BASE_MIXVOL_MASK << WM8753_MREC_MIXVOL_SHIFT))
#define WM8753_MREC_MIXVOL_6DB ((WM_REGVAL)(WM8753_BASE_MIXVOL_6DB << WM8753_MREC_MIXVOL_SHIFT))
#define WM8753_MREC_MIXVOL_3DB ((WM_REGVAL)(WM8753_BASE_MIXVOL_3DB << WM8753_MREC_MIXVOL_SHIFT))
#define WM8753_MREC_MIXVOL_0DB ((WM_REGVAL)(WM8753_BASE_MIXVOL_0DB << WM8753_MREC_MIXVOL_SHIFT))
#define WM8753_MREC_MIXVOL_M3DB ((WM_REGVAL)(WM8753_BASE_MIXVOL_M3DB << WM8753_MREC_MIXVOL_SHIFT))
#define WM8753_MREC_MIXVOL_M6DB ((WM_REGVAL)(WM8753_BASE_MIXVOL_M6DB << WM8753_MREC_MIXVOL_SHIFT))
#define WM8753_MREC_MIXVOL_M9DB ((WM_REGVAL)(WM8753_BASE_MIXVOL_M9DB << WM8753_MREC_MIXVOL_SHIFT))
#define WM8753_MREC_MIXVOL_M12DB ((WM_REGVAL)(WM8753_BASE_MIXVOL_M12DB << WM8753_MREC_MIXVOL_SHIFT))
#define WM8753_MREC_MIXVOL_M15DB ((WM_REGVAL)(WM8753_BASE_MIXVOL_M15DB << WM8753_MREC_MIXVOL_SHIFT))
/*
* Record mixer routing (0x20/0x21)
*/
#define WM8753_REC_RMIX ((WM_REGVAL)(1U << 7)) /* RSEL */
#define WM8753_REC_LMIX ((WM_REGVAL)(1U << 3)) /* LSEL */
#define WM8753_REC_MMIX ((WM_REGVAL)(1U << 3)) /* MSEL */
/*
* Output mixer routing (0x22/0x23/0x24/0x25/0x26/0x27)
*/
#define WM8753_DAC2OUT ((WM_REGVAL)(1U << 8)) /* LD2LO/RD2RO/LD2MO/RD2MO */
#define WM8753_VXDAC2OUT WM8753_DAC2OUT /* VXD2LO/VXD2RO */
#define WM8753_MIX2OUT ((WM_REGVAL)(1U << 7)) /* LM2LO/RM2RO/MM2MO */
#define WM8753_ST2OUT ((WM_REGVAL)(1U << 7)) /* ST2LO/ST2RO/ST2MO */
#define WM8753_VXD2MO ((WM_REGVAL)(1U << 3)) /* R39 (0x27) */
/*
* OUT volumes (0x28/0x29/0x2A/0x2B/0x2C)
*
* 111_1111 = +6dB
* ... (1.0dB steps)
* 011_0000 = -73dB
* 010_1111 to 000_0000 = Analogue MUTE
*
* For WM8753_OUTVOL - _db should be between 6 and -73, < -73 is mute
*/
#define WM8753_OUTVOL_ZEROCROSS ((WM_REGVAL)(1U << 7)) /* ZC */
#define WM8753_OUTVOL_MASK 0x07F /* LOUT1VOL/ROUT1VOL/LOUT2VOL/ROUT2VOL/MONO2VOL */
#define WM8753_OUTVOL_MAX 0x7F
#define WM8753_OUTVOL_MIN 0x30
#define WM8753_OUTVOL_RANGE (WM8753_OUTVOL_MAX - WM8753_OUTVOL_MIN)
#define WM8753_OUTVOL_0DB 0x79
#define WM8753_OUTVOL(_dB) (WM8753_OUTVOL_0DB + (_dB))
#define WM8753_OUTVOL_MUTE 0x00
/*
* OUTPUT_CONTROL (0x2D)
*/
#define WM8753_MONO2SEL_MASK ((WM_REGVAL)(3U << 7)) /* MONO2SW - [8:7] */
#define WM8753_MONO2SEL_MONO1INV ((WM_REGVAL)(0U << 7)) /* 00: MONO1 inverted */
#define WM8753_MONO2SEL_LMIX_2 ((WM_REGVAL)(1U << 7)) /* 01: LMIX/2 */
#define WM8753_MONO2SEL_RMIX_2 ((WM_REGVAL)(2U << 7)) /* 10: RMIX/2 */
#define WM8753_MONO2SEL_MIXERS_2 ((WM_REGVAL)(3U << 7)) /* 11: (LMIX+RMIX)/2 */
#define WM8753_HPSWITCHENABLE ((WM_REGVAL)(1U << 6)) /* HPSWEN: Enable headphone switch */
#define WM8753_HPSWITCH_HEADPHONE ((WM_REGVAL)(0U << 5)) /* HPSWPOL: GPIO4 high = headphone */
#define WM8753_HPSWITCH_SPEAKER ((WM_REGVAL)(1U << 5)) /* HPSWPOL: GPIO4 high = speaker */
#define WM8753_HPSWITCH_MASK ((WM_REGVAL)(3U << 5)) /* Mask for WM8753_HPSWITCHENABLE | */
/* WM8753_HPSWITCH_SPEAKER | WM8753_HPSWITCH_HEADPHONE */
#define WM8753_THERMALSHUTDOWN_EN ((WM_REGVAL)(1U << 4)) /* TSDEN: Thermal shutdown enable */
#define WM8753_ROUT2INV ((WM_REGVAL)(1U << 2)) /* ROUT2INV */
#define WM8753_VREFOUT_500 ((WM_REGVAL)(0U << 3)) /* VROI: 500 Ohm */
#define WM8753_VREFOUT_90K ((WM_REGVAL)(1U << 3)) /* VROI: 90 kOhm */
#define WM8753_OUT3SEL_MASK ((WM_REGVAL)(3U << 0)) /* OUT3SW - [1:0] */
#define WM8753_OUT3SEL_VREF ((WM_REGVAL)(0U << 0)) /* 00: VREF */
#define WM8753_OUT3SEL_ROUT2 ((WM_REGVAL)(1U << 0)) /* 01: ROUT2 */
#define WM8753_OUT3SEL_MIXERS_2 ((WM_REGVAL)(2U << 0)) /* 10: (LMIX+RMIX)/2 */
/*
* ADC input mode ( 0x2E )
*/
#define WM8753_MONOMIX_MASK ((WM_REGVAL)(3U << 4)) /* MONOMIX - [5:4] */
#define WM8753_MONOMIX_STEREO ((WM_REGVAL)(0U << 4)) /* 00: Stereo */
#define WM8753_MONOMIX_ANALOG_LEFT ((WM_REGVAL)(1U << 4)) /* 01: Analogue Mono Mix (using left ADC) */
#define WM8753_MONOMIX_ANALOG_RIGHT ((WM_REGVAL)(2U << 4)) /* 10: Analogue Mono Mix (using right ADC) */
#define WM8753_MONOMIX_DIGITAL ((WM_REGVAL)(3U << 4)) /* 11: Digital Mono Mix */
#define WM8753_RIGHTADCSEL_MASK ((WM_REGVAL)(3U << 2)) /* RADCSEL - [3:2] */
#define WM8753_RIGHTADCSEL_PGA ((WM_REGVAL)(0U << 2)) /* 00: PGA */
#define WM8753_RIGHTADCSEL_LINE2 ((WM_REGVAL)(1U << 2)) /* 01: LINE2 or RXP-RXN */
#define WM8753_RIGHTADCSEL_RXP_RXN ((WM_REGVAL)(1U << 2)) /* 01: LINE2 or RXP-RXN */
#define WM8753_RIGHTADCSEL_LRM ((WM_REGVAL)(2U << 2)) /* 10: Left + Right + Mono output Mix */
#define WM8753_LEFTADCSEL_MASK ((WM_REGVAL)(3U << 0)) /* LADCSEL - [1:0] */
#define WM8753_LEFTADCSEL_PGA ((WM_REGVAL)(0U << 0)) /* 00: PGA */
#define WM8753_LEFTADCSEL_LINE1 ((WM_REGVAL)(1U << 0)) /* 01: LINE1 or RXP-RXN */
#define WM8753_LEFTADCSEL_RXP_RXN ((WM_REGVAL)(1U << 0)) /* 01: LINE1 or RXP-RXN */
#define WM8753_LEFTADCSEL_LINE1DC ((WM_REGVAL)(2U << 0)) /* 10: LINE1 DC measurement */
/*
* Input Control 1 ( 0x2F )
*/
#define WM8753_MICBOOST_MASK 3U
#define WM8753_MICBOOST_12DB 0U
#define WM8753_MICBOOST_18DB 1U
#define WM8753_MICBOOST_24DB 2U
#define WM8753_MICBOOST_30DB 3U
#define WM8753_MICBOOST_MAX WM8753_MICBOOST_30DB
#define WM8753_MICBOOST_MIN WM8753_MICBOOST_12DB
#define WM8753_MICBOOST_RANGE (WM8753_MICBOOST_MAX - WM8753_MICBOOST_MIN)
#define WM8753_MIC2BOOST_SHIFT 7
#define WM8753_MIC2BOOST_MASK ((WM_REGVAL)(WM8753_MICBOOST_MASK << WM8753_MIC2BOOST_SHIFT)) /* MIC2BOOST - [8:7] */
#define WM8753_MIC2BOOST_12DB ((WM_REGVAL)(WM8753_MICBOOST_12DB << WM8753_MIC2BOOST_SHIFT)) /* 00: +12dB */
#define WM8753_MIC2BOOST_18DB ((WM_REGVAL)(WM8753_MICBOOST_18DB << WM8753_MIC2BOOST_SHIFT)) /* 01: +18dB */
#define WM8753_MIC2BOOST_24DB ((WM_REGVAL)(WM8753_MICBOOST_24DB << WM8753_MIC2BOOST_SHIFT)) /* 10: +24dB */
#define WM8753_MIC2BOOST_30DB ((WM_REGVAL)(WM8753_MICBOOST_30DB << WM8753_MIC2BOOST_SHIFT)) /* 11: +30dB */
#define WM8753_MIC1BOOST_SHIFT 5
#define WM8753_MIC1BOOST_MASK ((WM_REGVAL)(WM8753_MICBOOST_MASK << WM8753_MIC1BOOST_SHIFT)) /* MIC1BOOST - [6:5] */
#define WM8753_MIC1BOOST_12DB ((WM_REGVAL)(WM8753_MICBOOST_12DB << WM8753_MIC1BOOST_SHIFT)) /* 00: +12dB */
#define WM8753_MIC1BOOST_18DB ((WM_REGVAL)(WM8753_MICBOOST_18DB << WM8753_MIC1BOOST_SHIFT)) /* 01: +18dB */
#define WM8753_MIC1BOOST_24DB ((WM_REGVAL)(WM8753_MICBOOST_24DB << WM8753_MIC1BOOST_SHIFT)) /* 10: +24dB */
#define WM8753_MIC1BOOST_30DB ((WM_REGVAL)(WM8753_MICBOOST_30DB << WM8753_MIC1BOOST_SHIFT)) /* 11: +30dB */
#define WM8753_LINEMIXSEL_MASK ((WM_REGVAL)(3U << 3)) /* LMSEL - [4:3] */
#define WM8753_LINEMIXSEL_1PLUS2 ((WM_REGVAL)(0U << 3)) /* 00: LINE1 + LINE2 */
#define WM8753_LINEMIXSEL_MIX WM8753_LINEMIXSEL_1PLUS2
#define WM8753_LINEMIXSEL_1MINUS2 ((WM_REGVAL)(1U << 3)) /* 01: LINE1 - LINE2 */
#define WM8753_LINEMIXSEL_DIFF WM8753_LINEMIXSEL_1MINUS2
#define WM8753_LINEMIXSEL_1ONLY ((WM_REGVAL)(2U << 3)) /* 10: LINE1 (LINE2 disconnected) */
#define WM8753_LINEMIXSEL_2ONLY ((WM_REGVAL)(3U << 3)) /* 11: LINE2 (LINE1 disconnected) */
#define WM8753_MONOMUXSEL_MASK ((WM_REGVAL)(1U << 2)) /* MM: [2] */
#define WM8753_MONOMUXSEL_LINE ((WM_REGVAL)(0U << 2)) /* MM: Line Mix Output */
#define WM8753_MONOMUXSEL_RX ((WM_REGVAL)(1U << 2)) /* MM: Rx Mix Output (RXP +/- RXN) */
#define WM8753_RIGHTMUXSEL_MASK ((WM_REGVAL)(1U << 1)) /* RM: [1] */
#define WM8753_RIGHTMUXSEL_LINE2 ((WM_REGVAL)(0U << 1)) /* RM: LINE 2 */
#define WM8753_RIGHTMUXSEL_RX ((WM_REGVAL)(1U << 1)) /* RM: Rx Mix Output (RXP +/- RXN) */
#define WM8753_LEFTMUXSEL_MASK ((WM_REGVAL)(1U << 0)) /* LM: [0] */
#define WM8753_LEFTMUXSEL_LINE1 ((WM_REGVAL)(0U << 0)) /* LM: LINE 1 */
#define WM8753_LEFTMUXSEL_RX ((WM_REGVAL)(1U << 0)) /* LM: Rx Mix Output (RXP +/- RXN) */
/*
* Input Control 2 (0x30)
*/
#define WM8753_RXMSEL_MASK ((WM_REGVAL)(3U << 6)) /* RXMSEL - [7:6] */
#define WM8753_RXMSEL_RXP_MINUS_RXN ((WM_REGVAL)(0U << 6)) /* 00: RXP - RXN */
#define WM8753_RXMSEL_RXP_PLUS_RXN ((WM_REGVAL)(1U << 6)) /* 01: RXP + RXN */
#define WM8753_RXMSEL_RXP ((WM_REGVAL)(2U << 6)) /* 10: RXP (RXN disconnected) */
#define WM8753_RXMSEL_RXN ((WM_REGVAL)(3U << 6)) /* 11: RXN (RXP disconnected) */
#define WM8753_MICMUX_MASK ((WM_REGVAL)(3U << 4)) /* MICMUX - [5:4] */
#define WM8753_MICMUX_LEFT_PGA ((WM_REGVAL)(0U << 4)) /* 00: Sidetone = Left PGA output */
#define WM8753_MICMUX_MIC1 ((WM_REGVAL)(1U << 4)) /* 01: Sidetone = Mic 1 preamp output */
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -