hc
2025-02-14 bbb9540dc49f70f6b703d1c8d1b85fa5f602d86e
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
/* SPDX-License-Identifier: GPL-2.0-only */
/*
 * 88pm860x-codec.h -- 88PM860x ALSA SoC Audio Driver
 *
 * Copyright 2010 Marvell International Ltd.
 *    Haojian Zhuang <haojian.zhuang@marvell.com>
 */
 
#ifndef __88PM860X_H
#define __88PM860X_H
 
#define PM860X_PCM_IFACE_1        0xb0
#define PM860X_PCM_IFACE_2        0xb1
#define PM860X_PCM_IFACE_3        0xb2
#define PM860X_PCM_RATE            0xb3
#define PM860X_EC_PATH            0xb4
#define PM860X_SIDETONE_L_GAIN        0xb5
#define PM860X_SIDETONE_R_GAIN        0xb6
#define PM860X_SIDETONE_SHIFT        0xb7
#define PM860X_ADC_OFFSET_1        0xb8
#define PM860X_ADC_OFFSET_2        0xb9
#define PM860X_DMIC_DELAY        0xba
 
#define PM860X_I2S_IFACE_1        0xbb
#define PM860X_I2S_IFACE_2        0xbc
#define PM860X_I2S_IFACE_3        0xbd
#define PM860X_I2S_IFACE_4        0xbe
#define PM860X_EQUALIZER_N0_1        0xbf
#define PM860X_EQUALIZER_N0_2        0xc0
#define PM860X_EQUALIZER_N1_1        0xc1
#define PM860X_EQUALIZER_N1_2        0xc2
#define PM860X_EQUALIZER_D1_1        0xc3
#define PM860X_EQUALIZER_D1_2        0xc4
#define PM860X_LOFI_GAIN_LEFT        0xc5
#define PM860X_LOFI_GAIN_RIGHT        0xc6
#define PM860X_HIFIL_GAIN_LEFT        0xc7
#define PM860X_HIFIL_GAIN_RIGHT        0xc8
#define PM860X_HIFIR_GAIN_LEFT        0xc9
#define PM860X_HIFIR_GAIN_RIGHT        0xca
#define PM860X_DAC_OFFSET        0xcb
#define PM860X_OFFSET_LEFT_1        0xcc
#define PM860X_OFFSET_LEFT_2        0xcd
#define PM860X_OFFSET_RIGHT_1        0xce
#define PM860X_OFFSET_RIGHT_2        0xcf
#define PM860X_ADC_ANA_1        0xd0
#define PM860X_ADC_ANA_2        0xd1
#define PM860X_ADC_ANA_3        0xd2
#define PM860X_ADC_ANA_4        0xd3
#define PM860X_ANA_TO_ANA        0xd4
#define PM860X_HS1_CTRL            0xd5
#define PM860X_HS2_CTRL            0xd6
#define PM860X_LO1_CTRL            0xd7
#define PM860X_LO2_CTRL            0xd8
#define PM860X_EAR_CTRL_1        0xd9
#define PM860X_EAR_CTRL_2        0xda
#define PM860X_AUDIO_SUPPLIES_1        0xdb
#define PM860X_AUDIO_SUPPLIES_2        0xdc
#define PM860X_ADC_EN_1            0xdd
#define PM860X_ADC_EN_2            0xde
#define PM860X_DAC_EN_1            0xdf
#define PM860X_DAC_EN_2            0xe1
#define PM860X_AUDIO_CAL_1        0xe2
#define PM860X_AUDIO_CAL_2        0xe3
#define PM860X_AUDIO_CAL_3        0xe4
#define PM860X_AUDIO_CAL_4        0xe5
#define PM860X_AUDIO_CAL_5        0xe6
#define PM860X_ANA_INPUT_SEL_1        0xe7
#define PM860X_ANA_INPUT_SEL_2        0xe8
 
#define PM860X_PCM_IFACE_4        0xe9
#define PM860X_I2S_IFACE_5        0xea
 
#define PM860X_SHORTS            0x3b
#define PM860X_PLL_ADJ_1        0x3c
#define PM860X_PLL_ADJ_2        0x3d
 
/* bits definition */
#define PM860X_CLK_DIR_IN        0
#define PM860X_CLK_DIR_OUT        1
 
#define PM860X_DET_HEADSET        (1 << 0)
#define PM860X_DET_MIC            (1 << 1)
#define PM860X_DET_HOOK            (1 << 2)
#define PM860X_SHORT_HEADSET        (1 << 3)
#define PM860X_SHORT_LINEOUT        (1 << 4)
#define PM860X_DET_MASK            0x1F
 
extern int pm860x_hs_jack_detect(struct snd_soc_component *, struct snd_soc_jack *,
                int, int, int, int);
extern int pm860x_mic_jack_detect(struct snd_soc_component *, struct snd_soc_jack *,
                 int);
 
#endif    /* __88PM860X_H */