summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMark Brown <broonie@opensource.wolfsonmicro.com>2013-01-11 08:55:24 +0900
committerChanwoo Choi <cw00.choi@samsung.com>2013-01-15 15:42:17 +0900
commitb17e54625cff1b06aec9df505b46c9bcdcd4823d (patch)
tree352673e11f5c5af0a40fe761eb947ae35c47820b
parentcd74f7b3b387cbc6153b15c100982bac119af753 (diff)
downloadop-kernel-dev-b17e54625cff1b06aec9df505b46c9bcdcd4823d.zip
op-kernel-dev-b17e54625cff1b06aec9df505b46c9bcdcd4823d.tar.gz
extcon: arizona: Allow configuration of MICBIAS rise time
Allow configuration of the rise time for MICBIAS via platform data, the delay required depends on things like the external component selection. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Signed-off-by: Chanwoo Choi <cw00.choi@samsung.com> Acked-by: MyungJoo Ham <myungjoo.ham@samsung.com>
-rw-r--r--drivers/extcon/extcon-arizona.c6
-rw-r--r--include/linux/mfd/arizona/pdata.h3
2 files changed, 9 insertions, 0 deletions
diff --git a/drivers/extcon/extcon-arizona.c b/drivers/extcon/extcon-arizona.c
index 9e1d104..635b707 100644
--- a/drivers/extcon/extcon-arizona.c
+++ b/drivers/extcon/extcon-arizona.c
@@ -417,6 +417,12 @@ static int arizona_extcon_probe(struct platform_device *pdev)
}
}
+ if (arizona->pdata.micd_bias_start_time)
+ regmap_update_bits(arizona->regmap, ARIZONA_MIC_DETECT_1,
+ ARIZONA_MICD_BIAS_STARTTIME_MASK,
+ arizona->pdata.micd_bias_start_time
+ << ARIZONA_MICD_BIAS_STARTTIME_SHIFT);
+
arizona_extcon_set_mode(info, 0);
info->input = devm_input_allocate_device(&pdev->dev);
diff --git a/include/linux/mfd/arizona/pdata.h b/include/linux/mfd/arizona/pdata.h
index 8b1d1da..5b05088 100644
--- a/include/linux/mfd/arizona/pdata.h
+++ b/include/linux/mfd/arizona/pdata.h
@@ -99,6 +99,9 @@ struct arizona_pdata {
/** GPIO for mic detection polarity */
int micd_pol_gpio;
+ /** Mic detect ramp rate */
+ int micd_bias_start_time;
+
/** Headset polarity configurations */
struct arizona_micd_config *micd_configs;
int num_micd_configs;
OpenPOWER on IntegriCloud