|  | /* 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 */ |