124 lines · c
1/* SPDX-License-Identifier: GPL-2.0-only */2/*3 * da732x.h -- Dialog DA732X ALSA SoC Audio Driver Header File4 *5 * Copyright (C) 2012 Dialog Semiconductor GmbH6 *7 * Author: Michal Hajduk <Michal.Hajduk@diasemi.com>8 */9 10#ifndef __DA732X_H_11#define __DA732X_H_12 13#include <sound/soc.h>14 15/* General */16#define DA732X_U8_MASK 0xFF17#define DA732X_4BYTES 418#define DA732X_3BYTES 319#define DA732X_2BYTES 220#define DA732X_1BYTE 121#define DA732X_1BYTE_SHIFT 822#define DA732X_2BYTES_SHIFT 1623#define DA732X_3BYTES_SHIFT 2424#define DA732X_4BYTES_SHIFT 3225 26#define DA732X_DACS_DIS 0x027#define DA732X_HP_DIS 0x028#define DA732X_CLEAR_REG 0x029 30/* Calibration */31#define DA732X_DAC_OFFSET_STEP 0x2032#define DA732X_OUTPUT_OFFSET_STEP 0x8033#define DA732X_HP_OUT_TRIM_VAL 0x034#define DA732X_WAIT_FOR_STABILIZATION 135#define DA732X_HPL_DAC 036#define DA732X_HPR_DAC 137#define DA732X_HP_DACS 238#define DA732X_HPL_AMP 039#define DA732X_HPR_AMP 140#define DA732X_HP_AMPS 241 42/* Clock settings */43#define DA732X_STARTUP_DELAY 10044#define DA732X_PLL_OUT_196608 19660800045#define DA732X_PLL_OUT_180634 18063360046#define DA732X_PLL_OUT_SRM 18862080047#define DA732X_MCLK_10MHZ 1000000048#define DA732X_MCLK_20MHZ 2000000049#define DA732X_MCLK_40MHZ 4000000050#define DA732X_MCLK_54MHZ 5400000051#define DA732X_MCLK_VAL_0_10MHZ 052#define DA732X_MCLK_VAL_10_20MHZ 153#define DA732X_MCLK_VAL_20_40MHZ 254#define DA732X_MCLK_VAL_40_54MHZ 355#define DA732X_DAI_ID1 056#define DA732X_DAI_ID2 157#define DA732X_SRCCLK_PLL 058#define DA732X_SRCCLK_MCLK 159 60#define DA732X_LIN_LP_VOL 0x4F61#define DA732X_LP_VOL 0x4062 63/* Kcontrols */64#define DA732X_DAC_EN_MAX 265#define DA732X_ADCL_MUX_MAX 266#define DA732X_ADCR_MUX_MAX 367#define DA732X_HPF_MODE_MAX 368#define DA732X_HPF_MODE_SHIFT 469#define DA732X_HPF_MUSIC_SHIFT 070#define DA732X_HPF_MUSIC_MAX 471#define DA732X_HPF_VOICE_SHIFT 472#define DA732X_HPF_VOICE_MAX 873#define DA732X_EQ_EN_MAX 174#define DA732X_HPF_VOICE 175#define DA732X_HPF_MUSIC 276#define DA732X_HPF_DISABLED 077#define DA732X_NO_INVERT 078#define DA732X_INVERT 179#define DA732X_SWITCH_MAX 180#define DA732X_ENABLE_CP 181#define DA732X_DISABLE_CP 082#define DA732X_DISABLE_ALL_CLKS 083#define DA732X_RESET_ADCS 084 85/* dB values */86#define DA732X_MIC_VOL_DB_MIN 087#define DA732X_MIC_VOL_DB_INC 5088#define DA732X_MIC_PRE_VOL_DB_MIN 089#define DA732X_MIC_PRE_VOL_DB_INC 60090#define DA732X_AUX_VOL_DB_MIN -600091#define DA732X_AUX_VOL_DB_INC 15092#define DA732X_HP_VOL_DB_MIN -225093#define DA732X_HP_VOL_DB_INC 15094#define DA732X_LIN2_VOL_DB_MIN -165095#define DA732X_LIN2_VOL_DB_INC 15096#define DA732X_LIN3_VOL_DB_MIN -165097#define DA732X_LIN3_VOL_DB_INC 15098#define DA732X_LIN4_VOL_DB_MIN -225099#define DA732X_LIN4_VOL_DB_INC 150100#define DA732X_EQ_BAND_VOL_DB_MIN -1050101#define DA732X_EQ_BAND_VOL_DB_INC 150102#define DA732X_DAC_VOL_DB_MIN -7725103#define DA732X_DAC_VOL_DB_INC 75104#define DA732X_ADC_VOL_DB_MIN 0105#define DA732X_ADC_VOL_DB_INC -1106#define DA732X_EQ_OVERALL_VOL_DB_MIN -1800107#define DA732X_EQ_OVERALL_VOL_DB_INC 600108 109enum da732x_sysctl {110 DA732X_SR_8KHZ = 0x1,111 DA732X_SR_11_025KHZ = 0x2,112 DA732X_SR_12KHZ = 0x3,113 DA732X_SR_16KHZ = 0x5,114 DA732X_SR_22_05KHZ = 0x6,115 DA732X_SR_24KHZ = 0x7,116 DA732X_SR_32KHZ = 0x9,117 DA732X_SR_44_1KHZ = 0xA,118 DA732X_SR_48KHZ = 0xB,119 DA732X_SR_88_1KHZ = 0xE,120 DA732X_SR_96KHZ = 0xF,121};122 123#endif /* __DA732X_H_ */124