123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123 |
- /* SPDX-License-Identifier: GPL-2.0-only */
- /*
- * da732x.h -- Dialog DA732X ALSA SoC Audio Driver Header File
- *
- * Copyright (C) 2012 Dialog Semiconductor GmbH
- *
- * Author: Michal Hajduk <[email protected]>
- */
- #ifndef __DA732X_H_
- #define __DA732X_H_
- #include <sound/soc.h>
- /* General */
- #define DA732X_U8_MASK 0xFF
- #define DA732X_4BYTES 4
- #define DA732X_3BYTES 3
- #define DA732X_2BYTES 2
- #define DA732X_1BYTE 1
- #define DA732X_1BYTE_SHIFT 8
- #define DA732X_2BYTES_SHIFT 16
- #define DA732X_3BYTES_SHIFT 24
- #define DA732X_4BYTES_SHIFT 32
- #define DA732X_DACS_DIS 0x0
- #define DA732X_HP_DIS 0x0
- #define DA732X_CLEAR_REG 0x0
- /* Calibration */
- #define DA732X_DAC_OFFSET_STEP 0x20
- #define DA732X_OUTPUT_OFFSET_STEP 0x80
- #define DA732X_HP_OUT_TRIM_VAL 0x0
- #define DA732X_WAIT_FOR_STABILIZATION 1
- #define DA732X_HPL_DAC 0
- #define DA732X_HPR_DAC 1
- #define DA732X_HP_DACS 2
- #define DA732X_HPL_AMP 0
- #define DA732X_HPR_AMP 1
- #define DA732X_HP_AMPS 2
- /* Clock settings */
- #define DA732X_STARTUP_DELAY 100
- #define DA732X_PLL_OUT_196608 196608000
- #define DA732X_PLL_OUT_180634 180633600
- #define DA732X_PLL_OUT_SRM 188620800
- #define DA732X_MCLK_10MHZ 10000000
- #define DA732X_MCLK_20MHZ 20000000
- #define DA732X_MCLK_40MHZ 40000000
- #define DA732X_MCLK_54MHZ 54000000
- #define DA732X_MCLK_VAL_0_10MHZ 0
- #define DA732X_MCLK_VAL_10_20MHZ 1
- #define DA732X_MCLK_VAL_20_40MHZ 2
- #define DA732X_MCLK_VAL_40_54MHZ 3
- #define DA732X_DAI_ID1 0
- #define DA732X_DAI_ID2 1
- #define DA732X_SRCCLK_PLL 0
- #define DA732X_SRCCLK_MCLK 1
- #define DA732X_LIN_LP_VOL 0x4F
- #define DA732X_LP_VOL 0x40
- /* Kcontrols */
- #define DA732X_DAC_EN_MAX 2
- #define DA732X_ADCL_MUX_MAX 2
- #define DA732X_ADCR_MUX_MAX 3
- #define DA732X_HPF_MODE_MAX 3
- #define DA732X_HPF_MODE_SHIFT 4
- #define DA732X_HPF_MUSIC_SHIFT 0
- #define DA732X_HPF_MUSIC_MAX 4
- #define DA732X_HPF_VOICE_SHIFT 4
- #define DA732X_HPF_VOICE_MAX 8
- #define DA732X_EQ_EN_MAX 1
- #define DA732X_HPF_VOICE 1
- #define DA732X_HPF_MUSIC 2
- #define DA732X_HPF_DISABLED 0
- #define DA732X_NO_INVERT 0
- #define DA732X_INVERT 1
- #define DA732X_SWITCH_MAX 1
- #define DA732X_ENABLE_CP 1
- #define DA732X_DISABLE_CP 0
- #define DA732X_DISABLE_ALL_CLKS 0
- #define DA732X_RESET_ADCS 0
- /* dB values */
- #define DA732X_MIC_VOL_DB_MIN 0
- #define DA732X_MIC_VOL_DB_INC 50
- #define DA732X_MIC_PRE_VOL_DB_MIN 0
- #define DA732X_MIC_PRE_VOL_DB_INC 600
- #define DA732X_AUX_VOL_DB_MIN -6000
- #define DA732X_AUX_VOL_DB_INC 150
- #define DA732X_HP_VOL_DB_MIN -2250
- #define DA732X_HP_VOL_DB_INC 150
- #define DA732X_LIN2_VOL_DB_MIN -1650
- #define DA732X_LIN2_VOL_DB_INC 150
- #define DA732X_LIN3_VOL_DB_MIN -1650
- #define DA732X_LIN3_VOL_DB_INC 150
- #define DA732X_LIN4_VOL_DB_MIN -2250
- #define DA732X_LIN4_VOL_DB_INC 150
- #define DA732X_EQ_BAND_VOL_DB_MIN -1050
- #define DA732X_EQ_BAND_VOL_DB_INC 150
- #define DA732X_DAC_VOL_DB_MIN -7725
- #define DA732X_DAC_VOL_DB_INC 75
- #define DA732X_ADC_VOL_DB_MIN 0
- #define DA732X_ADC_VOL_DB_INC -1
- #define DA732X_EQ_OVERALL_VOL_DB_MIN -1800
- #define DA732X_EQ_OVERALL_VOL_DB_INC 600
- enum da732x_sysctl {
- DA732X_SR_8KHZ = 0x1,
- DA732X_SR_11_025KHZ = 0x2,
- DA732X_SR_12KHZ = 0x3,
- DA732X_SR_16KHZ = 0x5,
- DA732X_SR_22_05KHZ = 0x6,
- DA732X_SR_24KHZ = 0x7,
- DA732X_SR_32KHZ = 0x9,
- DA732X_SR_44_1KHZ = 0xA,
- DA732X_SR_48KHZ = 0xB,
- DA732X_SR_88_1KHZ = 0xE,
- DA732X_SR_96KHZ = 0xF,
- };
- #endif /* __DA732X_H_ */
|