linux/sound/soc/codecs/es8328.h

/* SPDX-License-Identifier: GPL-2.0 */
/*
 * es8328.h  --  ES8328 ALSA SoC Audio driver
 */

#ifndef _ES8328_H
#define _ES8328_H

#include <linux/regmap.h>

struct device;

extern const struct regmap_config es8328_regmap_config;
int es8328_probe(struct device *dev, struct regmap *regmap);

#define ES8328_DACLVOL
#define ES8328_DACRVOL
#define ES8328_DACCTL
#define ES8328_RATEMASK

#define ES8328_CONTROL1
#define ES8328_CONTROL1_VMIDSEL_OFF
#define ES8328_CONTROL1_VMIDSEL_50k
#define ES8328_CONTROL1_VMIDSEL_500k
#define ES8328_CONTROL1_VMIDSEL_5k
#define ES8328_CONTROL1_VMIDSEL_MASK
#define ES8328_CONTROL1_ENREF
#define ES8328_CONTROL1_SEQEN
#define ES8328_CONTROL1_SAMEFS
#define ES8328_CONTROL1_DACMCLK_ADC
#define ES8328_CONTROL1_DACMCLK_DAC
#define ES8328_CONTROL1_LRCM
#define ES8328_CONTROL1_SCP_RESET

#define ES8328_CONTROL2
#define ES8328_CONTROL2_VREF_BUF_OFF
#define ES8328_CONTROL2_VREF_LOWPOWER
#define ES8328_CONTROL2_IBIASGEN_OFF
#define ES8328_CONTROL2_ANALOG_OFF
#define ES8328_CONTROL2_VREF_BUF_LOWPOWER
#define ES8328_CONTROL2_VCM_MOD_LOWPOWER
#define ES8328_CONTROL2_OVERCURRENT_ON
#define ES8328_CONTROL2_THERMAL_SHUTDOWN_ON

#define ES8328_CHIPPOWER
#define ES8328_CHIPPOWER_DACVREF_OFF
#define ES8328_CHIPPOWER_ADCVREF_OFF
#define ES8328_CHIPPOWER_DACDLL_OFF
#define ES8328_CHIPPOWER_ADCDLL_OFF
#define ES8328_CHIPPOWER_DACSTM_RESET
#define ES8328_CHIPPOWER_ADCSTM_RESET
#define ES8328_CHIPPOWER_DACDIG_OFF
#define ES8328_CHIPPOWER_ADCDIG_OFF

#define ES8328_ADCPOWER
#define ES8328_ADCPOWER_INT1_LOWPOWER
#define ES8328_ADCPOWER_FLASH_ADC_LOWPOWER
#define ES8328_ADCPOWER_ADC_BIAS_GEN_OFF
#define ES8328_ADCPOWER_MIC_BIAS_OFF
#define ES8328_ADCPOWER_ADCR_OFF
#define ES8328_ADCPOWER_ADCL_OFF
#define ES8328_ADCPOWER_AINR_OFF
#define ES8328_ADCPOWER_AINL_OFF

#define ES8328_DACPOWER
#define ES8328_DACPOWER_OUT3_ON
#define ES8328_DACPOWER_MONO_ON
#define ES8328_DACPOWER_ROUT2_ON
#define ES8328_DACPOWER_LOUT2_ON
#define ES8328_DACPOWER_ROUT1_ON
#define ES8328_DACPOWER_LOUT1_ON
#define ES8328_DACPOWER_RDAC_OFF
#define ES8328_DACPOWER_LDAC_OFF

#define ES8328_CHIPLOPOW1
#define ES8328_CHIPLOPOW2
#define ES8328_ANAVOLMANAG

#define ES8328_MASTERMODE
#define ES8328_MASTERMODE_BCLKDIV
#define ES8328_MASTERMODE_BCLK_INV
#define ES8328_MASTERMODE_MCLKDIV2
#define ES8328_MASTERMODE_MSC

#define ES8328_ADCCONTROL1
#define ES8328_ADCCONTROL2
#define ES8328_ADCCONTROL3

#define ES8328_ADCCONTROL4
#define ES8328_ADCCONTROL4_ADCFORMAT_MASK
#define ES8328_ADCCONTROL4_ADCFORMAT_I2S
#define ES8328_ADCCONTROL4_ADCFORMAT_LJUST
#define ES8328_ADCCONTROL4_ADCFORMAT_RJUST
#define ES8328_ADCCONTROL4_ADCFORMAT_PCM
#define ES8328_ADCCONTROL4_ADCWL_SHIFT
#define ES8328_ADCCONTROL4_ADCWL_MASK
#define ES8328_ADCCONTROL4_ADCLRP_I2S_POL_NORMAL
#define ES8328_ADCCONTROL4_ADCLRP_I2S_POL_INV
#define ES8328_ADCCONTROL4_ADCLRP_PCM_MSB_CLK2
#define ES8328_ADCCONTROL4_ADCLRP_PCM_MSB_CLK1

#define ES8328_ADCCONTROL5
#define ES8328_ADCCONTROL5_RATEMASK

#define ES8328_ADCCONTROL6

#define ES8328_ADCCONTROL7
#define ES8328_ADCCONTROL7_ADC_MUTE
#define ES8328_ADCCONTROL7_ADC_LER
#define ES8328_ADCCONTROL7_ADC_ZERO_CROSS
#define ES8328_ADCCONTROL7_ADC_SOFT_RAMP
#define ES8328_ADCCONTROL7_ADC_RAMP_RATE_4
#define ES8328_ADCCONTROL7_ADC_RAMP_RATE_8
#define ES8328_ADCCONTROL7_ADC_RAMP_RATE_16
#define ES8328_ADCCONTROL7_ADC_RAMP_RATE_32

#define ES8328_ADCCONTROL8
#define ES8328_ADCCONTROL9
#define ES8328_ADCCONTROL10
#define ES8328_ADCCONTROL11
#define ES8328_ADCCONTROL12
#define ES8328_ADCCONTROL13
#define ES8328_ADCCONTROL14

#define ES8328_DACCONTROL1
#define ES8328_DACCONTROL1_DACFORMAT_MASK
#define ES8328_DACCONTROL1_DACFORMAT_I2S
#define ES8328_DACCONTROL1_DACFORMAT_LJUST
#define ES8328_DACCONTROL1_DACFORMAT_RJUST
#define ES8328_DACCONTROL1_DACFORMAT_PCM
#define ES8328_DACCONTROL1_DACWL_SHIFT
#define ES8328_DACCONTROL1_DACWL_MASK
#define ES8328_DACCONTROL1_DACLRP_I2S_POL_NORMAL
#define ES8328_DACCONTROL1_DACLRP_I2S_POL_INV
#define ES8328_DACCONTROL1_DACLRP_PCM_MSB_CLK2
#define ES8328_DACCONTROL1_DACLRP_PCM_MSB_CLK1
#define ES8328_DACCONTROL1_LRSWAP

#define ES8328_DACCONTROL2
#define ES8328_DACCONTROL2_RATEMASK
#define ES8328_DACCONTROL2_DOUBLESPEED

#define ES8328_DACCONTROL3
#define ES8328_DACCONTROL3_AUTOMUTE
#define ES8328_DACCONTROL3_DACMUTE
#define ES8328_DACCONTROL3_LEFTGAINVOL
#define ES8328_DACCONTROL3_DACZEROCROSS
#define ES8328_DACCONTROL3_DACSOFTRAMP
#define ES8328_DACCONTROL3_DACRAMPRATE

#define ES8328_LDACVOL
#define ES8328_LDACVOL_MASK
#define ES8328_LDACVOL_MAX

#define ES8328_RDACVOL
#define ES8328_RDACVOL_MASK
#define ES8328_RDACVOL_MAX

#define ES8328_DACVOL_MAX

#define ES8328_DACCONTROL4
#define ES8328_DACCONTROL5

#define ES8328_DACCONTROL6
#define ES8328_DACCONTROL6_CLICKFREE
#define ES8328_DACCONTROL6_DAC_INVR
#define ES8328_DACCONTROL6_DAC_INVL
#define ES8328_DACCONTROL6_DEEMPH_MASK
#define ES8328_DACCONTROL6_DEEMPH_OFF
#define ES8328_DACCONTROL6_DEEMPH_32k
#define ES8328_DACCONTROL6_DEEMPH_44_1k
#define ES8328_DACCONTROL6_DEEMPH_48k

#define ES8328_DACCONTROL7
#define ES8328_DACCONTROL7_VPP_SCALE_3p5
#define ES8328_DACCONTROL7_VPP_SCALE_4p0
#define ES8328_DACCONTROL7_VPP_SCALE_3p0
#define ES8328_DACCONTROL7_VPP_SCALE_2p5
#define ES8328_DACCONTROL7_SHELVING_STRENGTH
#define ES8328_DACCONTROL7_MONO
#define ES8328_DACCONTROL7_ZEROR
#define ES8328_DACCONTROL7_ZEROL

/* Shelving filter */
#define ES8328_DACCONTROL8
#define ES8328_DACCONTROL9
#define ES8328_DACCONTROL10
#define ES8328_DACCONTROL11
#define ES8328_DACCONTROL12
#define ES8328_DACCONTROL13
#define ES8328_DACCONTROL14
#define ES8328_DACCONTROL15

#define ES8328_DACCONTROL16
#define ES8328_DACCONTROL16_RMIXSEL_RIN1
#define ES8328_DACCONTROL16_RMIXSEL_RIN2
#define ES8328_DACCONTROL16_RMIXSEL_RIN3
#define ES8328_DACCONTROL16_RMIXSEL_RADC
#define ES8328_DACCONTROL16_LMIXSEL_LIN1
#define ES8328_DACCONTROL16_LMIXSEL_LIN2
#define ES8328_DACCONTROL16_LMIXSEL_LIN3
#define ES8328_DACCONTROL16_LMIXSEL_LADC

#define ES8328_DACCONTROL17
#define ES8328_DACCONTROL17_LI2LOVOL
#define ES8328_DACCONTROL17_LI2LO
#define ES8328_DACCONTROL17_LD2LO

#define ES8328_DACCONTROL18
#define ES8328_DACCONTROL18_RI2LOVOL
#define ES8328_DACCONTROL18_RI2LO
#define ES8328_DACCONTROL18_RD2LO

#define ES8328_DACCONTROL19
#define ES8328_DACCONTROL19_LI2ROVOL
#define ES8328_DACCONTROL19_LI2RO
#define ES8328_DACCONTROL19_LD2RO

#define ES8328_DACCONTROL20
#define ES8328_DACCONTROL20_RI2ROVOL
#define ES8328_DACCONTROL20_RI2RO
#define ES8328_DACCONTROL20_RD2RO

#define ES8328_DACCONTROL21
#define ES8328_DACCONTROL21_LI2MOVOL
#define ES8328_DACCONTROL21_LI2MO
#define ES8328_DACCONTROL21_LD2MO

#define ES8328_DACCONTROL22
#define ES8328_DACCONTROL22_RI2MOVOL
#define ES8328_DACCONTROL22_RI2MO
#define ES8328_DACCONTROL22_RD2MO

#define ES8328_DACCONTROL23
#define ES8328_DACCONTROL23_MOUTINV
#define ES8328_DACCONTROL23_HPSWPOL
#define ES8328_DACCONTROL23_HPSWEN
#define ES8328_DACCONTROL23_VROI_1p5k
#define ES8328_DACCONTROL23_VROI_40k
#define ES8328_DACCONTROL23_OUT3_VREF
#define ES8328_DACCONTROL23_OUT3_ROUT1
#define ES8328_DACCONTROL23_OUT3_MONOOUT
#define ES8328_DACCONTROL23_OUT3_RIGHT_MIXER
#define ES8328_DACCONTROL23_ROUT2INV

/* LOUT1 Amplifier */
#define ES8328_LOUT1VOL
#define ES8328_LOUT1VOL_MASK
#define ES8328_LOUT1VOL_MAX

/* ROUT1 Amplifier */
#define ES8328_ROUT1VOL
#define ES8328_ROUT1VOL_MASK
#define ES8328_ROUT1VOL_MAX

#define ES8328_OUT1VOL_MAX

/* LOUT2 Amplifier */
#define ES8328_LOUT2VOL
#define ES8328_LOUT2VOL_MASK
#define ES8328_LOUT2VOL_MAX

/* ROUT2 Amplifier */
#define ES8328_ROUT2VOL
#define ES8328_ROUT2VOL_MASK
#define ES8328_ROUT2VOL_MAX

#define ES8328_OUT2VOL_MAX

/* Mono Out Amplifier */
#define ES8328_MONOOUTVOL
#define ES8328_MONOOUTVOL_MASK
#define ES8328_MONOOUTVOL_MAX

#define ES8328_DACCONTROL29
#define ES8328_DACCONTROL30

#define ES8328_SYSCLK

#define ES8328_REG_MAX

#define ES8328_1536FS
#define ES8328_1024FS
#define ES8328_768FS
#define ES8328_512FS
#define ES8328_384FS
#define ES8328_256FS
#define ES8328_128FS

#endif