File Index
Files and directories
Sign in
FILE

es8375.h

File preview with syntax highlighting.

linux-6.19.14/sound/soc/codecs/es8375.h C
  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.