File Index
Files and directories
Sign in
FILE

es8389.h

File preview with syntax highlighting.

linux-6.19.14/sound/soc/codecs/es8389.h C
  1/* SPDX-License-Identifier: GPL-2.0-only */
  2/*
  3* ES8389.h  --  ES8389 ALSA SoC Audio Codec
  4*
  5* Authors:
  6*
  7* Based on ES8374.h by Michael Zhang
  8*/
  9
 10#ifndef _ES8389_H
 11#define _ES8389_H
 12
 13/*
 14*     ES8389_REGISTER NAME_REG_REGISTER ADDRESS
 15*/
 16#define ES8389_RESET                  0x00  /*reset digital,csm,clock manager etc.*/
 17
 18/*
 19* Clock Scheme Register definition
 20*/
 21#define ES8389_MASTER_MODE            0x01
 22#define ES8389_MASTER_CLK             0x02
 23#define ES8389_CLK_OFF1               0x03
 24#define ES8389_CLK_DIV1               0x04
 25#define ES8389_CLK_MUL                0x05
 26#define ES8389_CLK_MUX1               0x06
 27#define ES8389_CLK_MUX2               0x07
 28#define ES8389_CLK_CTL1               0x08
 29#define ES8389_CLK_CTL2               0x09
 30#define ES8389_CLK_CTL3               0x0A
 31#define ES8389_SCLK_DIV               0x0B
 32#define ES8389_LRCK_DIV1              0x0C
 33#define ES8389_LRCK_DIV2              0x0D
 34#define ES8389_CLK_OFF2               0x0E
 35#define ES8389_OSC_CLK                0x0F
 36#define ES8389_CSM_JUMP               0x10
 37#define ES8389_CLK_DIV2               0x11
 38#define ES8389_SYSTEM12               0x12
 39#define ES8389_SYSTEM13               0x13
 40#define ES8389_SYSTEM14               0x14
 41#define ES8389_SYSTEM15               0x15
 42#define ES8389_SYSTEM16               0x16
 43#define ES8389_SYSTEM17               0x17
 44#define ES8389_SYSTEM18               0x18
 45#define ES8389_SYSTEM19               0x19
 46#define ES8389_SYSTEM1A               0x1A
 47#define ES8389_SYSTEM1B               0x1B
 48#define ES8389_SYSTEM1C               0x1C
 49#define ES8389_ADC_FORMAT_MUTE        0x20
 50#define ES8389_ADC_OSR                0x21
 51#define ES8389_ADC_DSP                0x22
 52#define ES8389_ADC_MODE               0x23
 53#define ES8389_ADC_HPF1               0x24
 54#define ES8389_ADC_HPF2               0x25
 55#define ES8389_OSR_VOL                0x26
 56#define ES8389_ADCL_VOL               0x27
 57#define ES8389_ADCR_VOL               0x28
 58#define ES8389_ALC_CTL                0x29
 59#define ES8389_PTDM_SLOT              0x2A
 60#define ES8389_ALC_ON                 0x2B
 61#define ES8389_ALC_TARGET             0x2C
 62#define ES8389_ALC_GAIN               0x2D
 63#define ES8389_SYSTEM2E               0x2E
 64#define ES8389_ADC_MUTE               0x2F
 65#define ES8389_SYSTEM30               0x30
 66#define ES8389_ADC_RESET              0x31
 67#define ES8389_DAC_FORMAT_MUTE        0x40
 68#define ES8389_DAC_DSM_OSR            0x41
 69#define ES8389_DAC_DSP_OSR            0x42
 70#define ES8389_DAC_MISC               0x43
 71#define ES8389_DAC_MIX                0x44
 72#define ES8389_DAC_INV                0x45
 73#define ES8389_DACL_VOL               0x46
 74#define ES8389_DACR_VOL               0x47
 75#define ES8389_MIX_VOL                0x48
 76#define ES8389_DAC_RAMP               0x49
 77#define ES8389_SYSTEM4C               0x4C
 78#define ES8389_DAC_RESET              0x4D
 79#define ES8389_VMID                   0x60
 80#define ES8389_ANA_CTL1               0x61
 81#define ES8389_ANA_VSEL               0x62
 82#define ES8389_ANA_CTL2               0x63
 83#define ES8389_ADC_EN                 0x64
 84#define ES8389_HPSW                   0x69
 85#define ES8389_LOW_POWER1             0x6B
 86#define ES8389_LOW_POWER2             0x6C
 87#define ES8389_DMIC_EN                0x6D
 88#define ES8389_PGA_SW                 0x6E
 89#define ES8389_MOD_SW1                0x6F
 90#define ES8389_MOD_SW2                0x70
 91#define ES8389_MOD_SW3                0x71
 92#define ES8389_MIC1_GAIN              0x72
 93#define ES8389_MIC2_GAIN              0x73
 94
 95#define ES8389_CHIP_MISC              0xF0
 96#define ES8389_CSM_STATE1             0xF1
 97#define ES8389_PULL_DOWN              0xF2
 98#define ES8389_ISO_CTL                0xF3
 99#define ES8389_CSM_STATE2             0xF4
100
101#define ES8389_CHIP_ID0               0xFD
102#define ES8389_CHIP_ID1               0xFE
103
104#define ES8389_MAX_REGISTER           0xFF
105
106#define ES8389_MIC_SEL_MASK           (7 << 4)
107#define ES8389_MIC_DEFAULT            (1 << 4)
108
109#define ES8389_MASTER_MODE_EN         (1 << 0)
110
111#define ES8389_TDM_OFF                (0 << 0)
112#define ES8389_STDM_ON                (1 << 7)
113#define ES8389_PTDM_ON                (1 << 6)
114
115#define ES8389_TDM_MODE               ES8389_TDM_OFF
116#define ES8389_TDM_SLOT               (0x70 << 0)
117#define ES8389_TDM_SHIFT              4
118
119#define ES8389_MCLK_SOURCE            (1 << 6)
120#define ES8389_MCLK_PIN               (1 << 6)
121#define ES8389_SCLK_PIN               (0 << 6)
122
123/* ES8389_FMT */
124#define ES8389_S24_LE                 (0 << 5)
125#define ES8389_S20_3_LE               (1 << 5)
126#define ES8389_S18_LE                 (2 << 5)
127#define ES8389_S16_LE                 (3 << 5)
128#define ES8389_S32_LE                 (4 << 5)
129#define ES8389_DATA_LEN_MASK          (7 << 5)
130
131#define ES8389_DAIFMT_MASK            (7 << 2)
132#define ES8389_DAIFMT_I2S             0
133#define ES8389_DAIFMT_LEFT_J          (1 << 2)
134#define ES8389_DAIFMT_DSP_A           (1 << 3)
135#define ES8389_DAIFMT_DSP_B           (3 << 3)
136
137#define ES8389_STATE_ON               (13 << 0)
138#define ES8389_STATE_STANDBY          (7 << 0)
139
140#endif
~/ Read-only file preview.