extcon: arizona: Support additional configuration of microphone detection
authorMark Brown <broonie@opensource.wolfsonmicro.com>
Mon, 21 Jan 2013 08:36:33 +0000 (17:36 +0900)
committerMark Brown <broonie@opensource.wolfsonmicro.com>
Thu, 7 Feb 2013 18:04:07 +0000 (18:04 +0000)
Allow systems to tune detection rate and debounce suitably for their
mechanical parameters.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
drivers/extcon/extcon-arizona.c
include/linux/mfd/arizona/pdata.h

index ab8b9c7..d7e1047 100644 (file)
@@ -907,6 +907,18 @@ static int arizona_extcon_probe(struct platform_device *pdev)
                                   arizona->pdata.micd_bias_start_time
                                   << 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
         * GPIO5 if that is connected for jack detect operation.
index bcbe4fd..2f5f08e 100644 (file)
@@ -111,6 +111,12 @@ struct arizona_pdata {
        /** Mic detect ramp rate */
        int micd_bias_start_time;
 
+       /** Mic detect sample rate */
+       int micd_rate;
+
+       /** Mic detect debounce level */
+       int micd_dbtime;
+
        /** Headset polarity configurations */
        struct arizona_micd_config *micd_configs;
        int num_micd_configs;