clk: rockchip: add clock ids for efuse on RK3366
[firefly-linux-kernel-4.4.55.git] / drivers / headset_observe / rk_headset.h
index 51e2655d3fbc22c763252578b7eaf91c75a47e99..87ee42d36745d14a1ef71ec9de5c88a1a03780d9 100755 (executable)
@@ -4,12 +4,30 @@
 #define HEADSET_IN_HIGH 0x00000001
 #define HEADSET_IN_LOW  0x00000000
 
+#define HOOK_DOWN_HIGH 0x00000001
+#define HOOK_DOWN_LOW  0x00000000
 
 struct rk_headset_pdata{
-       unsigned int Hook_gpio;//Detection Headset--Must be set
-       int     hook_key_code;
-       unsigned int Headset_gpio;//Detection Headset--Must be set
-       unsigned int headset_in_type;// Headphones into the state level--Must be set    
+//heaset about
+       unsigned int headset_gpio;
+       unsigned int headset_insert_type;//     Headphones into the state level
+//hook about
+       unsigned int hook_gpio;
+       unsigned int hook_down_type; //Hook key down status  
+#ifdef CONFIG_MODEM_MIC_SWITCH
+//mic about    
+       unsigned int mic_switch_gpio;
+       unsigned int hp_mic_io_value;
+       unsigned int main_mic_io_value; 
+#endif
+       struct iio_channel *chan;
+       int headset_wakeup;
 };
 
+#define HOOK_KEY_CODE KEY_MEDIA
+
+extern int rk_headset_probe(struct platform_device *pdev,struct rk_headset_pdata *pdata);
+extern int rk_headset_adc_probe(struct platform_device *pdev,struct rk_headset_pdata *pdata);
+extern int rk_headset_adc_suspend(struct platform_device *pdev, pm_message_t state);
+extern int rk_headset_adc_resume(struct platform_device *pdev);
 #endif