aboutsummaryrefslogtreecommitdiffstats
path: root/include/linux/mfd/arizona/pdata.h
diff options
context:
space:
mode:
Diffstat (limited to 'include/linux/mfd/arizona/pdata.h')
-rw-r--r--include/linux/mfd/arizona/pdata.h28
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
83struct arizona_micd_config { 84struct arizona_micd_config {
@@ -86,6 +87,11 @@ struct arizona_micd_config {
86 bool gpio; 87 bool gpio;
87}; 88};
88 89
90struct arizona_micd_range {
91 int max; /** Ohms */
92 int key; /** Key to report to input layer */
93};
94
89struct arizona_pdata { 95struct 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