blob: b1b157e317ebf1681c5a38a61adb8cbfd2d7aa3f (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
|
/*
* Copyright ST-Ericsson 2011.
*
* Author: Jarmo K. Kuronen <jarmo.kuronen@symbio.com> for ST Ericsson.
* Licensed under GPLv2.
*/
#ifndef _AB8500_ACCDET_H
#define _AB8500_ACCDET_H
/*
* Debounce times for AccDet1 input
* @0x880 [2:0]
*/
#define ACCDET1_DB_0ms 0x00
#define ACCDET1_DB_10ms 0x01
#define ACCDET1_DB_20ms 0x02
#define ACCDET1_DB_30ms 0x03
#define ACCDET1_DB_40ms 0x04
#define ACCDET1_DB_50ms 0x05
#define ACCDET1_DB_60ms 0x06
#define ACCDET1_DB_70ms 0x07
/*
* Voltage threshold for AccDet1 input
* @0x880 [6:3]
*/
#define ACCDET1_TH_1100mV 0x40
#define ACCDET1_TH_1200mV 0x48
#define ACCDET1_TH_1300mV 0x50
#define ACCDET1_TH_1400mV 0x58
#define ACCDET1_TH_1500mV 0x60
#define ACCDET1_TH_1600mV 0x68
#define ACCDET1_TH_1700mV 0x70
#define ACCDET1_TH_1800mV 0x78
/*
* Voltage threshold for AccDet21 input
* @0x881 [3:0]
*/
#define ACCDET21_TH_300mV 0x00
#define ACCDET21_TH_400mV 0x01
#define ACCDET21_TH_500mV 0x02
#define ACCDET21_TH_600mV 0x03
#define ACCDET21_TH_700mV 0x04
#define ACCDET21_TH_800mV 0x05
#define ACCDET21_TH_900mV 0x06
#define ACCDET21_TH_1000mV 0x07
#define ACCDET21_TH_1100mV 0x08
#define ACCDET21_TH_1200mV 0x09
#define ACCDET21_TH_1300mV 0x0a
#define ACCDET21_TH_1400mV 0x0b
#define ACCDET21_TH_1500mV 0x0c
#define ACCDET21_TH_1600mV 0x0d
#define ACCDET21_TH_1700mV 0x0e
#define ACCDET21_TH_1800mV 0x0f
/*
* Voltage threshold for AccDet22 input
* @0x881 [7:4]
*/
#define ACCDET22_TH_300mV 0x00
#define ACCDET22_TH_400mV 0x10
#define ACCDET22_TH_500mV 0x20
#define ACCDET22_TH_600mV 0x30
#define ACCDET22_TH_700mV 0x40
#define ACCDET22_TH_800mV 0x50
#define ACCDET22_TH_900mV 0x60
#define ACCDET22_TH_1000mV 0x70
#define ACCDET22_TH_1100mV 0x80
#define ACCDET22_TH_1200mV 0x90
#define ACCDET22_TH_1300mV 0xa0
#define ACCDET22_TH_1400mV 0xb0
#define ACCDET22_TH_1500mV 0xc0
#define ACCDET22_TH_1600mV 0xd0
#define ACCDET22_TH_1700mV 0xe0
#define ACCDET22_TH_1800mV 0xf0
/**
* struct ab8500_accdet_platform_data - AV Accessory detection specific
* platform data
* @btn_keycode Keycode to be sent when accessory button is pressed.
* @accdet1_dbth Debounce time + voltage threshold for accdet 1 input.
* @accdet2122_th Voltage thresholds for accdet21 and accdet22 inputs.
* @is_detection_inverted Whether the accessory insert/removal, button
* press/release irq's are inverted.
*/
struct ab8500_accdet_platform_data {
int btn_keycode;
u8 accdet1_dbth;
u8 accdet2122_th;
unsigned int video_ctrl_gpio;
bool is_detection_inverted;
};
#endif /* _AB8500_ACCDET_H */
|