]> Pileus Git - ~andy/linux/blobdiff - include/linux/mfd/arizona/pdata.h
Merge tag 'mfd-3.10-1' of git://git.kernel.org/pub/scm/linux/kernel/git/sameo/mfd...
[~andy/linux] / include / linux / mfd / arizona / pdata.h
index 554d903cdf41a4cf8fc8af7f376a4e4ed3a3d747..80dead1f710014564bf07319945025e40faca17e 100644 (file)
@@ -87,6 +87,11 @@ struct arizona_micd_config {
        bool gpio;
 };
 
+struct arizona_micd_range {
+       int max;  /** Ohms */
+       int key;  /** Key to report to input layer */
+};
+
 struct arizona_pdata {
        int reset;      /** GPIO controlling /RESET, if any */
        int ldoena;     /** GPIO controlling LODENA, if any */
@@ -119,12 +124,21 @@ struct arizona_pdata {
        /** GPIO5 is used for jack detection */
        bool jd_gpio5;
 
+       /** Internal pull on GPIO5 is disabled when used for jack detection */
+       bool jd_gpio5_nopull;
+
        /** Use the headphone detect circuit to identify the accessory */
        bool hpdet_acc_id;
 
+       /** Check for line output with HPDET method */
+       bool hpdet_acc_id_line;
+
        /** GPIO used for mic isolation with HPDET */
        int hpdet_id_gpio;
 
+       /** Extra debounce timeout used during initial mic detection (ms) */
+       int micd_detect_debounce;
+
        /** GPIO for mic detection polarity */
        int micd_pol_gpio;
 
@@ -137,9 +151,16 @@ struct arizona_pdata {
        /** Mic detect debounce level */
        int micd_dbtime;
 
+       /** Mic detect timeout (ms) */
+       int micd_timeout;
+
        /** Force MICBIAS on for mic detect */
        bool micd_force_micbias;
 
+       /** Mic detect level parameters */
+       const struct arizona_micd_range *micd_ranges;
+       int num_micd_ranges;
+
        /** Headset polarity configurations */
        struct arizona_micd_config *micd_configs;
        int num_micd_configs;