brintos

brintos / linux-shallow public Read only

0
0
Text · 5.7 KiB · c3e52e7 Raw
201 lines · c
1/* SPDX-License-Identifier: GPL-2.0-only */2/*3 * es8326.h -- es8326 ALSA SoC audio driver4 * Copyright Everest Semiconductor Co.,Ltd5 *6 * Authors: David Yang <yangxiaohua@everest-semi.com>7 */8 9#ifndef _ES8326_H10#define _ES8326_H11 12/* ES8326 register space */13#define ES8326_RESET		0x0014#define ES8326_CLK_CTL		0x0115#define ES8326_CLK_INV		0x0216#define ES8326_CLK_RESAMPLE	0x0317#define ES8326_CLK_DIV1		0x0418#define ES8326_CLK_DIV2		0x0519#define ES8326_CLK_DLL		0x0620#define ES8326_CLK_MUX		0x0721#define ES8326_CLK_ADC_SEL	0x0822#define ES8326_CLK_DAC_SEL	0x0923#define ES8326_CLK_ADC_OSR	0x0a24#define ES8326_CLK_DAC_OSR	0x0b25#define ES8326_CLK_DIV_CPC	0x0c26#define ES8326_CLK_DIV_BCLK	0x0d27#define ES8326_CLK_TRI		0x0e28#define ES8326_CLK_DIV_LRCK	0x0f29#define ES8326_CLK_VMIDS1	0x1030#define ES8326_CLK_VMIDS2	0x1131#define ES8326_CLK_CAL_TIME	0x1232#define ES8326_FMT		0x1333 34#define ES8326_DAC_MUTE		0x1435#define ES8326_ADC_MUTE		0x1536#define ES8326_ANA_PDN		0x1637#define ES8326_PGA_PDN		0x1738#define ES8326_VMIDSEL		0x1839#define ES8326_ANA_LP		0x1940#define ES8326_ANA_DMS		0x1a41#define ES8326_ANA_MICBIAS	0x1b42#define ES8326_ANA_VSEL		0x1c43#define ES8326_SYS_BIAS		0x1d44#define ES8326_BIAS_SW1		0x1e45#define ES8326_BIAS_SW2		0x1f46#define ES8326_BIAS_SW3		0x2047#define ES8326_BIAS_SW4		0x2148#define ES8326_VMIDLOW		0x2249#define ES8326_PGAGAIN		0x2350#define ES8326_HP_DRIVER	0x2451#define ES8326_DAC2HPMIX	0x2552#define ES8326_HP_VOL		0x2653#define ES8326_HP_CAL		0x2754#define ES8326_HP_DRIVER_REF	0x2855#define ES8326_ADC_SCALE	0x2956#define ES8326_ADC1_SRC		0x2a57#define ES8326_ADC2_SRC		0x2b58#define ES8326_ADC1_VOL		0x2c59#define ES8326_ADC2_VOL		0x2d60#define ES8326_ADC_RAMPRATE	0x2e61#define ES8326_ALC_RECOVERY	0x3262#define ES8326_ALC_LEVEL	0x3363#define ES8326_ADC_HPFS1	0x3464#define ES8326_ADC_HPFS2	0x3565#define ES8326_ADC_EQ		0x3666#define ES8326_HP_OFFSET_CAL	0x4A67#define ES8326_HPL_OFFSET_INI	0x4B68#define ES8326_HPR_OFFSET_INI	0x4C69#define ES8326_DAC_DSM		0x4D70#define ES8326_DAC_RAMPRATE	0x4E71#define ES8326_DAC_VPPSCALE	0x4F72#define ES8326_DACL_VOL	        0x5073#define ES8326_DRC_RECOVERY	0x5374#define ES8326_DRC_WINSIZE	0x5475#define ES8326_DAC_CROSSTALK	0x5576#define ES8326_HPJACK_TIMER	0x5677#define ES8326_HPDET_TYPE	0x5778#define ES8326_INT_SOURCE	0x5879#define ES8326_INTOUT_IO	0x5980#define ES8326_SDINOUT1_IO	0x5A81#define ES8326_SDINOUT23_IO	0x5B82#define ES8326_JACK_PULSE	0x5C83 84#define ES8326_DACR_VOL		0xF485#define ES8326_SPKL_VOL		0xF586#define ES8326_SPKR_VOL		0xF687#define ES8326_HP_MISC		0xF788#define ES8326_CTIA_OMTP_STA	0xF889#define ES8326_PULLUP_CTL	0xF990#define ES8326_CSM_I2C_STA	0xFA91#define ES8326_HPDET_STA	0xFB92#define ES8326_CSM_MUTE_STA	0xFC93#define ES8326_CHIP_ID1		0xFD94#define ES8326_CHIP_ID2		0xFE95#define ES8326_CHIP_VERSION	0xFF96 97/* ES8326_RESET */98#define ES8326_CSM_ON (1 << 7)99#define ES8326_MASTER_MODE_EN	(1 << 6)100#define	ES8326_PWRUP_SEQ_EN	(1 << 5)101#define ES8326_CODEC_RESET (0x0f << 0)102#define ES8326_CSM_OFF (0 << 7)103#define ES8326_MUTE_MASK (3 << 0)104#define ES8326_MUTE (3 << 0)105 106/* ES8326_CLK_CTL */107#define ES8326_CLK_ON (0x7f << 0)108#define ES8326_CLK_OFF (0 << 0)109 110/* ES8326_CLK_INV */111#define ES8326_BCLK_AS_MCLK (1 << 3)112 113/* ES8326_FMT */114#define ES8326_S24_LE	(0 << 2)115#define ES8326_S20_3_LE	(1 << 2)116#define ES8326_S18_LE	(2 << 2)117#define ES8326_S16_LE	(3 << 2)118#define ES8326_S32_LE	(4 << 2)119#define ES8326_DATA_LEN_MASK	(7 << 2)120 121#define ES8326_DAIFMT_MASK	((1 << 5) | (3 << 0))122#define ES8326_DAIFMT_I2S	0123#define ES8326_DAIFMT_LEFT_J	(1 << 0)124#define ES8326_DAIFMT_DSP_A	(3 << 0)125#define ES8326_DAIFMT_DSP_B	((1 << 5) | (3 << 0))126 127/* ES8326_PGAGAIN */128#define ES8326_MIC_SEL_MASK (3 << 4)129#define ES8326_MIC1_SEL	(1 << 4)130#define ES8326_MIC2_SEL (1 << 5)131 132/* ES8326_HP_CAL */133#define ES8326_HP_OFF 0134#define ES8326_HP_FORCE_CAL ((1 << 7) | (1 << 3))135#define ES8326_HP_ON ((7 << 4) | (7 << 0))136 137/* ES8326_ADC1_SRC */138#define ES8326_ADC1_SHIFT 0139#define ES8326_ADC2_SHIFT 4140#define ES8326_ADC_SRC_ANA 0141#define ES8326_ADC_SRC_ANA_INV_SW0 1142#define ES8326_ADC_SRC_ANA_INV_SW1 2143#define ES8326_ADC_SRC_DMIC_MCLK 3144#define ES8326_ADC_SRC_DMIC_SDIN2 4145#define ES8326_ADC_SRC_DMIC_SDIN2_INV 5146#define ES8326_ADC_SRC_DMIC_SDIN3 6147#define ES8326_ADC_SRC_DMIC_SDIN3_INV 7148 149#define ES8326_ADC_AMIC	((ES8326_ADC_SRC_ANA_INV_SW1 << ES8326_ADC2_SHIFT) \150		| (ES8326_ADC_SRC_ANA_INV_SW1 << ES8326_ADC1_SHIFT))151#define ES8326_ADC_DMIC	((ES8326_ADC_SRC_DMIC_SDIN2 << ES8326_ADC2_SHIFT) \152		| (ES8326_ADC_SRC_DMIC_SDIN2 << ES8326_ADC1_SHIFT))153/* ES8326_ADC2_SRC */154#define ES8326_ADC3_SHIFT 0155#define ES8326_ADC4_SHIFT 3156 157/* ES8326_HPDET_TYPE */158#define ES8326_HP_DET_SRC_PIN27 (1 << 5)159#define ES8326_HP_DET_SRC_PIN9 (1 << 4)160#define ES8326_HP_DET_JACK_POL (1 << 3)161#define ES8326_HP_DET_BUTTON_POL (1 << 2)162#define ES8326_HP_TYPE_OMTP	(3 << 0)163#define ES8326_HP_TYPE_CTIA	(2 << 0)164#define ES8326_HP_TYPE_AUTO	(1 << 0)165#define ES8326_HP_TYPE_AUTO_INV	(0 << 0)166 167/* ES8326_INT_SOURCE */168#define ES8326_INT_SRC_DAC_MOZ (1 << 0)169#define ES8326_INT_SRC_ADC_MOZ (1 << 1)170#define ES8326_INT_SRC_BUTTON (1 << 2)171#define ES8326_INT_SRC_PIN9 (1 << 3)172#define ES8326_INT_SRC_PIN27 (1 << 4)173 174/* ES8326_SDINOUT1_IO */175#define ES8326_IO_INPUT	(0 << 0)176#define ES8326_IO_SDIN_SLOT0 (1 << 0)177#define ES8326_IO_SDIN_SLOT1 (2 << 0)178#define ES8326_IO_SDIN_SLOT2 (3 << 0)179#define ES8326_IO_SDIN_SLOT7 (8 << 0)180#define ES8326_IO_DMIC_CLK (9 << 0)181#define ES8326_IO_DMIC_CLK_INV (0x0a << 0)182#define ES8326_IO_SDOUT2 (0x0b << 0)183#define ES8326_IO_LOW (0x0e << 0)184#define ES8326_IO_HIGH (0x0f << 0)185#define ES8326_ADC2DAC (1 << 3)186#define ES8326_SDINOUT1_SHIFT 4187 188/* ES8326_SDINOUT23_IO */189#define ES8326_SDINOUT2_SHIFT 4190#define ES8326_SDINOUT3_SHIFT 0191 192/* ES8326_HPDET_STA */193#define ES8326_HPINSERT_FLAG (1 << 1)194#define ES8326_HPBUTTON_FLAG (1 << 0)195 196/* ES8326_CHIP_VERSION 0xFF */197#define ES8326_VERSION (1 << 0)198#define ES8326_VERSION_B (3 << 0)199 200#endif201