diff options
Diffstat (limited to 'include/linux/mfd/arizona/pdata.h')
-rw-r--r-- | include/linux/mfd/arizona/pdata.h | 28 |
1 files changed, 27 insertions, 1 deletions
diff --git a/include/linux/mfd/arizona/pdata.h b/include/linux/mfd/arizona/pdata.h index 455c51d22d6b..80dead1f7100 100644 --- a/include/linux/mfd/arizona/pdata.h +++ b/include/linux/mfd/arizona/pdata.h | |||
@@ -78,6 +78,7 @@ struct arizona_micbias { | |||
78 | unsigned int ext_cap:1; /** External capacitor fitted */ | 78 | unsigned int ext_cap:1; /** External capacitor fitted */ |
79 | unsigned int discharge:1; /** Actively discharge */ | 79 | unsigned int discharge:1; /** Actively discharge */ |
80 | unsigned int fast_start:1; /** Enable aggressive startup ramp rate */ | 80 | unsigned int fast_start:1; /** Enable aggressive startup ramp rate */ |
81 | unsigned int bypass:1; /** Use bypass mode */ | ||
81 | }; | 82 | }; |
82 | 83 | ||
83 | struct arizona_micd_config { | 84 | struct arizona_micd_config { |
@@ -86,6 +87,11 @@ struct arizona_micd_config { | |||
86 | bool gpio; | 87 | bool gpio; |
87 | }; | 88 | }; |
88 | 89 | ||
90 | struct arizona_micd_range { | ||
91 | int max; /** Ohms */ | ||
92 | int key; /** Key to report to input layer */ | ||
93 | }; | ||
94 | |||
89 | struct arizona_pdata { | 95 | struct arizona_pdata { |
90 | int reset; /** GPIO controlling /RESET, if any */ | 96 | int reset; /** GPIO controlling /RESET, if any */ |
91 | int ldoena; /** GPIO controlling LODENA, if any */ | 97 | int ldoena; /** GPIO controlling LODENA, if any */ |
@@ -99,7 +105,8 @@ struct arizona_pdata { | |||
99 | /** If a direct 32kHz clock is provided on an MCLK specify it here */ | 105 | /** If a direct 32kHz clock is provided on an MCLK specify it here */ |
100 | int clk32k_src; | 106 | int clk32k_src; |
101 | 107 | ||
102 | bool irq_active_high; /** IRQ polarity */ | 108 | /** Mode for primary IRQ (defaults to active low) */ |
109 | unsigned int irq_flags; | ||
103 | 110 | ||
104 | /* Base GPIO */ | 111 | /* Base GPIO */ |
105 | int gpio_base; | 112 | int gpio_base; |
@@ -117,12 +124,21 @@ struct arizona_pdata { | |||
117 | /** GPIO5 is used for jack detection */ | 124 | /** GPIO5 is used for jack detection */ |
118 | bool jd_gpio5; | 125 | bool jd_gpio5; |
119 | 126 | ||
127 | /** Internal pull on GPIO5 is disabled when used for jack detection */ | ||
128 | bool jd_gpio5_nopull; | ||
129 | |||
120 | /** Use the headphone detect circuit to identify the accessory */ | 130 | /** Use the headphone detect circuit to identify the accessory */ |
121 | bool hpdet_acc_id; | 131 | bool hpdet_acc_id; |
122 | 132 | ||
133 | /** Check for line output with HPDET method */ | ||
134 | bool hpdet_acc_id_line; | ||
135 | |||
123 | /** GPIO used for mic isolation with HPDET */ | 136 | /** GPIO used for mic isolation with HPDET */ |
124 | int hpdet_id_gpio; | 137 | int hpdet_id_gpio; |
125 | 138 | ||
139 | /** Extra debounce timeout used during initial mic detection (ms) */ | ||
140 | int micd_detect_debounce; | ||
141 | |||
126 | /** GPIO for mic detection polarity */ | 142 | /** GPIO for mic detection polarity */ |
127 | int micd_pol_gpio; | 143 | int micd_pol_gpio; |
128 | 144 | ||
@@ -135,9 +151,16 @@ struct arizona_pdata { | |||
135 | /** Mic detect debounce level */ | 151 | /** Mic detect debounce level */ |
136 | int micd_dbtime; | 152 | int micd_dbtime; |
137 | 153 | ||
154 | /** Mic detect timeout (ms) */ | ||
155 | int micd_timeout; | ||
156 | |||
138 | /** Force MICBIAS on for mic detect */ | 157 | /** Force MICBIAS on for mic detect */ |
139 | bool micd_force_micbias; | 158 | bool micd_force_micbias; |
140 | 159 | ||
160 | /** Mic detect level parameters */ | ||
161 | const struct arizona_micd_range *micd_ranges; | ||
162 | int num_micd_ranges; | ||
163 | |||
141 | /** Headset polarity configurations */ | 164 | /** Headset polarity configurations */ |
142 | struct arizona_micd_config *micd_configs; | 165 | struct arizona_micd_config *micd_configs; |
143 | int num_micd_configs; | 166 | int num_micd_configs; |
@@ -162,6 +185,9 @@ struct arizona_pdata { | |||
162 | 185 | ||
163 | /** Haptic actuator type */ | 186 | /** Haptic actuator type */ |
164 | unsigned int hap_act; | 187 | unsigned int hap_act; |
188 | |||
189 | /** GPIO for primary IRQ (used for edge triggered emulation) */ | ||
190 | int irq_gpio; | ||
165 | }; | 191 | }; |
166 | 192 | ||
167 | #endif | 193 | #endif |