/* * DA9055 ALSA Soc codec driver * * Copyright (c) 2012 Dialog Semiconductor * * Tested on (Samsung SMDK6410 board + DA9055 EVB) using I2S and I2C * Written by David Chen <david.chen@diasemi.com> and * Ashish Chavan <ashish.chavan@kpitcummins.com> * * This program is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License as published by the * Free Software Foundation; either version 2 of the License, or (at your * option) any later version. */#include<linux/delay.h>#include<linux/i2c.h>#include<linux/regmap.h>#include<linux/slab.h>#include<linux/module.h>#include<sound/pcm.h>#include<sound/pcm_params.h>#include<sound/soc.h>#include<sound/initval.h>#include<sound/tlv.h>#include<sound/da9055.h>/* DA9055 register space *//* Status Registers */#define DA9055_STATUS1 0x02#define DA9055_PLL_STATUS 0x03#define DA9055_AUX_L_GAIN_STATUS 0x04#define DA9055_AUX_R_GAIN_STATUS 0x05#define DA9055_MIC_L_GAIN_STATUS 0x06#define DA9055_MIC_R_GAIN_STATUS 0x07#define DA9055_MIXIN_L_GAIN_STATUS 0x08#define DA9055_MIXIN_R_GAIN_STATUS 0x09#define DA9055_ADC_L_GAIN_STATUS 0x0A#define DA9055_ADC_R_GAIN_STATUS 0x0B#define DA9055_DAC_L_GAIN_STATUS 0x0C#define DA9055_DAC_R_GAIN_STATUS 0x0D#define DA9055_HP_L_GAIN_STATUS 0x0E#define DA9055_HP_R_GAIN_STATUS 0x0F#define DA9055_LINE_GAIN_STATUS 0x10/* System Initialisation Registers */#define DA9055_CIF_CTRL 0x20#define DA9055_DIG_ROUTING_AIF 0X21#define DA9055_SR 0x22#define DA9055_REFERENCES 0x23#define DA9055_PLL_FRAC_TOP 0x24#define DA9055_PLL_FRAC_BOT 0x25#define DA9055_PLL_INTEGER 0x26#define DA9055_PLL_CTRL 0x27#