OSDN Git Service

extcon: arizona: Allow configuration of MICBIAS rise time
authorMark Brown <broonie@opensource.wolfsonmicro.com>
Thu, 10 Jan 2013 23:55:24 +0000 (08:55 +0900)
committerChanwoo Choi <cw00.choi@samsung.com>
Tue, 15 Jan 2013 06:42:17 +0000 (15:42 +0900)
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>
drivers/extcon/extcon-arizona.c
include/linux/mfd/arizona/pdata.h

index 9e1d104..635b707 100644 (file)
@@ -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);
index 8b1d1da..5b05088 100644 (file)
@@ -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;