/* SPDX-License-Identifier: GPL-2.0 */ /************************************************/ /* Software Reset and Hardware ID */ /************************************************/ #define CS35L43_DEVID 0x0000000 #define CS35L43_REVID 0x0000004 #define CS35L43_FABID 0x0000008 #define CS35L43_RELID 0x000000C #define CS35L43_OTPID 0x0000010 #define CS35L43_SFT_RESET 0x0000020 /************************************************/ /* Test Register Access */ /************************************************/ #define CS35L43_TEST_KEY_CTRL 0x0000040 #define CS35L43_USER_KEY_CTRL 0x0000044 /************************************************/ /* CTRL_ASYNC */ /************************************************/ #define CS35L43_CTRL_ASYNC0 0x0000050 #define CS35L43_CTRL_ASYNC1 0x0000054 #define CS35L43_CTRL_ASYNC2 0x0000058 #define CS35L43_CTRL_ASYNC3 0x000005C /************************************************/ /* Control Interface Configuration */ /************************************************/ #define CS35L43_CTRL_IF_CONFIG1 0x0000100 #define CS35L43_CTRL_IF_STATUS1 0x0000104 #define CS35L43_CTRL_IF_STATUS2 0x0000108 #define CS35L43_CTRL_IF_CONFIG2 0x0000110 #define CS35L43_CTRL_IF_DEBUG1 0x0000120 #define CS35L43_CTRL_IF_DEBUG2 0x0000124 #define CS35L43_CTRL_IF_DEBUG3 0x0000128 #define CS35L43_CIF_MON1 0x0000140 #define CS35L43_CIF_MON2 0x0000144 #define CS35L43_CIF_MON_PADDR 0x0000148 #define CS35L43_CTRL_IF_SPARE1 0x0000154 #define CS35L43_CTRL_IF_I2C 0x0000158 #define CS35L43_CTRL_IF_I2C_1_CONTROL 0x0000160 #define CS35L43_CTRL_IF_I2C_1_BROADCAST 0x0000164 #define CS35L43_APB_MSTR_DSP_BRIDGE_ERR 0x0000174 #define CS35L43_CIF1_BRIDGE_ERR 0x0000178 #define CS35L43_CIF2_BRIDGE_ERR 0x000017C /************************************************/ /* OTP_IF_MEM */ /************************************************/ #define CS35L43_OTP_MEM0 0x0000400 #define CS35L43_OTP_MEM31 0x000047C /************************************************/ /* One-Time Programmable (OTP) Control */ /************************************************/ #define CS35L43_OTP_CTRL0 0x0000500 #define CS35L43_OTP_CTRL1 0x0000504 #define CS35L43_OTP_CTRL3 0x0000508 #define CS35L43_OTP_CTRL4 0x000050C #define CS35L43_OTP_CTRL5 0x0000510 #define CS35L43_OTP_CTRL6 0x0000514 #define CS35L43_OTP_CTRL7 0x0000518 #define CS35L43_OTP_CTRL8 0x000051C /************************************************/ /* Power, Global, and Release Control */ /************************************************/ #define CS35L43_DEVICE_ID 0x0002004 #define CS35L43_FAB_ID 0x0002008 #define CS35L43_REV_ID 0x000200C #define CS35L43_GLOBAL_ENABLES 0x0002014 #define CS35L43_BLOCK_ENABLES 0x0002018 #define CS35L43_BLOCK_ENABLES2 0x000201C #define CS35L43_GLOBAL_OVERRIDES 0x0002020 #define CS35L43_GLOBAL_SYNC 0x0002024 #define CS35L43_GLOBAL_STATUS 0x0002028 #define CS35L43_DISCH_FILT 0x000202C #define CS35L43_OSC_TRIM 0x0002030 #define CS35L43_ERROR_RELEASE 0x0002034 #define CS35L43_PLL_OVERRIDE 0x0002038 #define CS35L43_CHIP_STATUS 0x0002040 #define CS35L43_CHIP_STATUS2 0x0002044 /************************************************/ /* Digital I/O Pad Control */ /************************************************/ #define CS35L43_LRCK_PAD_CONTROL 0x0002418 #define CS35L43_SCLK_PAD_CONTROL 0x000241C #define CS35L43_SDIN_PAD_CONTROL 0x0002420 #define CS35L43_SDOUT_PAD_CONTROL 0x0002424 #define CS35L43_GPIO_PAD_CONTROL 0x000242C #define CS35L43_GPIO_GLOBAL_ENABLE_CONTROL 0x0002440 /************************************************/ /* Hibernation Power Management */ /************************************************/ #define CS35L43_PWRMGT_CTL 0x0002900 #define CS35L43_WAKESRC_CTL 0x0002904 #define CS35L43_WAKEI2C_CTL 0x0002908 #define CS35L43_PWRMGT_STS 0x000290C #define CS35L43_PWRMGT_RST 0x0002910 #define CS35L43_TEST_CTL 0x0002914 #define CS35L43_WKSRC_SPI 0x200 #define CS35L43_WKSRC_I2C 0x400 /************************************************/ /* Device Clocking and Sample Rate Control */ /************************************************/ #define CS35L43_REFCLK_INPUT 0x0002C04 #define CS35L43_DSP_CLOCK_GEARING 0x0002C08 #define CS35L43_GLOBAL_SAMPLE_RATE 0x0002C0C #define CS35L43_FS_MON_0 0x0002D10 #define CS35L43_DSP1_SAMPLE_RATE_RX1 0x0002D3C #define CS35L43_DSP1_SAMPLE_RATE_RX2 0x0002D40 #define CS35L43_DSP1_SAMPLE_RATE_TX1 0x0002D60 #define CS35L43_DSP1_SAMPLE_RATE_TX2 0x0002D64 /************************************************/ /* Multidevice Synchronization */ /************************************************/ #define CS35L43_SYNC_TX_RX_ENABLES 0x0003400 /************************************************/ /* Digital Boost Converter */ /************************************************/ #define CS35L43_VBST_CTL_1 0x0003800 #define CS35L43_VBST_CTL_2 0x0003804 #define CS35L43_BST_IPK_CTL 0x0003808 #define CS35L43_SOFT_RAMP 0x000380C #define CS35L43_BST_LOOP_COEFF 0x0003810 #define CS35L43_LBST_SLOPE 0x0003814 #define CS35L43_BST_SW_FREQ 0x0003818 #define CS35L43_BST_DCM_CTL 0x000381C #define CS35L43_DCM_FORCE 0x0003820 #define CS35L43_VBST_OVP 0x0003830 /************************************************/ /* VMON and IMON Signal Monitoring */ /************************************************/ #define CS35L43_MONITOR_FILT 0x0004008 /************************************************/ /* Die Temperature Monitoring */ /************************************************/ #define CS35L43_WARN_LIMIT_THRESHOLD 0x0004220 #define CS35L43_CONFIGURATION 0x0004224 #define CS35L43_STATUS 0x0004300 #define CS35L43_ENABLES_AND_CODES_ANA 0x0004304 #define CS35L43_ENABLES_AND_CODES_DIG 0x0004308 /************************************************/ /* ASP Data Interface */ /************************************************/ #define CS35L43_ASP_ENABLES1 0x0004800 #define CS35L43_ASP_CONTROL1 0x0004804 #define CS35L43_ASP_CONTROL2 0x0004808 #define CS35L43_ASP_CONTROL3 0x000480C #define CS35L43_ASP_FRAME_CONTROL1 0x0004810 #define CS35L43_ASP_FRAME_CONTROL5 0x0004820 #define CS35L43_ASP_DATA_CONTROL1 0x0004830 #define CS35L43_ASP_DATA_CONTROL5 0x0004840 /************************************************/ /* Data Routing */ /************************************************/ #define CS35L43_DACPCM1_INPUT 0x0004C00 #define CS35L43_DACPCM2_INPUT 0x0004C08 #define CS35L43_ASPTX1_INPUT 0x0004C20 #define CS35L43_ASPTX2_INPUT 0x0004C24 #define CS35L43_ASPTX3_INPUT 0x0004C28 #define CS35L43_ASPTX4_INPUT 0x0004C2C #define CS35L43_DSP1RX1_INPUT 0x0004C40 #define CS35L43_DSP1RX2_INPUT 0x0004C44 #define CS35L43_DSP1RX3_INPUT 0x0004C48 #define CS35L43_DSP1RX4_INPUT 0x0004C4C #define CS35L43_DSP1RX5_INPUT 0x0004C50 #define CS35L43_DSP1RX6_INPUT 0x0004C54 #define CS35L43_NGATE1_INPUT 0x0004C60 #define CS35L43_NGATE2_INPUT 0x0004C64 /************************************************/ /* Amplifier Volume Control */ /************************************************/ #define CS35L43_AMP_CTRL 0x0006000 #define CS35L43_HPF_TST 0x0006004 #define CS35L43_VC_TST1 0x0006008 #define CS35L43_VC_TST2 0x000600C #define CS35L43_INTP_TST 0x0006010 /************************************************/ /* SRC_MAGCOMP */ /************************************************/ #define CS35L43_SRC_MAGCOMP_TST 0x0006200 #define CS35L43_SRC_MAGCOMP_B0_OVERRIDE 0x0006204 #define CS35L43_SRC_MAGCOMP_B1_OVERRIDE 0x0006208 #define CS35L43_SRC_MAGCOMP_A1_N_OVERRIDE 0x000620C /************************************************/ /* VP and VBST Brownout Prevention + Temp Warning */ /************************************************/ #define CS35L43_VPBR_CONFIG 0x0006404 #define CS35L43_VBBR_CONFIG 0x0006408 #define CS35L43_VPBR_STATUS 0x000640C #define CS35L43_VBBR_STATUS 0x0006410 #define CS35L43_OTW_CONFIG 0x0006414 #define CS35L43_AMP_ERROR_VOL_SEL 0x0006418 #define CS35L43_VOL_STATUS_TO_DSP 0x0006450 /************************************************/ /* Power Management - Class H, Weak-FET, and Noise Gating */ /************************************************/ #define CS35L43_CLASSH_CONFIG 0x0006800 #define CS35L43_WKFET_AMP_CONFIG 0x0006804 #define CS35L43_NG_CONFIG 0x0006808 /************************************************/ /* Dynamic Range Enhancement */ /************************************************/ #define CS35L43_AMP_GAIN 0x0006C04 /************************************************/ /* Diagnostic Signal Generator */ /************************************************/ #define CS35L43_DAC_MSM_CONFIG 0x0007400 #define CS35L43_TST_DAC_MSM_CONFIG 0x0007404 #define CS35L43_ALIVE_DCIN_WD 0x0007424 /************************************************/ /* Interrupt Status and Mask Control */ /************************************************/ #define CS35L43_IRQ1_CFG 0x0010000 #define CS35L43_IRQ1_STATUS 0x0010004 #define CS35L43_IRQ1_EINT_1 0x0010010 #define CS35L43_IRQ1_EINT_2 0x0010014 #define CS35L43_IRQ1_EINT_3 0x0010018 #define CS35L43_IRQ1_EINT_4 0x001001C #define CS35L43_IRQ1_EINT_5 0x0010020 #define CS35L43_IRQ1_STS_1 0x0010090 #define CS35L43_IRQ1_STS_2 0x0010094 #define CS35L43_IRQ1_STS_3 0x0010098 #define CS35L43_IRQ1_STS_4 0x001009C #define CS35L43_IRQ1_STS_5 0x00100A0 #define CS35L43_IRQ1_MASK_1 0x0010110 #define CS35L43_IRQ1_MASK_2 0x0010114 #define CS35L43_IRQ1_MASK_3 0x0010118 #define CS35L43_IRQ1_MASK_4 0x001011C #define CS35L43_IRQ1_MASK_5 0x0010120 #define CS35L43_IRQ1_FRC_1 0x0010190 #define CS35L43_IRQ1_FRC_2 0x0010194 #define CS35L43_IRQ1_FRC_3 0x0010198 #define CS35L43_IRQ1_FRC_4 0x001019C #define CS35L43_IRQ1_FRC_5 0x00101A0 #define CS35L43_IRQ1_EDGE_1 0x0010210 #define CS35L43_IRQ1_EDGE_4 0x001021C #define CS35L43_IRQ1_POL_1 0x0010290 #define CS35L43_IRQ1_POL_2 0x0010294 #define CS35L43_IRQ1_POL_3 0x0010298 #define CS35L43_IRQ1_POL_4 0x001029C #define CS35L43_IRQ1_DB_2 0x0010314 /************************************************/ /* GPIO Control */ /************************************************/ #define CS35L43_GPIO_STATUS1 0x0011000 #define CS35L43_GPIO_FORCE 0x0011004 #define CS35L43_GPIO1_CTRL1 0x0011008 #define CS35L43_GPIO2_CTRL1 0x001100C #define CS35L43_GPIO3_CTRL1 0x0011010 #define CS35L43_GPIO4_CTRL1 0x0011014 /************************************************/ /* DSP Noise Gate Control */ /************************************************/ #define CS35L43_MIXER_NGATE_CFG 0x0012000 #define CS35L43_MIXER_NGATE_CH1_CFG 0x0012004 #define CS35L43_MIXER_NGATE_CH2_CFG 0x0012008 /************************************************/ /* DSP scratch space */ /************************************************/ #define CS35L43_DSP_MBOX_1 0x0013000 #define CS35L43_DSP_MBOX_2 0x0013004 #define CS35L43_DSP_MBOX_3 0x0013008 #define CS35L43_DSP_MBOX_4 0x001300C #define CS35L43_DSP_MBOX_5 0x0013010 #define CS35L43_DSP_MBOX_6 0x0013014 #define CS35L43_DSP_MBOX_7 0x0013018 #define CS35L43_DSP_MBOX_8 0x001301C /************************************************/ /* DSP virtual 1 scratch space */ /************************************************/ #define CS35L43_DSP_VIRTUAL1_MBOX_1 0x0013020 #define CS35L43_DSP_VIRTUAL1_MBOX_2 0x0013024 #define CS35L43_DSP_VIRTUAL1_MBOX_3 0x0013028 #define CS35L43_DSP_VIRTUAL1_MBOX_4 0x001302C #define CS35L43_DSP_VIRTUAL1_MBOX_5 0x0013030 #define CS35L43_DSP_VIRTUAL1_MBOX_6 0x0013034 #define CS35L43_DSP_VIRTUAL1_MBOX_7 0x0013038 #define CS35L43_DSP_VIRTUAL1_MBOX_8 0x001303C /************************************************/ /* DSP virtual 2 scratch space */ /************************************************/ #define CS35L43_DSP_VIRTUAL2_MBOX_1 0x0013040 #define CS35L43_DSP_VIRTUAL2_MBOX_2 0x0013044 #define CS35L43_DSP_VIRTUAL2_MBOX_3 0x0013048 #define CS35L43_DSP_VIRTUAL2_MBOX_4 0x001304C #define CS35L43_DSP_VIRTUAL2_MBOX_5 0x0013050 #define CS35L43_DSP_VIRTUAL2_MBOX_6 0x0013054 #define CS35L43_DSP_VIRTUAL2_MBOX_7 0x0013058 #define CS35L43_DSP_VIRTUAL2_MBOX_8 0x001305C /************************************************/ /* Halo X Memory */ /************************************************/ #define CS35L43_DSP1_XMEM_PACKED_0 0x2000000 #define CS35L43_DSP1_XMEM_PACKED_6143 0x2005FFC #define CS35L43_DSP1_XMEM_UNPACKED32_0 0x2400000 #define CS35L43_DSP1_XMEM_UNPACKED32_4095 0x2403FFC #define CS35L43_DSP1_XMEM_UNPACKED24_0 0x2800000 #define CS35L43_DSP1_XMEM_UNPACKED24_8191 0x2807FFC #define CS35L43_DSP1_XROM_UNPACKED24_0 0x2808000 #define CS35L43_DSP1_XROM_UNPACKED24_6141 0x280DFF4 /************************************************/ /* Halo Control */ /************************************************/ #define CS35L43_DSP1_SYS_INFO_ID 0x25E0000 #define CS35L43_DSP1_CLOCK_FREQ 0x2B80000 #define CS35L43_DSP1_SCRATCH1 0x2B805C0 #define CS35L43_DSP1_SCRATCH2 0x2B805C8 #define CS35L43_DSP1_SCRATCH3 0x2B805D0 #define CS35L43_DSP1_SCRATCH4 0x2B805D8 #define CS35L43_DSP1_CCM_CORE_CONTROL 0x2BC1000 /************************************************/ /* Halo Y Memory */ /************************************************/ #define CS35L43_DSP1_YMEM_PACKED_0 0x2C00000 #define CS35L43_DSP1_YMEM_PACKED_1532 0x2C017F0 #define CS35L43_DSP1_YMEM_UNPACKED32_0 0x3000000 #define CS35L43_DSP1_YMEM_UNPACKED32_1022 0x3000FF8 #define CS35L43_DSP1_YMEM_UNPACKED24_0 0x3400000 #define CS35L43_DSP1_YMEM_UNPACKED24_2045 0x3401FF4 /************************************************/ /* Halo P Memory */ /************************************************/ #define CS35L43_DSP1_PMEM_0 0x3800000 #define CS35L43_DSP1_PMEM_5114 0x3804FE8 /* #####################################################*/ /* Fields */ /* #####################################################*/ /************************************************/ /* Power Control 2 */ /************************************************/ #define CS35L43_IMON_EN_MASK 0x00002000 #define CS35L43_IMON_EN_SHIFT 13 #define CS35L43_IMON_EN_WIDTH 1 #define CS35L43_VMON_EN_MASK 0x00001000 #define CS35L43_VMON_EN_SHIFT 12 #define CS35L43_VMON_EN_WIDTH 1 #define CS35L43_TEMPMON_EN_MASK 0x00000400 #define CS35L43_TEMPMON_EN_SHIFT 10 #define CS35L43_TEMPMON_EN_WIDTH 1 #define CS35L43_VBSTMON_EN_MASK 0x00000200 #define CS35L43_VBSTMON_EN_SHIFT 9 #define CS35L43_VBSTMON_EN_WIDTH 1 #define CS35L43_VPMON_EN_MASK 0x00000100 #define CS35L43_VPMON_EN_SHIFT 8 #define CS35L43_VPMON_EN_WIDTH 1 #define CS35L43_BST_EN_MASK 0x00000030 #define CS35L43_BST_EN_SHIFT 4 #define CS35L43_BST_EN_WIDTH 2 #define CS35L43_AMP_EN_MASK 0x00000001 #define CS35L43_AMP_EN_SHIFT 0 #define CS35L43_AMP_EN_WIDTH 1 #define CS35L43_BST_EN_DEFAULT 2 /************************************************/ /* Power Control 3 */ /************************************************/ #define CS35L43_WKFET_AMP_EN_MASK 0x01000000 #define CS35L43_WKFET_AMP_EN_SHIFT 24 #define CS35L43_AMP_DRE_EN_MASK 0x00100000 #define CS35L43_AMP_DRE_EN_SHIFT 20 #define CS35L43_VPI_LIM_EN_MASK 0x00010000 #define CS35L43_VPI_LIM_EN_SHIFT 16 #define CS35L43_VBBR_EN_MASK 0x00002000 #define CS35L43_VBBR_EN_SHIFT 13 #define CS35L43_VPBR_EN_MASK 0x00001000 #define CS35L43_VPBR_EN_SHIFT 12 #define CS35L43_SYNC_EN_MASK 0x00000100 #define CS35L43_SYNC_EN_SHIFT 8 #define CS35L43_CLASSH_EN_MASK 0x00000010 #define CS35L43_CLASSH_EN_SHIFT 4 /************************************************/ /* Global Sync */ /************************************************/ #define CS35L43_AMP_MUTE_SHIFT 4 /************************************************/ /* Hibernation Control */ /************************************************/ #define CS35L43_MEM_RDY 0x00000002 #define CS35L43_WKSRC_STS_MASK 0x000003F0 /************************************************/ /* Global Clocking Control */ /************************************************/ #define CS35L43_GLOBAL_FS_MASK 0x0000001F #define CS35L43_GLOBAL_FS_SHIFT 0 #define CS35L43_GLOBAL_FS_WIDTH 5 #define CS35L43_FS1_START_WINDOW_MASK 0x00000FFF #define CS35L43_FS2_START_WINDOW_SHIFT 12 #define CS35L43_FS2_START_WINDOW_MASK 0x00FFF000 /************************************************/ /* PLL Clocking Control */ /************************************************/ #define CS35L43_PLL_FORCE_EN_MASK 0x00010000 #define CS35L43_PLL_FORCE_EN_SHIFT 16 #define CS35L43_PLL_FORCE_EN_WIDTH 1 #define CS35L43_PLL_OPEN_LOOP_MASK 0x00000800 #define CS35L43_PLL_OPEN_LOOP_SHIFT 11 #define CS35L43_PLL_OPEN_LOOP_WIDTH 1 #define CS35L43_PLL_REFCLK_FREQ_MASK 0x000007E0 #define CS35L43_PLL_REFCLK_FREQ_SHIFT 5 #define CS35L43_PLL_REFCLK_FREQ_WIDTH 6 #define CS35L43_PLL_REFCLK_EN_MASK 0x00000010 #define CS35L43_PLL_REFCLK_EN_SHIFT 4 #define CS35L43_PLL_REFCLK_EN_WIDTH 1 #define CS35L43_PLL_REFCLK_SEL_MASK 0x00000007 #define CS35L43_PLL_REFCLK_SEL_SHIFT 0 #define CS35L43_PLL_REFCLK_SEL_WIDTH 3 /************************************************/ /* GPIO Pad Interface Control */ /************************************************/ #define CS35L43_GP2_CTRL_MASK 0x07000000 #define CS35L43_GP2_CTRL_SHIFT 24 #define CS35L43_GP1_CTRL_MASK 0x00070000 #define CS35L43_GP1_CTRL_SHIFT 16 /************************************************/ /* GPIO_GPIO1_CTRL1 */ /************************************************/ #define CS35L43_GP1_DIR_MASK 0x80000000 #define CS35L43_GP1_DIR_SHIFT 31 #define CS35L43_GP1_DBTIME_MASK 0x000F0000 #define CS35L43_GP1_DBTIME_SHIFT 16 #define CS35L43_GP1_LVL_MASK 0x00008000 #define CS35L43_GP1_LVL_SHIFT 15 #define CS35L43_GP1_DB_MASK 0x00002000 #define CS35L43_GP1_DB_SHIFT 13 #define CS35L43_GP1_POL_MASK 0x00001000 #define CS35L43_GP1_POL_SHIFT 12 #define CS35L43_GP1_FN_MASK 0x0000007F #define CS35L43_GP1_FN_SHIFT 0 /************************************************/ /* GPIO_GPIO2_CTRL1 */ /************************************************/ #define CS35L43_GP2_DIR_MASK 0x80000000 #define CS35L43_GP2_DIR_SHIFT 31 #define CS35L43_GP2_DBTIME_MASK 0x000F0000 #define CS35L43_GP2_DBTIME_SHIFT 16 #define CS35L43_GP2_LVL_MASK 0x00008000 #define CS35L43_GP2_LVL_SHIFT 15 #define CS35L43_GP2_DB_MASK 0x00002000 #define CS35L43_GP2_DB_SHIFT 13 #define CS35L43_GP2_POL_MASK 0x00001000 #define CS35L43_GP2_POL_SHIFT 12 #define CS35L43_GP2_FN_MASK 0x0000007F #define CS35L43_GP2_FN_SHIFT 0 #define CS35L43_GP2_CTRL_OPEN_DRAIN_ACTV_LO 2 #define CS35L43_GP2_CTRL_PUSH_PULL_ACTV_LO 4 #define CS35L43_GP2_CTRL_PUSH_PULL_ACTV_HI 5 /************************************************/ /* Digital Boost Converter */ /************************************************/ /************************************************/ /* Boost Converter Voltage Control 1 */ /************************************************/ #define CS35L43_BST_CTL_MASK 0x000000FF #define CS35L43_BST_CTL_SHIFT 0 /************************************************/ /* Boost Converter Voltage Control 2 */ /************************************************/ #define CS35L43_BST_CTL_EXT_EN_MASK 0x00000100 #define CS35L43_BST_CTL_EXT_EN_SHIFT 8 #define CS35L43_BST_CTL_LIM_EN_MASK 0x00000004 #define CS35L43_BST_CTL_LIM_EN_SHIFT 2 #define CS35L43_BST_CTL_SEL_MASK 0x00000003 #define CS35L43_BST_CTL_SEL_SHIFT 0 /************************************************/ /* Boost Converter Peak Current */ /************************************************/ #define CS35L43_BST_IPK_MASK 0x0000007F #define CS35L43_BST_IPK_SHIFT 0 /************************************************/ /* DATAIF_ASP_ENABLES1 */ /************************************************/ #define CS35L43_ASP_RX3_EN_MASK 0x00040000 #define CS35L43_ASP_RX3_EN_SHIFT 18 #define CS35L43_ASP_RX3_EN_WIDTH 1 #define CS35L43_ASP_RX2_EN_MASK 0x00020000 #define CS35L43_ASP_RX2_EN_SHIFT 17 #define CS35L43_ASP_RX2_EN_WIDTH 1 #define CS35L43_ASP_RX1_EN_MASK 0x00010000 #define CS35L43_ASP_RX1_EN_SHIFT 16 #define CS35L43_ASP_RX1_EN_WIDTH 1 #define CS35L43_ASP_TX4_EN_MASK 0x00000008 #define CS35L43_ASP_TX4_EN_SHIFT 3 #define CS35L43_ASP_TX4_EN_WIDTH 1 #define CS35L43_ASP_TX3_EN_MASK 0x00000004 #define CS35L43_ASP_TX3_EN_SHIFT 2 #define CS35L43_ASP_TX3_EN_WIDTH 1 #define CS35L43_ASP_TX2_EN_MASK 0x00000002 #define CS35L43_ASP_TX2_EN_SHIFT 1 #define CS35L43_ASP_TX2_EN_WIDTH 1 #define CS35L43_ASP_TX1_EN_MASK 0x00000001 #define CS35L43_ASP_TX1_EN_SHIFT 0 #define CS35L43_ASP_TX1_EN_WIDTH 1 /************************************************/ /* DATAIF_ASP_CONTROL1 */ /************************************************/ #define CS35L43_ASP_BCLK_FREQ_MASK 0x0000003F #define CS35L43_ASP_BCLK_FREQ_SHIFT 0 #define CS35L43_ASP_BCLK_FREQ_WIDTH 6 /************************************************/ /* DATAIF_ASP_CONTROL2 */ /************************************************/ #define CS35L43_ASP_RX_WIDTH_MASK 0xFF000000 #define CS35L43_ASP_RX_WIDTH_SHIFT 24 #define CS35L43_ASP_RX_WIDTH_WIDTH 8 #define CS35L43_ASP_TX_WIDTH_MASK 0x00FF0000 #define CS35L43_ASP_TX_WIDTH_SHIFT 16 #define CS35L43_ASP_TX_WIDTH_WIDTH 8 #define CS35L43_ASP_FMT_MASK 0x00000700 #define CS35L43_ASP_FMT_SHIFT 8 #define CS35L43_ASP_FMT_WIDTH 3 #define CS35L43_ASP_BCLK_INV_MASK 0x00000040 #define CS35L43_ASP_BCLK_INV_SHIFT 6 #define CS35L43_ASP_BCLK_INV_WIDTH 1 #define CS35L43_ASP_BCLK_FRC_MASK 0x00000020 #define CS35L43_ASP_BCLK_FRC_SHIFT 5 #define CS35L43_ASP_BCLK_FRC_WIDTH 1 #define CS35L43_ASP_BCLK_MSTR_MASK 0x00000010 #define CS35L43_ASP_BCLK_MSTR_SHIFT 4 #define CS35L43_ASP_BCLK_MSTR_WIDTH 1 #define CS35L43_ASP_FSYNC_INV_MASK 0x00000004 #define CS35L43_ASP_FSYNC_INV_SHIFT 2 #define CS35L43_ASP_FSYNC_INV_WIDTH 1 #define CS35L43_ASP_FSYNC_FRC_MASK 0x00000002 #define CS35L43_ASP_FSYNC_FRC_SHIFT 1 #define CS35L43_ASP_FSYNC_FRC_WIDTH 1 #define CS35L43_ASP_FSYNC_MSTR_MASK 0x00000001 #define CS35L43_ASP_FSYNC_MSTR_SHIFT 0 #define CS35L43_ASP_FSYNC_MSTR_WIDTH 1 /************************************************/ /* DATAIF_ASP_CONTROL3 */ /************************************************/ #define CS35L41_ASP_DOUT_HIZ_CTRL_SHIFT 0 #define CS35L41_ASP_DOUT_HIZ_CTRL_MASK 0x00000003 /************************************************/ /* DATAIF_ASP_DATA_CONTROL1 */ /************************************************/ #define CS35L43_ASP_TX_WL_MASK 0x0000003F #define CS35L43_ASP_TX_WL_SHIFT 0 #define CS35L43_ASP_TX_WL_WIDTH 6 /************************************************/ /* DATAIF_ASP_DATA_CONTROL5 */ /************************************************/ #define CS35L43_ASP_RX_WL_MASK 0x0000003F #define CS35L43_ASP_RX_WL_SHIFT 0 #define CS35L43_ASP_RX_WL_WIDTH 6 #define CS35L43_INPUT_SRC_ASPRX1 0x08 #define CS35L43_INPUT_SRC_ASPRX2 0x09 #define CS35L43_INPUT_SRC_VMON 0x18 #define CS35L43_INPUT_SRC_IMON 0x19 #define CS35L43_INPUT_SRC_VMON_FS2 0x1A #define CS35L43_INPUT_SRC_IMON_FS2 0x1B #define CS35L43_INPUT_SRC_CLASSH 0x21 #define CS35L43_INPUT_SRC_VPMON 0x28 #define CS35L43_INPUT_SRC_VBSTMON 0x29 #define CS35L43_INPUT_SRC_TEMPMON 0x3A #define CS35L43_INPUT_DSP_TX1 0x32 #define CS35L43_INPUT_DSP_TX2 0x33 #define CS35L43_INPUT_DSP_TX3 0x34 #define CS35L43_INPUT_DSP_TX4 0x35 #define CS35L43_INPUT_DSP_TX5 0x36 #define CS35L43_INPUT_DSP_TX6 0x37 #define CS35L43_INPUT_MASK 0x3F /************************************************/ /* DAC_MSM_ALIVE_DCIN_WD */ /************************************************/ #define CS35L43_WD_MODE_MASK 0x00000C00 #define CS35L43_WD_MODE_SHIFT 10 #define CS35L43_DCIN_WD_DUR_MASK 0x00000380 #define CS35L43_DCIN_WD_DUR_SHIFT 7 #define CS35L43_DCIN_WD_THLD_MASK 0x0000007E #define CS35L43_DCIN_WD_THLD_SHIFT 1 #define CS35L43_DCIN_WD_EN_MASK 0x00000001 #define CS35L43_DCIN_WD_EN_SHIFT 0 /************************************************/ /* VPBR Configuration */ /************************************************/ #define CS35L43_VPBR_REL_RATE_MASK 0x00E00000 #define CS35L43_VPBR_REL_RATE_SHIFT 21 #define CS35L43_VPBR_WAIT_MASK 0x00180000 #define CS35L43_VPBR_WAIT_SHIFT 19 #define CS35L43_VPBR_ATK_RATE_MASK 0x00070000 #define CS35L43_VPBR_ATK_RATE_SHIFT 16 #define CS35L43_VPBR_ATK_VOL_MASK 0x0000F000 #define CS35L43_VPBR_ATK_VOL_SHIFT 12 #define CS35L43_VPBR_MAX_ATT_MASK 0x00000F00 #define CS35L43_VPBR_MAX_ATT_SHIFT 8 #define CS35L43_VPBR_THLD1_MASK 0x0000001F #define CS35L43_VPBR_THLD1_SHIFT 0 /************************************************/ /* IRQ1_IRQ1_EINT_1 */ /************************************************/ #define CS35L43_DSP_VIRTUAL2_MBOX_WR_EINT1_MASK 0x80000000 #define CS35L43_DSP_VIRTUAL2_MBOX_WR_EINT1_SHIFT 31 #define CS35L43_DSP_VIRTUAL1_MBOX_WR_EINT1_MASK 0x40000000 #define CS35L43_DSP_VIRTUAL1_MBOX_WR_EINT1_SHIFT 30 #define CS35L43_DC_WATCHDOG_IRQ_FALL_EINT1_MASK 0x20000000 #define CS35L43_DC_WATCHDOG_IRQ_FALL_EINT1_SHIFT 29 #define CS35L43_DC_WATCHDOG_IRQ_RISE_EINT1_MASK 0x10000000 #define CS35L43_DC_WATCHDOG_IRQ_RISE_EINT1_SHIFT 28 #define CS35L43_AMP_ERR_EINT1_MASK 0x08000000 #define CS35L43_AMP_ERR_EINT1_SHIFT 27 #define CS35L43_TEMP_ERR_EINT1_MASK 0x04000000 #define CS35L43_TEMP_ERR_EINT1_SHIFT 26 #define CS35L43_TEMP_WARN_FALL_EINT1_MASK 0x02000000 #define CS35L43_TEMP_WARN_FALL_EINT1_SHIFT 25 #define CS35L43_TEMP_WARN_RISE_EINT1_MASK 0x01000000 #define CS35L43_TEMP_WARN_RISE_EINT1_SHIFT 24 #define CS35L43_BST_IPK_FLAG_EINT1_MASK 0x00800000 #define CS35L43_BST_IPK_FLAG_EINT1_SHIFT 23 #define CS35L43_BST_SHORT_ERR_EINT1_MASK 0x00400000 #define CS35L43_BST_SHORT_ERR_EINT1_SHIFT 22 #define CS35L43_BST_DCM_UVP_ERR_EINT1_MASK 0x00200000 #define CS35L43_BST_DCM_UVP_ERR_EINT1_SHIFT 21 #define CS35L43_BST_OVP_ERR_EINT1_MASK 0x00100000 #define CS35L43_BST_OVP_ERR_EINT1_SHIFT 20 #define CS35L43_BST_OVP_FLAG_FALL_EINT1_MASK 0x00080000 #define CS35L43_BST_OVP_FLAG_FALL_EINT1_SHIFT 19 #define CS35L43_BST_OVP_FLAG_RISE_EINT1_MASK 0x00040000 #define CS35L43_BST_OVP_FLAG_RISE_EINT1_SHIFT 18 #define CS35L43_MSM_PUP_DONE_EINT1_MASK 0x00020000 #define CS35L43_MSM_PUP_DONE_EINT1_SHIFT 17 #define CS35L43_MSM_PDN_DONE_EINT1_MASK 0x00010000 #define CS35L43_MSM_PDN_DONE_EINT1_SHIFT 16 #define CS35L43_MSM_GLOBAL_EN_ASSERT_EINT1_MASK 0x00008000 #define CS35L43_MSM_GLOBAL_EN_ASSERT_EINT1_SHIFT 15 #define CS35L43_WKSRC_STATUS6_EINT1_MASK 0x00004000 #define CS35L43_WKSRC_STATUS6_EINT1_SHIFT 14 #define CS35L43_WKSRC_STATUS5_EINT1_MASK 0x00002000 #define CS35L43_WKSRC_STATUS5_EINT1_SHIFT 13 #define CS35L43_WKSRC_STATUS4_EINT1_MASK 0x00001000 #define CS35L43_WKSRC_STATUS4_EINT1_SHIFT 12 #define CS35L43_WKSRC_STATUS3_EINT1_MASK 0x00000800 #define CS35L43_WKSRC_STATUS3_EINT1_SHIFT 11 #define CS35L43_WKSRC_STATUS2_EINT1_MASK 0x00000400 #define CS35L43_WKSRC_STATUS2_EINT1_SHIFT 10 #define CS35L43_WKSRC_STATUS1_EINT1_MASK 0x00000200 #define CS35L43_WKSRC_STATUS1_EINT1_SHIFT 9 #define CS35L43_WKSRC_STATUS_ANY_EINT1_MASK 0x00000100 #define CS35L43_WKSRC_STATUS_ANY_EINT1_SHIFT 8 #define CS35L43_IRQ1_EINT_1_GPIO4_FALL_EINT1_MASK 0x00000080 #define CS35L43_IRQ1_EINT_1_GPIO4_FALL_EINT1_SHIFT 7 #define CS35L43_IRQ1_EINT_1_GPIO4_RISE_EINT1_MASK 0x00000040 #define CS35L43_IRQ1_EINT_1_GPIO4_RISE_EINT1_SHIFT 6 #define CS35L43_IRQ1_EINT_1_GPIO3_FALL_EINT1_MASK 0x00000020 #define CS35L43_IRQ1_EINT_1_GPIO3_FALL_EINT1_SHIFT 5 #define CS35L43_IRQ1_EINT_1_GPIO3_RISE_EINT1_MASK 0x00000010 #define CS35L43_IRQ1_EINT_1_GPIO3_RISE_EINT1_SHIFT 4 #define CS35L43_GPIO2_FALL_EINT1_MASK 0x00000008 #define CS35L43_GPIO2_FALL_EINT1_SHIFT 3 #define CS35L43_GPIO2_RISE_EINT1_MASK 0x00000004 #define CS35L43_GPIO2_RISE_EINT1_SHIFT 2 #define CS35L43_GPIO1_FALL_EINT1_MASK 0x00000002 #define CS35L43_GPIO1_FALL_EINT1_SHIFT 1 #define CS35L43_GPIO1_RISE_EINT1_MASK 0x00000001 #define CS35L43_GPIO1_RISE_EINT1_SHIFT 0 /************************************************/ /* IRQ1_IRQ1_EINT_2 */ /************************************************/ #define CS35L43_PWRMGT_SYNC_ERR_EINT1_MASK 0x20000000 #define CS35L43_PWRMGT_SYNC_ERR_EINT1_SHIFT 29 #define CS35L43_TIMER_CH2_EINT1_MASK 0x10000000 #define CS35L43_TIMER_CH2_EINT1_SHIFT 28 #define CS35L43_TIMER_CH1_EINT1_MASK 0x08000000 #define CS35L43_TIMER_CH1_EINT1_SHIFT 27 #define CS35L43_IMON_CLIPPED_EINT1_MASK 0x04000000 #define CS35L43_IMON_CLIPPED_EINT1_SHIFT 26 #define CS35L43_VMON_CLIPPED_EINT1_MASK 0x02000000 #define CS35L43_VMON_CLIPPED_EINT1_SHIFT 25 #define CS35L43_VBSTMON_CLIPPED_EINT1_MASK 0x01000000 #define CS35L43_VBSTMON_CLIPPED_EINT1_SHIFT 24 #define CS35L43_VPMON_CLIPPED_EINT1_MASK 0x00800000 #define CS35L43_VPMON_CLIPPED_EINT1_SHIFT 23 #define CS35L43_I2C_NACK_ERR_EINT1_MASK 0x00400000 #define CS35L43_I2C_NACK_ERR_EINT1_SHIFT 22 #define CS35L43_INTP_VC_DONE_EINT1_MASK 0x00200000 #define CS35L43_INTP_VC_DONE_EINT1_SHIFT 21 #define CS35L43_VBBR_ATT_CLR_EINT1_MASK 0x00100000 #define CS35L43_VBBR_ATT_CLR_EINT1_SHIFT 20 #define CS35L43_VBBR_FLAG_EINT1_MASK 0x00080000 #define CS35L43_VBBR_FLAG_EINT1_SHIFT 19 #define CS35L43_VPBR_ATT_CLR_EINT1_MASK 0x00040000 #define CS35L43_VPBR_ATT_CLR_EINT1_SHIFT 18 #define CS35L43_VPBR_FLAG_EINT1_MASK 0x00020000 #define CS35L43_VPBR_FLAG_EINT1_SHIFT 17 #define CS35L43_AMP_NG_ON_FALL_EINT1_MASK 0x00010000 #define CS35L43_AMP_NG_ON_FALL_EINT1_SHIFT 16 #define CS35L43_AMP_NG_ON_RISE_EINT1_MASK 0x00008000 #define CS35L43_AMP_NG_ON_RISE_EINT1_SHIFT 15 #define CS35L43_AUX_NG_CH2_EXIT_EINT1_MASK 0x00004000 #define CS35L43_AUX_NG_CH2_EXIT_EINT1_SHIFT 14 #define CS35L43_AUX_NG_CH2_ENTRY_EINT1_MASK 0x00002000 #define CS35L43_AUX_NG_CH2_ENTRY_EINT1_SHIFT 13 #define CS35L43_AUX_NG_CH1_EXIT_EINT1_MASK 0x00001000 #define CS35L43_AUX_NG_CH1_EXIT_EINT1_SHIFT 12 #define CS35L43_AUX_NG_CH1_ENTRY_EINT1_MASK 0x00000800 #define CS35L43_AUX_NG_CH1_ENTRY_EINT1_SHIFT 11 #define CS35L43_ASP_RXSLOT_CFG_ERR_EINT1_MASK 0x00000400 #define CS35L43_ASP_RXSLOT_CFG_ERR_EINT1_SHIFT 10 #define CS35L43_ASP_TXSLOT_CFG_ERR_EINT1_MASK 0x00000200 #define CS35L43_ASP_TXSLOT_CFG_ERR_EINT1_SHIFT 9 #define CS35L43_REFCLK_MISSING_RISE_EINT1_MASK 0x00000100 #define CS35L43_REFCLK_MISSING_RISE_EINT1_SHIFT 8 #define CS35L43_REFCLK_MISSING_FALL_EINT1_MASK 0x00000080 #define CS35L43_REFCLK_MISSING_FALL_EINT1_SHIFT 7 #define CS35L43_PLL_REFCLK_PRESENT_EINT1_MASK 0x00000040 #define CS35L43_PLL_REFCLK_PRESENT_EINT1_SHIFT 6 #define CS35L43_PLL_READY_RISE_EINT1_MASK 0x00000020 #define CS35L43_PLL_READY_RISE_EINT1_SHIFT 5 #define CS35L43_PLL_UNLOCK_FLAG_FALL_EINT1_MASK 0x00000010 #define CS35L43_PLL_UNLOCK_FLAG_FALL_EINT1_SHIFT 4 #define CS35L43_PLL_UNLOCK_FLAG_RISE_EINT1_MASK 0x00000008 #define CS35L43_PLL_UNLOCK_FLAG_RISE_EINT1_SHIFT 3 #define CS35L43_PLL_FREQ_LOCK_EINT1_MASK 0x00000004 #define CS35L43_PLL_FREQ_LOCK_EINT1_SHIFT 2 #define CS35L43_PLL_PHASE_LOCK_EINT1_MASK 0x00000002 #define CS35L43_PLL_PHASE_LOCK_EINT1_SHIFT 1 #define CS35L43_PLL_LOCK_EINT1_MASK 0x00000001 #define CS35L43_PLL_LOCK_EINT1_SHIFT 0 /************************************************/ /* IRQ1_IRQ1_EINT_3 */ /************************************************/ #define CS35L43_OTP_BOOT_ERR_EINT1_MASK 0x00040000 #define CS35L43_OTP_BOOT_ERR_EINT1_SHIFT 18 /************************************************/ /* Protection Release and Error Ignore Control */ /************************************************/ #define CS35L43_CLK_ERR_IGNORE_MASK 0x80000000 #define CS35L43_CLK_ERR_IGNORE_SHIFT 31 #define CS35L43_TEMP_ERR_IGNORE_MASK 0x40000000 #define CS35L43_TEMP_ERR_IGNORE_SHIFT 30 #define CS35L43_TEMP_WARN_IGNORE_MASK 0x20000000 #define CS35L43_TEMP_WARN_IGNORE_SHIFT 29 #define CS35L43_BST_UVP_ERR_IGNORE_MASK 0x10000000 #define CS35L43_BST_UVP_ERR_IGNORE_SHIFT 28 #define CS35L43_BST_OVP_ERR_IGNORE_MASK 0x08000000 #define CS35L43_BST_OVP_ERR_IGNORE_SHIFT 27 #define CS35L43_BST_SHORT_ERR_IGNORE_MASK 0x04000000 #define CS35L43_BST_SHORT_ERR_IGNORE_SHIFT 26 #define CS35L43_AMP_SHORT_ERR_IGNORE_MASK 0x02000000 #define CS35L43_AMP_SHORT_ERR_IGNORE_SHIFT 25 #define CS35L43_AMP_CAL_ERR_IGNORE_MASK 0x01000000 #define CS35L43_AMP_CAL_ERR_IGNORE_SHIFT 24 #define CS35L43_ERROR_RELEASE_CLK_ERR_RLS_MASK 0x00000080 #define CS35L43_ERROR_RELEASE_CLK_ERR_RLS_SHIFT 7 #define CS35L43_TEMP_ERR_RLS_MASK 0x00000040 #define CS35L43_TEMP_ERR_RLS_SHIFT 6 #define CS35L43_TEMP_WARN_RLS_MASK 0x00000020 #define CS35L43_TEMP_WARN_RLS_SHIFT 5 #define CS35L43_BST_UVP_ERR_RLS_MASK 0x00000010 #define CS35L43_BST_UVP_ERR_RLS_SHIFT 4 #define CS35L43_BST_OVP_ERR_RLS_MASK 0x00000008 #define CS35L43_BST_OVP_ERR_RLS_SHIFT 3 #define CS35L43_BST_SHORT_ERR_RLS_MASK 0x00000004 #define CS35L43_BST_SHORT_ERR_RLS_SHIFT 2 #define CS35L43_AMP_SHORT_ERR_RLS_MASK 0x00000002 #define CS35L43_AMP_SHORT_ERR_RLS_SHIFT 1 #define CS35L43_AMP_CAL_ERR_RLS_MASK 0x00000001 #define CS35L43_AMP_CAL_ERR_RLS_SHIFT 0 /************************************************/ /* Amplifier Gain Control */ /************************************************/ #define CS35L43_AMP_GAIN_ZC_MASK 0x00000400 #define CS35L43_AMP_GAIN_ZC_SHIFT 10 #define CS35L43_AMP_GAIN_PCM_MASK 0x000003E0 #define CS35L43_AMP_GAIN_PCM_SHIFT 5 /************************************************/ /* Amplifier Digital Volume Control */ /************************************************/ #define CS35L43_AMP_HPF_PCM_EN_MASK 0x00008000 #define CS35L43_AMP_HPF_PCM_EN_SHIFT 15 #define CS35L43_AMP_INV_PCM_MASK 0x00004000 #define CS35L43_AMP_INV_PCM_SHIFT 14 #define CS35L43_AMP_VOL_PCM_MASK 0x00003FF8 #define CS35L43_AMP_VOL_PCM_SHIFT 3 #define CS35L43_AMP_RAMP_PCM_MASK 0x00000007 #define CS35L43_AMP_RAMP_PCM_SHIFT 0 /************************************************/ /* Amplifier High Rate Control */ /************************************************/ #define CS35L43_VIMON_DUAL_RATE_MASK 0x00010000 #define CS35L43_VIMON_DUAL_RATE_SHIFT 16 #define CS35L43_AMP_PCM_FSX2_EN_MASK 0x00000001 #define CS35L43_DSP_RX1_RATE_MASK 0x00000003 #define CS35L43_DSP_RX2_RATE_MASK 0x00000300 #define CS35L43_DSP_RX3_RATE_MASK 0x00030000 #define CS35L43_DSP_RX4_RATE_MASK 0x03000000 #define CS35L43_DSP_RX5_RATE_MASK 0x00000003 #define CS35L43_DSP_RX6_RATE_MASK 0x00000300 #define CS35L43_DSP_TX1_RATE_MASK 0x00000003 #define CS35L43_DSP_TX2_RATE_MASK 0x00000300 #define CS35L43_DSP_TX3_RATE_MASK 0x00030000 #define CS35L43_DSP_TX4_RATE_MASK 0x03000000 #define CS35L43_DSP_TX5_RATE_MASK 0x00000003 #define CS35L43_DSP_TX6_RATE_MASK 0x00000300 #define CS35L43_DSP_RX1_RATE_SHIFT 0 #define CS35L43_DSP_RX2_RATE_SHIFT 8 #define CS35L43_DSP_RX3_RATE_SHIFT 16 #define CS35L43_DSP_RX4_RATE_SHIFT 24 #define CS35L43_DSP_RX5_RATE_SHIFT 0 #define CS35L43_DSP_RX6_RATE_SHIFT 8 #define CS35L43_DSP_TX1_RATE_SHIFT 0 #define CS35L43_DSP_TX2_RATE_SHIFT 8 #define CS35L43_DSP_TX3_RATE_SHIFT 16 #define CS35L43_DSP_TX4_RATE_SHIFT 24 #define CS35L43_DSP_TX5_RATE_SHIFT 0 #define CS35L43_DSP_TX6_RATE_SHIFT 8 #define CS35L43_BASE_RATE 0x1 #define CS35L43_HIGH_RATE 0x3 /************************************************/ /* DSP Noise Gate Control */ /************************************************/ /************************************************/ /* NOISE_GATE_MIXER_NGATE_CFG */ /************************************************/ #define CS35L43_AUX_NGATE_FAST_MASK 0x00000001 #define CS35L43_AUX_NGATE_FAST_SHIFT 0 /************************************************/ /* NOISE_GATE_MIXER_NGATE_CH1_CFG */ /************************************************/ #define CS35L43_AUX_NGATE_CH1_FRC_MASK 0x00020000 #define CS35L43_AUX_NGATE_CH1_FRC_SHIFT 17 #define CS35L43_AUX_NGATE_CH1_EN_MASK 0x00010000 #define CS35L43_AUX_NGATE_CH1_EN_SHIFT 16 #define CS35L43_AUX_NGATE_CH1_HOLD_MASK 0x00000F00 #define CS35L43_AUX_NGATE_CH1_HOLD_SHIFT 8 #define CS35L43_AUX_NGATE_CH1_THR_MASK 0x00000007 #define CS35L43_AUX_NGATE_CH1_THR_SHIFT 0 /************************************************/ /* NOISE_GATE_MIXER_NGATE_CH2_CFG */ /************************************************/ #define CS35L43_AUX_NGATE_CH2_FRC_MASK 0x00020000 #define CS35L43_AUX_NGATE_CH2_FRC_SHIFT 17 #define CS35L43_AUX_NGATE_CH2_EN_MASK 0x00010000 #define CS35L43_AUX_NGATE_CH2_EN_SHIFT 16 #define CS35L43_AUX_NGATE_CH2_HOLD_MASK 0x00000F00 #define CS35L43_AUX_NGATE_CH2_HOLD_SHIFT 8 #define CS35L43_AUX_NGATE_CH2_THR_MASK 0x00000007 #define CS35L43_AUX_NGATE_CH2_THR_SHIFT 0 /************************************************/ /* Noise Gate Configuration */ /************************************************/ #define CS35L43_NG_FRC_MASK 0x00008000 #define CS35L43_NG_FRC_SHIFT 15 #define CS35L43_NG_EN_SEL_MASK 0x00003F00 #define CS35L43_NG_EN_SEL_SHIFT 8 #define CS35L43_NG_DELAY_MASK 0x00000070 #define CS35L43_NG_DELAY_SHIFT 4 #define CS35L43_NG_PCM_THLD_MASK 0x00000007 #define CS35L43_NG_PCM_THLD_SHIFT 0 /* #####################################################*/ /* Software Values */ /* #####################################################*/ #define CS35L43_MBOX_CMD_AUDIO_PLAY 0x0B000001 #define CS35L43_MBOX_CMD_AUDIO_PAUSE 0x0B000002 #define CS35L43_MBOX_CMD_AUDIO_REINIT 0x0B000003 #define CS35L43_MBOX_CMD_HIBERNATE 0x02000001 #define CS35L43_MBOX_CMD_WAKEUP 0x02000002 #define CS35L43_MBOX_CMD_PREVENT_HIBERNATE 0x02000003 #define CS35L43_MBOX_CMD_ALLOW_HIBERNATE 0x02000004 #define CS35L43_MBOX_CMD_SHUTDOWN 0x02000005 #define CS35L43_ALG_ID_PM 0x5f206 #define CS35L43_POWER_SEQ_LENGTH 42 #define CS35L43_POWER_SEQ_MAX_WORDS 129 #define CS35L43_POWER_SEQ_NUM_OPS 8 #define CS35L43_POWER_SEQ_OP_MASK GENMASK(23, 16) #define CS35L43_POWER_SEQ_OP_SHIFT 16 #define CS35L43_POWER_SEQ_OP_WRITE_REG_FULL 0x00 #define CS35L43_POWER_SEQ_OP_WRITE_REG_FULL_WORDS 3 #define CS35L43_POWER_SEQ_OP_WRITE_FIELD 0x01 #define CS35L43_POWER_SEQ_OP_WRITE_FIELD_WORDS 4 #define CS35L43_POWER_SEQ_OP_WRITE_REG_ADDR8 0x02 #define CS35L43_POWER_SEQ_OP_WRITE_REG_ADDR8_WORDS 2 #define CS35L43_POWER_SEQ_OP_WRITE_REG_INCR 0x03 #define CS35L43_POWER_SEQ_OP_WRITE_REG_INCR_WORDS 2 #define CS35L43_POWER_SEQ_OP_WRITE_REG_L16 0x04 #define CS35L43_POWER_SEQ_OP_WRITE_REG_L16_WORDS 2 #define CS35L43_POWER_SEQ_OP_WRITE_REG_H16 0x05 #define CS35L43_POWER_SEQ_OP_WRITE_REG_H16_WORDS 2 #define CS35L43_POWER_SEQ_OP_DELAY 0xFE #define CS35L43_POWER_SEQ_OP_DELAY_WORDS 1 #define CS35L43_POWER_SEQ_OP_END 0xFF #define CS35L43_POWER_SEQ_OP_END_WORDS 1 #define CS35L43_SPI_MAX_FREQ_NO_PLL 4000000