extcon: arizona: Support additional configuration of microphone detection

Allow systems to tune detection rate and debounce suitably for their
mechanical parameters.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
This commit is contained in:
Mark Brown 2013-01-21 17:36:33 +09:00
parent f9365d07dd
commit 2e033db5dd
2 changed files with 18 additions and 0 deletions

View File

@ -907,6 +907,18 @@ static int arizona_extcon_probe(struct platform_device *pdev)
arizona->pdata.micd_bias_start_time arizona->pdata.micd_bias_start_time
<< ARIZONA_MICD_BIAS_STARTTIME_SHIFT); << ARIZONA_MICD_BIAS_STARTTIME_SHIFT);
if (arizona->pdata.micd_rate)
regmap_update_bits(arizona->regmap, ARIZONA_MIC_DETECT_1,
ARIZONA_MICD_RATE_MASK,
arizona->pdata.micd_rate
<< ARIZONA_MICD_RATE_SHIFT);
if (arizona->pdata.micd_dbtime)
regmap_update_bits(arizona->regmap, ARIZONA_MIC_DETECT_1,
ARIZONA_MICD_DBTIME_MASK,
arizona->pdata.micd_dbtime
<< ARIZONA_MICD_DBTIME_SHIFT);
/* /*
* If we have a clamp use it, activating in conjunction with * If we have a clamp use it, activating in conjunction with
* GPIO5 if that is connected for jack detect operation. * GPIO5 if that is connected for jack detect operation.

View File

@ -111,6 +111,12 @@ struct arizona_pdata {
/** Mic detect ramp rate */ /** Mic detect ramp rate */
int micd_bias_start_time; int micd_bias_start_time;
/** Mic detect sample rate */
int micd_rate;
/** Mic detect debounce level */
int micd_dbtime;
/** Headset polarity configurations */ /** Headset polarity configurations */
struct arizona_micd_config *micd_configs; struct arizona_micd_config *micd_configs;
int num_micd_configs; int num_micd_configs;