⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 wm8753.h

📁 SAMSUNG S3C6410 CPU BSP for winmobile6
💻 H
📖 第 1 页 / 共 4 页
字号:
#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 + -