linux/include/sound/da7219.h
Adam Thomson bb0c35fcaf ASoC: da7219: Disable AAD if codec is not a wake-up source
Currently if AAD is enabled in the device, during system suspend
the feature remains, regardless of whether the codec is a wake-up
source or not. This means some additional power is being used
which is unnecessary, and can causes issues with some platforms'
IRQ handlers where state changes during system suspend aren't
captured.

This patch updates the driver to disable AAD during suspend, if
we're not a wake-up source, and then re-enables this on resume.

Signed-off-by: Adam Thomson <Adam.Thomson.Opensource@diasemi.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
2016-09-26 09:39:50 -07:00

48 lines
1.0 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;
/* 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 */