forked from Minki/linux
fc8f7ea2d6
There is a need to use DA7219 as DAI clock master for other codecs within a system, which means that the DAI clocks are required to remain, regardless of whether the codec is actually running playback/capture. To be able to expose control of the DAI clocking the common clock framework has been employed. The current implementation adds a simple clock gate for enabling and disabling the DAI clocks, with no rate control supported (this is still handled through standard hw_params() functions as before). If DT is enabled then the clock is added to the OF providers list, otherwise a clkdev lookup is used. Signed-off-by: Adam Thomson <Adam.Thomson.Opensource@diasemi.com> Signed-off-by: Mark Brown <broonie@kernel.org>
50 lines
1.1 KiB
C
50 lines
1.1 KiB
C
/*
|
|
* da7219.h - DA7219 ASoC Codec Driver Platform Data
|
|
*
|
|
* Copyright (c) 2015 Dialog Semiconductor
|
|
*
|
|
* Author: Adam Thomson <Adam.Thomson.Opensource@diasemi.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.
|
|
*/
|
|
|
|
#ifndef __DA7219_PDATA_H
|
|
#define __DA7219_PDATA_H
|
|
|
|
/* Mic Bias */
|
|
enum da7219_micbias_voltage {
|
|
DA7219_MICBIAS_1_6V = 0,
|
|
DA7219_MICBIAS_1_8V,
|
|
DA7219_MICBIAS_2_0V,
|
|
DA7219_MICBIAS_2_2V,
|
|
DA7219_MICBIAS_2_4V,
|
|
DA7219_MICBIAS_2_6V,
|
|
};
|
|
|
|
/* Mic input type */
|
|
enum da7219_mic_amp_in_sel {
|
|
DA7219_MIC_AMP_IN_SEL_DIFF = 0,
|
|
DA7219_MIC_AMP_IN_SEL_SE_P,
|
|
DA7219_MIC_AMP_IN_SEL_SE_N,
|
|
};
|
|
|
|
struct da7219_aad_pdata;
|
|
|
|
struct da7219_pdata {
|
|
bool wakeup_source;
|
|
|
|
const char *dai_clks_name;
|
|
|
|
/* Mic */
|
|
enum da7219_micbias_voltage micbias_lvl;
|
|
enum da7219_mic_amp_in_sel mic_amp_in_sel;
|
|
|
|
/* AAD */
|
|
struct da7219_aad_pdata *aad_pdata;
|
|
};
|
|
|
|
#endif /* __DA7219_PDATA_H */
|