FILE
es8375.h
File preview with syntax highlighting.
linux-6.19.14/sound/soc/codecs/es8375.h
1/* SPDX-License-Identifier: GPL-2.0-only */ 2/* 3* ES8375.h -- ES8375 ALSA SoC Audio Codec 4* 5* Authors: 6* 7* Based on ES8375.h by Michael Zhang 8*/ 9#ifndef _ES8375_H 10#define _ES8375_H 11 12// Registors 13#define ES8375_RESET1 0x00 14#define ES8375_MCLK_SEL 0x01 15#define ES8375_CLK_MGR2 0x02 16#define ES8375_CLK_MGR3 0x03 17#define ES8375_CLK_MGR4 0x04 18#define ES8375_CLK_MGR5 0x05 19#define ES8375_CLK_MGR6 0x06 20#define ES8375_CLK_MGR7 0x07 21#define ES8375_CLK_MGR8 0x08 22#define ES8375_CLK_MGR9 0x09 23#define ES8375_CLK_MGR10 0x0A 24#define ES8375_CLK_MGR11 0x0B 25#define ES8375_CLK_MGR12 0x0C 26#define ES8375_DIV_SPKCLK 0x0E 27#define ES8375_CSM1 0x0F 28#define ES8375_CSM2 0x10 29#define ES8375_VMID_CHARGE2 0x11 30#define ES8375_VMID_CHARGE3 0x12 31#define ES8375_SDP 0x15 32#define ES8375_SDP2 0x16 33#define ES8375_ADC1 0x17 34#define ES8375_ADC2 0x18 35#define ES8375_ADC_OSR_GAIN 0x19 36#define ES8375_ADC_VOLUME 0x1A 37#define ES8375_ADC_AUTOMUTE 0x1B 38#define ES8375_ADC_AUTOMUTE_ATTN 0x1C 39#define ES8375_HPF1 0x1D 40#define ES8375_DAC1 0x1F 41#define ES8375_DAC2 0x20 42#define ES8375_DAC_VOLUME 0x21 43#define ES8375_DAC_VPPSCALE 0x22 44#define ES8375_DAC_AUTOMUTE1 0x23 45#define ES8375_DAC_AUTOMUTE 0x24 46#define ES8375_DAC_CAL 0x25 47#define ES8375_DAC_OTP 0x27 48#define ES8375_ANALOG_SPK1 0x28 49#define ES8375_ANALOG_SPK2 0x29 50#define ES8375_VMID_SEL 0x2D 51#define ES8375_ANALOG1 0x2E 52#define ES8375_ANALOG2 0x32 53#define ES8375_ANALOG3 0x37 54#define ES8375_ADC2DAC_CLKTRI 0xF8 55#define ES8375_SYS_CTRL2 0xF9 56#define ES8375_FLAGS2 0xFB 57#define ES8375_SPK_OFFSET 0xFC 58#define ES8375_CHIP_ID1 0xFD 59#define ES8375_CHIP_ID0 0xFE 60#define ES8375_CHIP_VERSION 0xFF 61 62// Bit Shifts 63#define ADC_OSR_GAIN_SHIFT_0 0 64#define ADC_RAMPRATE_SHIFT_0 0 65#define ADC_VOLUME_SHIFT_0 0 66#define ADC_AUTOMUTE_NG_SHIFT_0 0 67#define ADC_AUTOMUTE_ATTN_SHIFT_0 0 68#define DAC_RAMPRATE_SHIFT_0 0 69#define DAC_VOLUME_SHIFT_0 0 70#define DAC_VPPSCALE_SHIFT_0 0 71#define DAC_AUTOMUTE_NG_SHIFT_0 0 72#define DAC_AUTOMUTE_ATTN_SHIFT_0 0 73#define DMIC_GAIN_SHIFT_2 2 74#define ADC_AUTOMUTE_WS_SHIFT_3 3 75#define DMIC_POL_SHIFT_4 4 76#define DAC_RAMCLR_SHIFT_4 4 77#define ES8375_EN_MODL_SHIFT_4 4 78#define ADC_RAMCLR_SHIFT_5 5 79#define ADC_HPF_SHIFT_5 5 80#define DAC_INV_SHIFT_5 5 81#define DAC_AUTOMUTE_WS_SHIFT_5 5 82#define ES8375_EN_PGAL_SHIFT_5 5 83#define ES8375_ADC_P2S_MUTE_SHIFT_5 5 84#define ADC_INV_SHIFT_6 6 85#define DAC_DEMMUTE_SHIFT_6 6 86#define ES8375_DAC_S2P_MUTE_SHIFT_6 6 87#define ADC_SRC_SHIFT_7 7 88#define ADC_AUTOMUTE_SHIFT_7 7 89#define DAC_DSMMUTE_SHIFT_7 7 90#define DAC_AUTOMUTE_EN_SHIFT_7 7 91 92// Function values 93#define ES8375_ADC_OSR_GAIN_MAX 0x3F 94#define ES8375_DMIC_GAIN_MAX 0x04 95#define ES8375_ADC_AUTOMUTE_ATTN_MAX 0x1F 96#define ES8375_AUTOMUTE_NG_MAX 0x07 97#define ES8375_ADC_VOLUME_MAX 0xFF 98#define ES8375_DAC_VOLUME_MAX 0xFF 99#define ES8375_DAC_VPPSCALE_MAX 0x3F 100#define ES8375_DAC_AUTOMUTE_ATTN_MAX 0x17 101#define ES8375_REG_MAX 0xFF 102 103enum ES8375_supplies { 104 ES8375_SUPPLY_VD = 0, 105 ES8375_SUPPLY_VA, 106}; 107 108// Properties 109#define ES8375_3V3 1 110#define ES8375_1V8 0 111 112#define ES8375_MCLK_PIN 0 113#define ES8375_BCLK_PIN 1 114#define ES8375_MCLK_SOURCE ES8375_MCLK_PIN 115 116#define DMIC_POSITIVE_EDGE 0 117#define DMIC_NEGATIVE_EDGE 1 118#define DMIC_POL DMIC_POSITIVE_EDGE 119 120#define PA_SHUTDOWN 0 121#define PA_ENABLE 1 122 123#endif
~/
Read-only file preview.