linux/include/sound/cs35l41.h

/* SPDX-License-Identifier: GPL-2.0
 *
 * linux/sound/cs35l41.h -- Platform data for CS35L41
 *
 * Copyright (c) 2017-2021 Cirrus Logic Inc.
 *
 * Author: David Rhodes	<[email protected]>
 */

#ifndef __CS35L41_H
#define __CS35L41_H

#include <linux/regmap.h>
#include <linux/firmware/cirrus/cs_dsp.h>

#define CS35L41_FIRSTREG
#define CS35L41_LASTREG
#define CS35L41_DEVID
#define CS35L41_REVID
#define CS35L41_FABID
#define CS35L41_RELID
#define CS35L41_OTPID
#define CS35L41_SFT_RESET
#define CS35L41_TEST_KEY_CTL
#define CS35L41_USER_KEY_CTL
#define CS35L41_OTP_MEM0
#define CS35L41_OTP_MEM31
#define CS35L41_OTP_CTRL0
#define CS35L41_OTP_CTRL1
#define CS35L41_OTP_CTRL3
#define CS35L41_OTP_CTRL4
#define CS35L41_OTP_CTRL5
#define CS35L41_OTP_CTRL6
#define CS35L41_OTP_CTRL7
#define CS35L41_OTP_CTRL8
#define CS35L41_PWR_CTRL1
#define CS35L41_PWR_CTRL2
#define CS35L41_PWR_CTRL3
#define CS35L41_CTRL_OVRRIDE
#define CS35L41_AMP_OUT_MUTE
#define CS35L41_PROTECT_REL_ERR_IGN
#define CS35L41_GPIO_PAD_CONTROL
#define CS35L41_JTAG_CONTROL
#define CS35L41_PWRMGT_CTL
#define CS35L41_WAKESRC_CTL
#define CS35L41_PWRMGT_STS
#define CS35L41_PLL_CLK_CTRL
#define CS35L41_DSP_CLK_CTRL
#define CS35L41_GLOBAL_CLK_CTRL
#define CS35L41_DATA_FS_SEL
#define CS35L41_TST_FS_MON0
#define CS35L41_MDSYNC_EN
#define CS35L41_MDSYNC_TX_ID
#define CS35L41_MDSYNC_PWR_CTRL
#define CS35L41_MDSYNC_DATA_TX
#define CS35L41_MDSYNC_TX_STATUS
#define CS35L41_MDSYNC_DATA_RX
#define CS35L41_MDSYNC_RX_STATUS
#define CS35L41_MDSYNC_ERR_STATUS
#define CS35L41_MDSYNC_SYNC_PTE2
#define CS35L41_MDSYNC_SYNC_PTE3
#define CS35L41_MDSYNC_SYNC_MSM_STATUS
#define CS35L41_BSTCVRT_VCTRL1
#define CS35L41_BSTCVRT_VCTRL2
#define CS35L41_BSTCVRT_PEAK_CUR
#define CS35L41_BSTCVRT_SFT_RAMP
#define CS35L41_BSTCVRT_COEFF
#define CS35L41_BSTCVRT_SLOPE_LBST
#define CS35L41_BSTCVRT_SW_FREQ
#define CS35L41_BSTCVRT_DCM_CTRL
#define CS35L41_BSTCVRT_DCM_MODE_FORCE
#define CS35L41_BSTCVRT_OVERVOLT_CTRL
#define CS35L41_VI_VOL_POL
#define CS35L41_VIMON_SPKMON_RESYNC
#define CS35L41_DTEMP_WARN_THLD
#define CS35L41_DTEMP_CFG
#define CS35L41_DTEMP_EN
#define CS35L41_VPVBST_FS_SEL
#define CS35L41_SP_ENABLES
#define CS35L41_SP_RATE_CTRL
#define CS35L41_SP_FORMAT
#define CS35L41_SP_HIZ_CTRL
#define CS35L41_SP_FRAME_TX_SLOT
#define CS35L41_SP_FRAME_RX_SLOT
#define CS35L41_SP_TX_WL
#define CS35L41_SP_RX_WL
#define CS35L41_ASP_CONTROL4
#define CS35L41_DAC_PCM1_SRC
#define CS35L41_ASP_TX1_SRC
#define CS35L41_ASP_TX2_SRC
#define CS35L41_ASP_TX3_SRC
#define CS35L41_ASP_TX4_SRC
#define CS35L41_DSP1_RX1_SRC
#define CS35L41_DSP1_RX2_SRC
#define CS35L41_DSP1_RX3_SRC
#define CS35L41_DSP1_RX4_SRC
#define CS35L41_DSP1_RX5_SRC
#define CS35L41_DSP1_RX6_SRC
#define CS35L41_DSP1_RX7_SRC
#define CS35L41_DSP1_RX8_SRC
#define CS35L41_NGATE1_SRC
#define CS35L41_NGATE2_SRC
#define CS35L41_AMP_DIG_VOL_CTRL
#define CS35L41_VPBR_CFG
#define CS35L41_VBBR_CFG
#define CS35L41_VPBR_STATUS
#define CS35L41_VBBR_STATUS
#define CS35L41_OVERTEMP_CFG
#define CS35L41_AMP_ERR_VOL
#define CS35L41_VOL_STATUS_TO_DSP
#define CS35L41_CLASSH_CFG
#define CS35L41_WKFET_CFG
#define CS35L41_NG_CFG
#define CS35L41_AMP_GAIN_CTRL
#define CS35L41_DAC_MSM_CFG
#define CS35L41_IRQ1_CFG
#define CS35L41_IRQ1_STATUS
#define CS35L41_IRQ1_STATUS1
#define CS35L41_IRQ1_STATUS2
#define CS35L41_IRQ1_STATUS3
#define CS35L41_IRQ1_STATUS4
#define CS35L41_IRQ1_RAW_STATUS1
#define CS35L41_IRQ1_RAW_STATUS2
#define CS35L41_IRQ1_RAW_STATUS3
#define CS35L41_IRQ1_RAW_STATUS4
#define CS35L41_IRQ1_MASK1
#define CS35L41_IRQ1_MASK2
#define CS35L41_IRQ1_MASK3
#define CS35L41_IRQ1_MASK4
#define CS35L41_IRQ1_FRC1
#define CS35L41_IRQ1_FRC2
#define CS35L41_IRQ1_FRC3
#define CS35L41_IRQ1_FRC4
#define CS35L41_IRQ1_EDGE1
#define CS35L41_IRQ1_EDGE4
#define CS35L41_IRQ1_POL1
#define CS35L41_IRQ1_POL2
#define CS35L41_IRQ1_POL3
#define CS35L41_IRQ1_POL4
#define CS35L41_IRQ1_DB3
#define CS35L41_IRQ2_CFG
#define CS35L41_IRQ2_STATUS
#define CS35L41_IRQ2_STATUS1
#define CS35L41_IRQ2_STATUS2
#define CS35L41_IRQ2_STATUS3
#define CS35L41_IRQ2_STATUS4
#define CS35L41_IRQ2_RAW_STATUS1
#define CS35L41_IRQ2_RAW_STATUS2
#define CS35L41_IRQ2_RAW_STATUS3
#define CS35L41_IRQ2_RAW_STATUS4
#define CS35L41_IRQ2_MASK1
#define CS35L41_IRQ2_MASK2
#define CS35L41_IRQ2_MASK3
#define CS35L41_IRQ2_MASK4
#define CS35L41_IRQ2_FRC1
#define CS35L41_IRQ2_FRC2
#define CS35L41_IRQ2_FRC3
#define CS35L41_IRQ2_FRC4
#define CS35L41_IRQ2_EDGE1
#define CS35L41_IRQ2_EDGE4
#define CS35L41_IRQ2_POL1
#define CS35L41_IRQ2_POL2
#define CS35L41_IRQ2_POL3
#define CS35L41_IRQ2_POL4
#define CS35L41_IRQ2_DB3
#define CS35L41_GPIO_STATUS1
#define CS35L41_GPIO1_CTRL1
#define CS35L41_GPIO2_CTRL1
#define CS35L41_MIXER_NGATE_CFG
#define CS35L41_MIXER_NGATE_CH1_CFG
#define CS35L41_MIXER_NGATE_CH2_CFG
#define CS35L41_DSP_MBOX_1
#define CS35L41_DSP_MBOX_2
#define CS35L41_DSP_MBOX_3
#define CS35L41_DSP_MBOX_4
#define CS35L41_DSP_MBOX_5
#define CS35L41_DSP_MBOX_6
#define CS35L41_DSP_MBOX_7
#define CS35L41_DSP_MBOX_8
#define CS35L41_DSP_VIRT1_MBOX_1
#define CS35L41_DSP_VIRT1_MBOX_2
#define CS35L41_DSP_VIRT1_MBOX_3
#define CS35L41_DSP_VIRT1_MBOX_4
#define CS35L41_DSP_VIRT1_MBOX_5
#define CS35L41_DSP_VIRT1_MBOX_6
#define CS35L41_DSP_VIRT1_MBOX_7
#define CS35L41_DSP_VIRT1_MBOX_8
#define CS35L41_DSP_VIRT2_MBOX_1
#define CS35L41_DSP_VIRT2_MBOX_2
#define CS35L41_DSP_VIRT2_MBOX_3
#define CS35L41_DSP_VIRT2_MBOX_4
#define CS35L41_DSP_VIRT2_MBOX_5
#define CS35L41_DSP_VIRT2_MBOX_6
#define CS35L41_DSP_VIRT2_MBOX_7
#define CS35L41_DSP_VIRT2_MBOX_8
#define CS35L41_CLOCK_DETECT_1
#define CS35L41_TIMER1_CONTROL
#define CS35L41_TIMER1_COUNT_PRESET
#define CS35L41_TIMER1_START_STOP
#define CS35L41_TIMER1_STATUS
#define CS35L41_TIMER1_COUNT_READBACK
#define CS35L41_TIMER1_DSP_CLK_CFG
#define CS35L41_TIMER1_DSP_CLK_STATUS
#define CS35L41_TIMER2_CONTROL
#define CS35L41_TIMER2_COUNT_PRESET
#define CS35L41_TIMER2_START_STOP
#define CS35L41_TIMER2_STATUS
#define CS35L41_TIMER2_COUNT_READBACK
#define CS35L41_TIMER2_DSP_CLK_CFG
#define CS35L41_TIMER2_DSP_CLK_STATUS
#define CS35L41_DFT_JTAG_CONTROL
#define CS35L41_DIE_STS1
#define CS35L41_DIE_STS2
#define CS35L41_TEMP_CAL1
#define CS35L41_TEMP_CAL2
#define CS35L41_DSP1_XMEM_PACK_0
#define CS35L41_DSP1_XMEM_PACK_3068
#define CS35L41_DSP1_XMEM_UNPACK32_0
#define CS35L41_DSP1_XMEM_UNPACK32_2046
#define CS35L41_DSP1_TIMESTAMP_COUNT
#define CS35L41_DSP1_SYS_ID
#define CS35L41_DSP1_SYS_VERSION
#define CS35L41_DSP1_SYS_CORE_ID
#define CS35L41_DSP1_SYS_AHB_ADDR
#define CS35L41_DSP1_SYS_XSRAM_SIZE
#define CS35L41_DSP1_SYS_YSRAM_SIZE
#define CS35L41_DSP1_SYS_PSRAM_SIZE
#define CS35L41_DSP1_SYS_PM_BOOT_SIZE
#define CS35L41_DSP1_SYS_FEATURES
#define CS35L41_DSP1_SYS_FIR_FILTERS
#define CS35L41_DSP1_SYS_LMS_FILTERS
#define CS35L41_DSP1_SYS_XM_BANK_SIZE
#define CS35L41_DSP1_SYS_YM_BANK_SIZE
#define CS35L41_DSP1_SYS_PM_BANK_SIZE
#define CS35L41_DSP1_AHBM_WIN0_CTRL0
#define CS35L41_DSP1_AHBM_WIN0_CTRL1
#define CS35L41_DSP1_AHBM_WIN1_CTRL0
#define CS35L41_DSP1_AHBM_WIN1_CTRL1
#define CS35L41_DSP1_AHBM_WIN2_CTRL0
#define CS35L41_DSP1_AHBM_WIN2_CTRL1
#define CS35L41_DSP1_AHBM_WIN3_CTRL0
#define CS35L41_DSP1_AHBM_WIN3_CTRL1
#define CS35L41_DSP1_AHBM_WIN4_CTRL0
#define CS35L41_DSP1_AHBM_WIN4_CTRL1
#define CS35L41_DSP1_AHBM_WIN5_CTRL0
#define CS35L41_DSP1_AHBM_WIN5_CTRL1
#define CS35L41_DSP1_AHBM_WIN6_CTRL0
#define CS35L41_DSP1_AHBM_WIN6_CTRL1
#define CS35L41_DSP1_AHBM_WIN7_CTRL0
#define CS35L41_DSP1_AHBM_WIN7_CTRL1
#define CS35L41_DSP1_AHBM_WIN_DBG_CTRL0
#define CS35L41_DSP1_AHBM_WIN_DBG_CTRL1
#define CS35L41_DSP1_XMEM_UNPACK24_0
#define CS35L41_DSP1_XMEM_UNPACK24_4093
#define CS35L41_DSP1_CTRL_BASE
#define CS35L41_DSP1_CORE_SOFT_RESET
#define CS35L41_DSP1_DEBUG
#define CS35L41_DSP1_TIMER_CTRL
#define CS35L41_DSP1_STREAM_ARB_CTRL
#define CS35L41_DSP1_RX1_RATE
#define CS35L41_DSP1_RX2_RATE
#define CS35L41_DSP1_RX3_RATE
#define CS35L41_DSP1_RX4_RATE
#define CS35L41_DSP1_RX5_RATE
#define CS35L41_DSP1_RX6_RATE
#define CS35L41_DSP1_RX7_RATE
#define CS35L41_DSP1_RX8_RATE
#define CS35L41_DSP1_TX1_RATE
#define CS35L41_DSP1_TX2_RATE
#define CS35L41_DSP1_TX3_RATE
#define CS35L41_DSP1_TX4_RATE
#define CS35L41_DSP1_TX5_RATE
#define CS35L41_DSP1_TX6_RATE
#define CS35L41_DSP1_TX7_RATE
#define CS35L41_DSP1_TX8_RATE
#define CS35L41_DSP1_NMI_CTRL1
#define CS35L41_DSP1_NMI_CTRL2
#define CS35L41_DSP1_NMI_CTRL3
#define CS35L41_DSP1_NMI_CTRL4
#define CS35L41_DSP1_NMI_CTRL5
#define CS35L41_DSP1_NMI_CTRL6
#define CS35L41_DSP1_NMI_CTRL7
#define CS35L41_DSP1_NMI_CTRL8
#define CS35L41_DSP1_RESUME_CTRL
#define CS35L41_DSP1_IRQ1_CTRL
#define CS35L41_DSP1_IRQ2_CTRL
#define CS35L41_DSP1_IRQ3_CTRL
#define CS35L41_DSP1_IRQ4_CTRL
#define CS35L41_DSP1_IRQ5_CTRL
#define CS35L41_DSP1_IRQ6_CTRL
#define CS35L41_DSP1_IRQ7_CTRL
#define CS35L41_DSP1_IRQ8_CTRL
#define CS35L41_DSP1_IRQ9_CTRL
#define CS35L41_DSP1_IRQ10_CTRL
#define CS35L41_DSP1_IRQ11_CTRL
#define CS35L41_DSP1_IRQ12_CTRL
#define CS35L41_DSP1_IRQ13_CTRL
#define CS35L41_DSP1_IRQ14_CTRL
#define CS35L41_DSP1_IRQ15_CTRL
#define CS35L41_DSP1_IRQ16_CTRL
#define CS35L41_DSP1_IRQ17_CTRL
#define CS35L41_DSP1_IRQ18_CTRL
#define CS35L41_DSP1_IRQ19_CTRL
#define CS35L41_DSP1_IRQ20_CTRL
#define CS35L41_DSP1_IRQ21_CTRL
#define CS35L41_DSP1_IRQ22_CTRL
#define CS35L41_DSP1_IRQ23_CTRL
#define CS35L41_DSP1_SCRATCH1
#define CS35L41_DSP1_SCRATCH2
#define CS35L41_DSP1_SCRATCH3
#define CS35L41_DSP1_SCRATCH4
#define CS35L41_DSP1_CCM_CORE_CTRL
#define CS35L41_DSP1_CCM_CLK_OVERRIDE
#define CS35L41_DSP1_XM_MSTR_EN
#define CS35L41_DSP1_XM_CORE_PRI
#define CS35L41_DSP1_XM_AHB_PACK_PL_PRI
#define CS35L41_DSP1_XM_AHB_UP_PL_PRI
#define CS35L41_DSP1_XM_ACCEL_PL0_PRI
#define CS35L41_DSP1_XM_NPL0_PRI
#define CS35L41_DSP1_YM_MSTR_EN
#define CS35L41_DSP1_YM_CORE_PRI
#define CS35L41_DSP1_YM_AHB_PACK_PL_PRI
#define CS35L41_DSP1_YM_AHB_UP_PL_PRI
#define CS35L41_DSP1_YM_ACCEL_PL0_PRI
#define CS35L41_DSP1_YM_NPL0_PRI
#define CS35L41_DSP1_PM_MSTR_EN
#define CS35L41_DSP1_PM_PATCH0_ADDR
#define CS35L41_DSP1_PM_PATCH0_EN
#define CS35L41_DSP1_PM_PATCH0_DATA_LO
#define CS35L41_DSP1_PM_PATCH0_DATA_HI
#define CS35L41_DSP1_PM_PATCH1_ADDR
#define CS35L41_DSP1_PM_PATCH1_EN
#define CS35L41_DSP1_PM_PATCH1_DATA_LO
#define CS35L41_DSP1_PM_PATCH1_DATA_HI
#define CS35L41_DSP1_PM_PATCH2_ADDR
#define CS35L41_DSP1_PM_PATCH2_EN
#define CS35L41_DSP1_PM_PATCH2_DATA_LO
#define CS35L41_DSP1_PM_PATCH2_DATA_HI
#define CS35L41_DSP1_PM_PATCH3_ADDR
#define CS35L41_DSP1_PM_PATCH3_EN
#define CS35L41_DSP1_PM_PATCH3_DATA_LO
#define CS35L41_DSP1_PM_PATCH3_DATA_HI
#define CS35L41_DSP1_PM_PATCH4_ADDR
#define CS35L41_DSP1_PM_PATCH4_EN
#define CS35L41_DSP1_PM_PATCH4_DATA_LO
#define CS35L41_DSP1_PM_PATCH4_DATA_HI
#define CS35L41_DSP1_PM_PATCH5_ADDR
#define CS35L41_DSP1_PM_PATCH5_EN
#define CS35L41_DSP1_PM_PATCH5_DATA_LO
#define CS35L41_DSP1_PM_PATCH5_DATA_HI
#define CS35L41_DSP1_PM_PATCH6_ADDR
#define CS35L41_DSP1_PM_PATCH6_EN
#define CS35L41_DSP1_PM_PATCH6_DATA_LO
#define CS35L41_DSP1_PM_PATCH6_DATA_HI
#define CS35L41_DSP1_PM_PATCH7_ADDR
#define CS35L41_DSP1_PM_PATCH7_EN
#define CS35L41_DSP1_PM_PATCH7_DATA_LO
#define CS35L41_DSP1_PM_PATCH7_DATA_HI
#define CS35L41_DSP1_MPU_XM_ACCESS0
#define CS35L41_DSP1_MPU_YM_ACCESS0
#define CS35L41_DSP1_MPU_WNDW_ACCESS0
#define CS35L41_DSP1_MPU_XREG_ACCESS0
#define CS35L41_DSP1_MPU_YREG_ACCESS0
#define CS35L41_DSP1_MPU_XM_ACCESS1
#define CS35L41_DSP1_MPU_YM_ACCESS1
#define CS35L41_DSP1_MPU_WNDW_ACCESS1
#define CS35L41_DSP1_MPU_XREG_ACCESS1
#define CS35L41_DSP1_MPU_YREG_ACCESS1
#define CS35L41_DSP1_MPU_XM_ACCESS2
#define CS35L41_DSP1_MPU_YM_ACCESS2
#define CS35L41_DSP1_MPU_WNDW_ACCESS2
#define CS35L41_DSP1_MPU_XREG_ACCESS2
#define CS35L41_DSP1_MPU_YREG_ACCESS2
#define CS35L41_DSP1_MPU_XM_ACCESS3
#define CS35L41_DSP1_MPU_YM_ACCESS3
#define CS35L41_DSP1_MPU_WNDW_ACCESS3
#define CS35L41_DSP1_MPU_XREG_ACCESS3
#define CS35L41_DSP1_MPU_YREG_ACCESS3
#define CS35L41_DSP1_MPU_XM_VIO_ADDR
#define CS35L41_DSP1_MPU_XM_VIO_STATUS
#define CS35L41_DSP1_MPU_YM_VIO_ADDR
#define CS35L41_DSP1_MPU_YM_VIO_STATUS
#define CS35L41_DSP1_MPU_PM_VIO_ADDR
#define CS35L41_DSP1_MPU_PM_VIO_STATUS
#define CS35L41_DSP1_MPU_LOCK_CONFIG
#define CS35L41_DSP1_MPU_WDT_RST_CTRL
#define CS35L41_DSP1_STRMARB_MSTR0_CFG0
#define CS35L41_DSP1_STRMARB_MSTR0_CFG1
#define CS35L41_DSP1_STRMARB_MSTR0_CFG2
#define CS35L41_DSP1_STRMARB_MSTR1_CFG0
#define CS35L41_DSP1_STRMARB_MSTR1_CFG1
#define CS35L41_DSP1_STRMARB_MSTR1_CFG2
#define CS35L41_DSP1_STRMARB_MSTR2_CFG0
#define CS35L41_DSP1_STRMARB_MSTR2_CFG1
#define CS35L41_DSP1_STRMARB_MSTR2_CFG2
#define CS35L41_DSP1_STRMARB_MSTR3_CFG0
#define CS35L41_DSP1_STRMARB_MSTR3_CFG1
#define CS35L41_DSP1_STRMARB_MSTR3_CFG2
#define CS35L41_DSP1_STRMARB_MSTR4_CFG0
#define CS35L41_DSP1_STRMARB_MSTR4_CFG1
#define CS35L41_DSP1_STRMARB_MSTR4_CFG2
#define CS35L41_DSP1_STRMARB_MSTR5_CFG0
#define CS35L41_DSP1_STRMARB_MSTR5_CFG1
#define CS35L41_DSP1_STRMARB_MSTR5_CFG2
#define CS35L41_DSP1_STRMARB_MSTR6_CFG0
#define CS35L41_DSP1_STRMARB_MSTR6_CFG1
#define CS35L41_DSP1_STRMARB_MSTR6_CFG2
#define CS35L41_DSP1_STRMARB_MSTR7_CFG0
#define CS35L41_DSP1_STRMARB_MSTR7_CFG1
#define CS35L41_DSP1_STRMARB_MSTR7_CFG2
#define CS35L41_DSP1_STRMARB_TX0_CFG0
#define CS35L41_DSP1_STRMARB_TX0_CFG1
#define CS35L41_DSP1_STRMARB_TX1_CFG0
#define CS35L41_DSP1_STRMARB_TX1_CFG1
#define CS35L41_DSP1_STRMARB_TX2_CFG0
#define CS35L41_DSP1_STRMARB_TX2_CFG1
#define CS35L41_DSP1_STRMARB_TX3_CFG0
#define CS35L41_DSP1_STRMARB_TX3_CFG1
#define CS35L41_DSP1_STRMARB_TX4_CFG0
#define CS35L41_DSP1_STRMARB_TX4_CFG1
#define CS35L41_DSP1_STRMARB_TX5_CFG0
#define CS35L41_DSP1_STRMARB_TX5_CFG1
#define CS35L41_DSP1_STRMARB_TX6_CFG0
#define CS35L41_DSP1_STRMARB_TX6_CFG1
#define CS35L41_DSP1_STRMARB_TX7_CFG0
#define CS35L41_DSP1_STRMARB_TX7_CFG1
#define CS35L41_DSP1_STRMARB_RX0_CFG0
#define CS35L41_DSP1_STRMARB_RX0_CFG1
#define CS35L41_DSP1_STRMARB_RX1_CFG0
#define CS35L41_DSP1_STRMARB_RX1_CFG1
#define CS35L41_DSP1_STRMARB_RX2_CFG0
#define CS35L41_DSP1_STRMARB_RX2_CFG1
#define CS35L41_DSP1_STRMARB_RX3_CFG0
#define CS35L41_DSP1_STRMARB_RX3_CFG1
#define CS35L41_DSP1_STRMARB_RX4_CFG0
#define CS35L41_DSP1_STRMARB_RX4_CFG1
#define CS35L41_DSP1_STRMARB_RX5_CFG0
#define CS35L41_DSP1_STRMARB_RX5_CFG1
#define CS35L41_DSP1_STRMARB_RX6_CFG0
#define CS35L41_DSP1_STRMARB_RX6_CFG1
#define CS35L41_DSP1_STRMARB_RX7_CFG0
#define CS35L41_DSP1_STRMARB_RX7_CFG1
#define CS35L41_DSP1_STRMARB_IRQ0_CFG0
#define CS35L41_DSP1_STRMARB_IRQ0_CFG1
#define CS35L41_DSP1_STRMARB_IRQ0_CFG2
#define CS35L41_DSP1_STRMARB_IRQ1_CFG0
#define CS35L41_DSP1_STRMARB_IRQ1_CFG1
#define CS35L41_DSP1_STRMARB_IRQ1_CFG2
#define CS35L41_DSP1_STRMARB_IRQ2_CFG0
#define CS35L41_DSP1_STRMARB_IRQ2_CFG1
#define CS35L41_DSP1_STRMARB_IRQ2_CFG2
#define CS35L41_DSP1_STRMARB_IRQ3_CFG0
#define CS35L41_DSP1_STRMARB_IRQ3_CFG1
#define CS35L41_DSP1_STRMARB_IRQ3_CFG2
#define CS35L41_DSP1_STRMARB_IRQ4_CFG0
#define CS35L41_DSP1_STRMARB_IRQ4_CFG1
#define CS35L41_DSP1_STRMARB_IRQ4_CFG2
#define CS35L41_DSP1_STRMARB_IRQ5_CFG0
#define CS35L41_DSP1_STRMARB_IRQ5_CFG1
#define CS35L41_DSP1_STRMARB_IRQ5_CFG2
#define CS35L41_DSP1_STRMARB_IRQ6_CFG0
#define CS35L41_DSP1_STRMARB_IRQ6_CFG1
#define CS35L41_DSP1_STRMARB_IRQ6_CFG2
#define CS35L41_DSP1_STRMARB_IRQ7_CFG0
#define CS35L41_DSP1_STRMARB_IRQ7_CFG1
#define CS35L41_DSP1_STRMARB_IRQ7_CFG2
#define CS35L41_DSP1_STRMARB_RESYNC_MSK
#define CS35L41_DSP1_STRMARB_ERR_STATUS
#define CS35L41_DSP1_INTPCTL_RES_STATIC
#define CS35L41_DSP1_INTPCTL_RES_DYN
#define CS35L41_DSP1_INTPCTL_NMI_CTRL
#define CS35L41_DSP1_INTPCTL_IRQ_INV
#define CS35L41_DSP1_INTPCTL_IRQ_MODE
#define CS35L41_DSP1_INTPCTL_IRQ_EN
#define CS35L41_DSP1_INTPCTL_IRQ_MSK
#define CS35L41_DSP1_INTPCTL_IRQ_FLUSH
#define CS35L41_DSP1_INTPCTL_IRQ_MSKCLR
#define CS35L41_DSP1_INTPCTL_IRQ_FRC
#define CS35L41_DSP1_INTPCTL_IRQ_MSKSET
#define CS35L41_DSP1_INTPCTL_IRQ_ERR
#define CS35L41_DSP1_INTPCTL_IRQ_PEND
#define CS35L41_DSP1_INTPCTL_IRQ_GEN
#define CS35L41_DSP1_INTPCTL_TESTBITS
#define CS35L41_DSP1_WDT_CONTROL
#define CS35L41_DSP1_WDT_STATUS
#define CS35L41_DSP1_YMEM_PACK_0
#define CS35L41_DSP1_YMEM_PACK_1532
#define CS35L41_DSP1_YMEM_UNPACK32_0
#define CS35L41_DSP1_YMEM_UNPACK32_1022
#define CS35L41_DSP1_YMEM_UNPACK24_0
#define CS35L41_DSP1_YMEM_UNPACK24_2045
#define CS35L41_DSP1_PMEM_0
#define CS35L41_DSP1_PMEM_5114

/*test regs for emulation bringup*/
#define CS35L41_PLL_OVR
#define CS35L41_BST_TEST_DUTY
#define CS35L41_DIGPWM_IOCTRL

/*registers populated by OTP*/
#define CS35L41_OTP_TRIM_1
#define CS35L41_OTP_TRIM_2
#define CS35L41_OTP_TRIM_3
#define CS35L41_OTP_TRIM_4
#define CS35L41_OTP_TRIM_5
#define CS35L41_OTP_TRIM_6
#define CS35L41_OTP_TRIM_7
#define CS35L41_OTP_TRIM_8
#define CS35L41_OTP_TRIM_9
#define CS35L41_OTP_TRIM_10
#define CS35L41_OTP_TRIM_11
#define CS35L41_OTP_TRIM_12
#define CS35L41_OTP_TRIM_13
#define CS35L41_OTP_TRIM_14
#define CS35L41_OTP_TRIM_15
#define CS35L41_OTP_TRIM_16
#define CS35L41_OTP_TRIM_17
#define CS35L41_OTP_TRIM_18
#define CS35L41_OTP_TRIM_19
#define CS35L41_OTP_TRIM_20
#define CS35L41_OTP_TRIM_21
#define CS35L41_OTP_TRIM_22
#define CS35L41_OTP_TRIM_23
#define CS35L41_OTP_TRIM_24
#define CS35L41_OTP_TRIM_25
#define CS35L41_OTP_TRIM_26
#define CS35L41_OTP_TRIM_27
#define CS35L41_OTP_TRIM_28
#define CS35L41_OTP_TRIM_29
#define CS35L41_OTP_TRIM_30
#define CS35L41_OTP_TRIM_31
#define CS35L41_OTP_TRIM_32
#define CS35L41_OTP_TRIM_33
#define CS35L41_OTP_TRIM_34
#define CS35L41_OTP_TRIM_35
#define CS35L41_OTP_TRIM_36

#define CS35L41_MAX_CACHE_REG
#define CS35L41_OTP_SIZE_WORDS

#define CS35L41_NUM_SUPPLIES

#define CS35L41_SCLK_MSTR_MASK
#define CS35L41_SCLK_MSTR_SHIFT
#define CS35L41_LRCLK_MSTR_MASK
#define CS35L41_LRCLK_MSTR_SHIFT
#define CS35L41_SCLK_INV_MASK
#define CS35L41_SCLK_INV_SHIFT
#define CS35L41_LRCLK_INV_MASK
#define CS35L41_LRCLK_INV_SHIFT
#define CS35L41_SCLK_FRC_MASK
#define CS35L41_SCLK_FRC_SHIFT
#define CS35L41_LRCLK_FRC_MASK
#define CS35L41_LRCLK_FRC_SHIFT

#define CS35L41_AMP_GAIN_PCM_MASK
#define CS35L41_AMP_GAIN_PCM_SHIFT
#define CS35L41_AMP_GAIN_PDM_MASK
#define CS35L41_AMP_GAIN_PDM_SHIFT
#define CS35L41_AMP_GAIN_PCM_MAX
#define CS35L41_AMP_GAIN_PDM_MAX
#define CS35L41_AMP_GAIN_ZC_MASK
#define CS35L41_AMP_GAIN_ZC_SHIFT

#define CS35L41_BST_CTL_MASK
#define CS35L41_BST_CTL_SEL_MASK
#define CS35L41_BST_CTL_SEL_REG
#define CS35L41_BST_CTL_SEL_CLASSH
#define CS35L41_BST_IPK_MASK
#define CS35L41_BST_IPK_SHIFT
#define CS35L41_BST_LIM_MASK
#define CS35L41_BST_LIM_SHIFT
#define CS35L41_BST_K1_MASK
#define CS35L41_BST_K1_SHIFT
#define CS35L41_BST_K2_MASK
#define CS35L41_BST_K2_SHIFT
#define CS35L41_BST_SLOPE_MASK
#define CS35L41_BST_SLOPE_SHIFT
#define CS35L41_BST_LBST_VAL_MASK
#define CS35L41_BST_LBST_VAL_SHIFT

#define CS35L41_TEMP_THLD_MASK
#define CS35L41_VMON_IMON_VOL_MASK
#define CS35L41_PDM_MODE_MASK
#define CS35L41_PDM_MODE_SHIFT

#define CS35L41_CH_MEM_DEPTH_MASK
#define CS35L41_CH_MEM_DEPTH_SHIFT
#define CS35L41_CH_HDRM_CTL_MASK
#define CS35L41_CH_HDRM_CTL_SHIFT
#define CS35L41_CH_REL_RATE_MASK
#define CS35L41_CH_REL_RATE_SHIFT
#define CS35L41_CH_WKFET_DLY_MASK
#define CS35L41_CH_WKFET_DLY_SHIFT
#define CS35L41_CH_WKFET_THLD_MASK
#define CS35L41_CH_WKFET_THLD_SHIFT

#define CS35L41_HW_NG_SEL_MASK
#define CS35L41_HW_NG_SEL_SHIFT
#define CS35L41_HW_NG_DLY_MASK
#define CS35L41_HW_NG_DLY_SHIFT
#define CS35L41_HW_NG_THLD_MASK
#define CS35L41_HW_NG_THLD_SHIFT

#define CS35L41_DSP_NG_ENABLE_MASK
#define CS35L41_DSP_NG_ENABLE_SHIFT
#define CS35L41_DSP_NG_THLD_MASK
#define CS35L41_DSP_NG_THLD_SHIFT
#define CS35L41_DSP_NG_DELAY_MASK
#define CS35L41_DSP_NG_DELAY_SHIFT

#define CS35L41_ASP_FMT_MASK
#define CS35L41_ASP_FMT_SHIFT
#define CS35L41_ASP_DOUT_HIZ_MASK
#define CS35L41_ASP_DOUT_HIZ_SHIFT
#define CS35L41_ASP_WIDTH_16
#define CS35L41_ASP_WIDTH_24
#define CS35L41_ASP_WIDTH_32
#define CS35L41_ASP_WIDTH_TX_MASK
#define CS35L41_ASP_WIDTH_TX_SHIFT
#define CS35L41_ASP_WIDTH_RX_MASK
#define CS35L41_ASP_WIDTH_RX_SHIFT
#define CS35L41_ASP_RX1_SLOT_MASK
#define CS35L41_ASP_RX1_SLOT_SHIFT
#define CS35L41_ASP_RX2_SLOT_MASK
#define CS35L41_ASP_RX2_SLOT_SHIFT
#define CS35L41_ASP_RX_WL_MASK
#define CS35L41_ASP_TX_WL_MASK
#define CS35L41_ASP_RX_WL_SHIFT
#define CS35L41_ASP_TX_WL_SHIFT
#define CS35L41_ASP_SOURCE_MASK

#define CS35L41_INPUT_SRC_ASPRX1
#define CS35L41_INPUT_SRC_ASPRX2
#define CS35L41_INPUT_SRC_VMON
#define CS35L41_INPUT_SRC_IMON
#define CS35L41_INPUT_SRC_CLASSH
#define CS35L41_INPUT_SRC_VPMON
#define CS35L41_INPUT_SRC_VBSTMON
#define CS35L41_INPUT_SRC_TEMPMON
#define CS35L41_INPUT_SRC_RSVD
#define CS35L41_INPUT_DSP_TX1
#define CS35L41_INPUT_DSP_TX2

#define CS35L41_WR_PEND_STS_MASK

#define CS35L41_PLL_CLK_SEL_MASK
#define CS35L41_PLL_CLK_SEL_SHIFT
#define CS35L41_PLL_CLK_EN_MASK
#define CS35L41_PLL_CLK_EN_SHIFT
#define CS35L41_PLL_OPENLOOP_MASK
#define CS35L41_PLL_OPENLOOP_SHIFT
#define CS35L41_PLLSRC_SCLK
#define CS35L41_PLLSRC_LRCLK
#define CS35L41_PLLSRC_SELF
#define CS35L41_PLLSRC_PDMCLK
#define CS35L41_PLLSRC_MCLK
#define CS35L41_PLLSRC_SWIRE
#define CS35L41_REFCLK_FREQ_MASK
#define CS35L41_REFCLK_FREQ_SHIFT

#define CS35L41_GLOBAL_FS_MASK
#define CS35L41_GLOBAL_FS_SHIFT

#define CS35L41_GLOBAL_EN_MASK
#define CS35L41_GLOBAL_EN_SHIFT
#define CS35L41_BST_EN_MASK
#define CS35L41_BST_EN_SHIFT
#define CS35L41_BST_DIS_FET_OFF
#define CS35L41_BST_EN_DEFAULT
#define CS35L41_AMP_EN_SHIFT
#define CS35L41_AMP_EN_MASK
#define CS35L41_VMON_EN_MASK
#define CS35L41_VMON_EN_SHIFT
#define CS35L41_IMON_EN_MASK
#define CS35L41_IMON_EN_SHIFT

#define CS35L41_PDN_DONE_MASK
#define CS35L41_PDN_DONE_SHIFT
#define CS35L41_PUP_DONE_MASK
#define CS35L41_PUP_DONE_SHIFT

#define CS35L36_PUP_DONE_IRQ_UNMASK
#define CS35L36_PUP_DONE_IRQ_MASK
#define CS35L41_SYNC_EN_MASK

#define CS35L41_AMP_SHORT_ERR
#define CS35L41_BST_SHORT_ERR
#define CS35L41_TEMP_WARN
#define CS35L41_TEMP_ERR
#define CS35L41_BST_OVP_ERR
#define CS35L41_BST_DCM_UVP_ERR
#define CS35L41_OTP_BOOT_DONE
#define CS35L41_PLL_UNLOCK
#define CS35L41_PLL_LOCK
#define CS35L41_OTP_BOOT_ERR

#define CS35L41_AMP_SHORT_ERR_RLS
#define CS35L41_BST_SHORT_ERR_RLS
#define CS35L41_BST_OVP_ERR_RLS
#define CS35L41_BST_UVP_ERR_RLS
#define CS35L41_TEMP_WARN_ERR_RLS
#define CS35L41_TEMP_ERR_RLS

#define CS35L41_AMP_SHORT_ERR_RLS_SHIFT
#define CS35L41_BST_SHORT_ERR_RLS_SHIFT
#define CS35L41_BST_OVP_ERR_RLS_SHIFT
#define CS35L41_BST_UVP_ERR_RLS_SHIFT
#define CS35L41_TEMP_WARN_ERR_RLS_SHIFT
#define CS35L41_TEMP_ERR_RLS_SHIFT

#define CS35L41_INT1_MASK_DEFAULT
#define CS35L41_INT1_UNMASK_PUP
#define CS35L41_INT1_UNMASK_PDN
#define CS35L41_INT3_PLL_LOCK_SHIFT
#define CS35L41_INT3_PLL_LOCK_MASK

#define CS35L41_GPIO_DIR_MASK
#define CS35L41_GPIO_DIR_SHIFT
#define CS35L41_GPIO1_CTRL_MASK
#define CS35L41_GPIO1_CTRL_SHIFT
#define CS35L41_GPIO2_CTRL_MASK
#define CS35L41_GPIO2_CTRL_SHIFT
#define CS35L41_GPIO_LVL_SHIFT
#define CS35L41_GPIO_LVL_MASK
#define CS35L41_GPIO_POL_MASK
#define CS35L41_GPIO_POL_SHIFT

#define CS35L41_AMP_INV_PCM_SHIFT
#define CS35L41_AMP_INV_PCM_MASK
#define CS35L41_AMP_PCM_VOL_SHIFT
#define CS35L41_AMP_PCM_VOL_MASK
#define CS35L41_AMP_PCM_VOL_MUTE

#define CS35L41_CHIP_ID
#define CS35L41R_CHIP_ID
#define CS35L41_MTLREVID_MASK
#define CS35L41_REVID_A0
#define CS35L41_REVID_B0
#define CS35L41_REVID_B2

#define CS35L41_HALO_CORE_RESET
#define CS35L41_SOFTWARE_RESET

#define CS35L41_FS1_WINDOW_MASK
#define CS35L41_FS2_WINDOW_MASK
#define CS35L41_FS2_WINDOW_SHIFT

#define CS35L41_SPI_MAX_FREQ
#define CS35L41_REGSTRIDE

enum cs35l41_boost_type {};

enum cs35l41_clk_ids {};

enum cs35l41_gpio1_func {};

enum cs35l41_gpio2_func {};

struct cs35l41_gpio_cfg {};

struct cs35l41_hw_cfg {};

struct cs35l41_otp_packed_element_t {};

struct cs35l41_otp_map_element_t {};

enum cs35l41_cspl_mbox_status {};

enum cs35l41_cspl_mbox_cmd {};

/*
 * IRQs
 */
#define CS35L41_IRQ(_irq, _name, _hand)

struct cs35l41_irq {};

#define CS35L41_REG_IRQ(_reg, _irq)

/* (0x0000E010) CS35L41_IRQ1_STATUS1 */
#define CS35L41_BST_OVP_ERR_SHIFT
#define CS35L41_BST_OVP_ERR_MASK
#define CS35L41_BST_DCM_UVP_ERR_SHIFT
#define CS35L41_BST_DCM_UVP_ERR_MASK
#define CS35L41_BST_SHORT_ERR_SHIFT
#define CS35L41_BST_SHORT_ERR_MASK
#define CS35L41_TEMP_WARN_SHIFT
#define CS35L41_TEMP_WARN_MASK
#define CS35L41_TEMP_ERR_SHIFT
#define CS35L41_TEMP_ERR_MASK
#define CS35L41_AMP_SHORT_ERR_SHIFT
#define CS35L41_AMP_SHORT_ERR_MASK

enum cs35l41_irq_list {};

extern struct regmap_config cs35l41_regmap_i2c;
extern struct regmap_config cs35l41_regmap_spi;

int cs35l41_test_key_unlock(struct device *dev, struct regmap *regmap);
int cs35l41_test_key_lock(struct device *dev, struct regmap *regmap);
int cs35l41_otp_unpack(struct device *dev, struct regmap *regmap);
int cs35l41_register_errata_patch(struct device *dev, struct regmap *reg, unsigned int reg_revid);
int cs35l41_set_channels(struct device *dev, struct regmap *reg,
			 unsigned int tx_num, const unsigned int *tx_slot,
			 unsigned int rx_num, const unsigned int *rx_slot);
int cs35l41_gpio_config(struct regmap *regmap, struct cs35l41_hw_cfg *hw_cfg);
void cs35l41_configure_cs_dsp(struct device *dev, struct regmap *reg, struct cs_dsp *dsp);
int cs35l41_set_cspl_mbox_cmd(struct device *dev, struct regmap *regmap,
			      enum cs35l41_cspl_mbox_cmd cmd);
int cs35l41_write_fs_errata(struct device *dev, struct regmap *regmap);
int cs35l41_enter_hibernate(struct device *dev, struct regmap *regmap,
			    enum cs35l41_boost_type b_type);
int cs35l41_exit_hibernate(struct device *dev, struct regmap *regmap);
int cs35l41_init_boost(struct device *dev, struct regmap *regmap,
		       struct cs35l41_hw_cfg *hw_cfg);
bool cs35l41_safe_reset(struct regmap *regmap, enum cs35l41_boost_type b_type);
int cs35l41_mdsync_up(struct regmap *regmap);
int cs35l41_global_enable(struct device *dev, struct regmap *regmap, enum cs35l41_boost_type b_type,
			  int enable, struct cs_dsp *dsp);

#endif /* __CS35L41_H */