linux/sound/soc/codecs/cs35l33.h

/* SPDX-License-Identifier: GPL-2.0-only */
/*
 * cs35l33.h -- CS35L33 ALSA SoC audio driver
 *
 * Copyright 2016 Cirrus Logic, Inc.
 *
 * Author: Paul Handrigan <[email protected]>
 */

#ifndef __CS35L33_H__
#define __CS35L33_H__

#define CS35L33_CHIP_ID
#define CS35L33_DEVID_AB
#define CS35L33_DEVID_CD
#define CS35L33_DEVID_E
#define CS35L33_FAB_ID
#define CS35L33_REV_ID
#define CS35L33_PWRCTL1
#define CS35L33_PWRCTL2
#define CS35L33_CLK_CTL
#define CS35L33_BST_PEAK_CTL
#define CS35L33_PROTECT_CTL
#define CS35L33_BST_CTL1
#define CS35L33_BST_CTL2
#define CS35L33_ADSP_CTL
#define CS35L33_ADC_CTL
#define CS35L33_DAC_CTL
#define CS35L33_DIG_VOL_CTL
#define CS35L33_CLASSD_CTL
#define CS35L33_AMP_CTL
#define CS35L33_INT_MASK_1
#define CS35L33_INT_MASK_2
#define CS35L33_INT_STATUS_1
#define CS35L33_INT_STATUS_2
#define CS35L33_DIAG_LOCK
#define CS35L33_DIAG_CTRL_1
#define CS35L33_DIAG_CTRL_2
#define CS35L33_HG_MEMLDO_CTL
#define CS35L33_HG_REL_RATE
#define CS35L33_LDO_DEL
#define CS35L33_HG_HEAD
#define CS35L33_HG_EN
#define CS35L33_TX_VMON
#define CS35L33_TX_IMON
#define CS35L33_TX_VPMON
#define CS35L33_TX_VBSTMON
#define CS35L33_TX_FLAG
#define CS35L33_TX_EN1
#define CS35L33_TX_EN2
#define CS35L33_TX_EN3
#define CS35L33_TX_EN4
#define CS35L33_RX_AUD
#define CS35L33_RX_SPLY
#define CS35L33_RX_ALIVE
#define CS35L33_BST_CTL4
#define CS35L33_HG_STATUS
#define CS35L33_MAX_REGISTER

#define CS35L33_MCLK_5644
#define CS35L33_MCLK_6144
#define CS35L33_MCLK_6
#define CS35L33_MCLK_11289
#define CS35L33_MCLK_12
#define CS35L33_MCLK_12288

/* CS35L33_PWRCTL1 */
#define CS35L33_PDN_AMP
#define CS35L33_PDN_BST
#define CS35L33_PDN_ALL

/* CS35L33_PWRCTL2 */
#define CS35L33_PDN_VMON_SHIFT
#define CS35L33_PDN_VMON
#define CS35L33_PDN_IMON_SHIFT
#define CS35L33_PDN_IMON
#define CS35L33_PDN_VPMON_SHIFT
#define CS35L33_PDN_VPMON
#define CS35L33_PDN_VBSTMON_SHIFT
#define CS35L33_PDN_VBSTMON
#define CS35L33_SDOUT_3ST_I2S_SHIFT
#define CS35L33_SDOUT_3ST_I2S
#define CS35L33_PDN_SDIN_SHIFT
#define CS35L33_PDN_SDIN
#define CS35L33_PDN_TDM_SHIFT
#define CS35L33_PDN_TDM

/* CS35L33_CLK_CTL */
#define CS35L33_MCLKDIS
#define CS35L33_MCLKDIV2
#define CS35L33_SDOUT_3ST_TDM
#define CS35L33_INT_FS_RATE
#define CS35L33_ADSP_FS

/* CS35L33_PROTECT_CTL */
#define CS35L33_ALIVE_WD_DIS

/* CS35L33_BST_CTL1 */
#define CS35L33_BST_CTL_SRC
#define CS35L33_BST_CTL_SHIFT
#define CS35L33_BST_CTL_MASK

/* CS35L33_BST_CTL2 */
#define CS35L33_TDM_WD_SEL
#define CS35L33_ALIVE_WD_DIS2
#define CS35L33_VBST_SR_STEP

/* CS35L33_ADSP_CTL */
#define CS35L33_ADSP_DRIVE
#define CS35L33_MS_MASK
#define CS35L33_SDIN_LOC
#define CS35L33_ALIVE_RATE

/* CS35L33_ADC_CTL */
#define CS35L33_INV_VMON
#define CS35L33_INV_IMON
#define CS35L33_ADC_NOTCH_DIS
#define CS35L33_IMON_SCALE

/* CS35L33_DAC_CTL */
#define CS35L33_INV_DAC
#define CS35L33_DAC_NOTCH_DIS
#define CS35L33_DIGSFT
#define CS35L33_DSR_RATE

/* CS35L33_CLASSD_CTL */
#define CS35L33_AMP_SD
#define CS35L33_AMP_DRV_SEL_SRC
#define CS35L33_AMP_DRV_SEL_MASK
#define CS35L33_AMP_DRV_SEL_SHIFT
#define CS35L33_AMP_CAL
#define CS35L33_GAIN_CHG_ZC_MASK
#define CS35L33_GAIN_CHG_ZC_SHIFT
#define CS35L33_CLASS_D_CTL_MASK

/* CS35L33_AMP_CTL */
#define CS35L33_AMP_GAIN
#define CS35L33_CAL_ERR_RLS
#define CS35L33_AMP_SHORT_RLS
#define CS35L33_OTW_RLS
#define CS35L33_OTE_RLS

/* CS35L33_INT_MASK_1 */
#define CS35L33_M_CAL_ERR_SHIFT
#define CS35L33_M_CAL_ERR
#define CS35L33_M_ALIVE_ERR_SHIFT
#define CS35L33_M_ALIVE_ERR
#define CS35L33_M_AMP_SHORT_SHIFT
#define CS35L33_M_AMP_SHORT
#define CS35L33_M_OTW_SHIFT
#define CS35L33_M_OTW
#define CS35L33_M_OTE_SHIFT
#define CS35L33_M_OTE

/* CS35L33_INT_STATUS_1 */
#define CS35L33_CAL_ERR
#define CS35L33_ALIVE_ERR
#define CS35L33_ADSPCLK_ERR
#define CS35L33_MCLK_ERR
#define CS35L33_AMP_SHORT
#define CS35L33_OTW
#define CS35L33_OTE

/* CS35L33_INT_STATUS_2 */
#define CS35L33_VMON_OVFL
#define CS35L33_IMON_OVFL
#define CS35L33_VPMON_OVFL
#define CS35L33_VBSTMON_OVFL
#define CS35L33_PDN_DONE

/* CS35L33_BST_CTL4 */
#define CS35L33_BST_RGS
#define CS35L33_BST_COEFF3

/* CS35L33_HG_MEMLDO_CTL */
#define CS35L33_MEM_DEPTH_SHIFT
#define CS35L33_MEM_DEPTH_MASK
#define CS35L33_LDO_THLD_SHIFT
#define CS35L33_LDO_THLD_MASK
#define CS35L33_LDO_DISABLE_SHIFT
#define CS35L33_LDO_DISABLE_MASK

/* CS35L33_LDO_DEL */
#define CS35L33_VP_HG_VA_SHIFT
#define CS35L33_VP_HG_VA_MASK
#define CS35L33_LDO_ENTRY_DELAY_SHIFT
#define CS35L33_LDO_ENTRY_DELAY_MASK
#define CS35L33_VP_HG_RATE_SHIFT
#define CS35L33_VP_HG_RATE_MASK

/* CS35L33_HG_HEAD */
#define CS35L33_HD_RM_SHIFT
#define CS35L33_HD_RM_MASK

/* CS35L33_HG_EN */
#define CS35L33_CLASS_HG_ENA_SHIFT
#define CS35L33_CLASS_HG_EN_MASK
#define CS35L33_VP_HG_AUTO_SHIFT
#define CS35L33_VP_HG_AUTO_MASK
#define CS35L33_VP_HG_SHIFT
#define CS35L33_VP_HG_MASK

#define CS35L33_RATES
#define CS35L33_FORMATS

/* CS35L33_{RX,TX}_X */
#define CS35L33_X_STATE_SHIFT
#define CS35L33_X_STATE
#define CS35L33_X_LOC_SHIFT
#define CS35L33_X_LOC

/* CS35L33_RX_AUD */
#define CS35L33_AUDIN_RX_DEPTH_SHIFT
#define CS35L33_AUDIN_RX_DEPTH

#endif