blob: 484dcadc6e477d49342d32b2a9e3f1e0f057f99b (
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
|
/* Copyright (c) 2014-2015, The Linux Foundation. All rights reserved.
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License version 2 and
* only version 2 as published by the Free Software Foundation.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*/
#ifndef _LTR559_H
#define _LTR559_H
struct ltr559_platform_data {
unsigned int prox_threshold;
unsigned int prox_hsyteresis_threshold;
unsigned int als_poll_interval;
unsigned int int_gpio;
unsigned int irq_gpio_flags;
unsigned int prox_default_noise;
};
/* POWER SUPPLY VOLTAGE RANGE */
#define LTR559_VDD_MIN_UV 2000000
#define LTR559_VDD_MAX_UV 3300000
#define LTR559_VIO_MIN_UV 1750000
#define LTR559_VIO_MAX_UV 1950000
/* LTR-559 Registers */
#define LTR559_ALS_CONTR 0x80
#define LTR559_PS_CONTR 0x81
#define LTR559_PS_LED 0x82
#define LTR559_PS_N_PULSES 0x83
#define LTR559_PS_MEAS_RATE 0x84
#define LTR559_ALS_MEAS_RATE 0x85
#define LTR559_MANUFACTURER_ID 0x87
#define LTR559_INTERRUPT 0x8F
#define LTR559_PS_THRES_UP_0 0x90
#define LTR559_PS_THRES_UP_1 0x91
#define LTR559_PS_THRES_LOW_0 0x92
#define LTR559_PS_THRES_LOW_1 0x93
#define LTR559_ALS_THRES_UP_0 0x97
#define LTR559_ALS_THRES_UP_1 0x98
#define LTR559_ALS_THRES_LOW_0 0x99
#define LTR559_ALS_THRES_LOW_1 0x9A
#define LTR559_INTERRUPT_PERSIST 0x9E
/* 559's Read Only Registers */
#define LTR559_ALS_DATA_CH1_0 0x88
#define LTR559_ALS_DATA_CH1_1 0x89
#define LTR559_ALS_DATA_CH0_0 0x8A
#define LTR559_ALS_DATA_CH0_1 0x8B
#define LTR559_ALS_PS_STATUS 0x8C
#define LTR559_PS_DATA_0 0x8D
#define LTR559_PS_DATA_1 0x8E
/* Basic Operating Modes */
#define MODE_ALS_ON_Range1 0x0B
#define MODE_ALS_ON_Range2 0x03
#define MODE_ALS_StdBy 0x00
#define MODE_PS_ON_Gain1 0x03
#define MODE_PS_ON_Gain2 0x07
#define MODE_PS_ON_Gain4 0x0B
#define MODE_PS_ON_Gain8 0x0C
#define MODE_PS_StdBy 0x00
#define PS_RANGE1 1
#define PS_RANGE2 2
#define PS_RANGE4 4
#define PS_RANGE8 8
#define ALS_RANGE1_320 1
#define ALS_RANGE2_64K 2
#define PS_DETECTED_THRES 200
#define PS_UNDETECTED_THRES 180
/* Power On response time in ms */
#define PON_DELAY 600
#define WAKEUP_DELAY 10
#endif
|