| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156 |
- #ifndef __EPL2182_H__
- #define __EPL2182_H__
- #define REG_0 0X00
- #define REG_1 0X01
- #define REG_2 0X02
- #define REG_3 0X03
- #define REG_4 0X04
- #define REG_5 0X05
- #define REG_6 0X06
- #define REG_7 0X07
- #define REG_8 0X08
- #define REG_9 0X09
- #define REG_10 0X0A
- #define REG_11 0X0B
- #define REG_12 0X0C
- #define REG_13 0X0D
- #define REG_14 0X0E
- #define REG_15 0X0F
- #define REG_16 0X10
- #define REG_17 0X11
- #define REG_18 0X12
- #define REG_19 0X13
- #define REG_20 0X14
- #define REG_21 0X15
- #define W_SINGLE_BYTE 0X00
- #define W_TWO_BYTE 0X01
- #define W_THREE_BYTE 0X02
- #define W_FOUR_BYTE 0X03
- #define W_FIVE_BYTE 0X04
- #define W_SIX_BYTE 0X05
- #define W_SEVEN_BYTE 0X06
- #define W_EIGHT_BYTE 0X07
- #define R_SINGLE_BYTE 0X00
- #define R_TWO_BYTE 0X01
- #define R_THREE_BYTE 0X02
- #define R_FOUR_BYTE 0X03
- #define R_FIVE_BYTE 0X04
- #define R_SIX_BYTE 0X05
- #define R_SEVEN_BYTE 0X06
- #define R_EIGHT_BYTE 0X07
- #define EPL_SENSING_1_TIME (0 << 5)
- #define EPL_SENSING_2_TIME (1 << 5)
- #define EPL_SENSING_4_TIME (2 << 5)
- #define EPL_SENSING_8_TIME (3 << 5)
- #define EPL_SENSING_16_TIME (4 << 5)
- #define EPL_SENSING_32_TIME (5 << 5)
- #define EPL_SENSING_64_TIME (6 << 5)
- #define EPL_SENSING_128_TIME (7 << 5)
- #define EPL_C_SENSING_MODE (0 << 4)
- #define EPL_S_SENSING_MODE (1 << 4)
- #define EPL_ALS_MODE (0 << 2)
- #define EPL_PS_MODE (1 << 2)
- #define EPL_H_GAIN (0)
- #define EPL_M_GAIN (1)
- #define EPL_L_GAIN (3)
- #define EPL_AUTO_GAIN (2)
- #define EPL_8BIT_ADC 0
- #define EPL_10BIT_ADC 1
- #define EPL_12BIT_ADC 2
- #define EPL_14BIT_ADC 3
- #define EPL_C_RESET 0x00
- #define EPL_C_START_RUN 0x04
- #define EPL_C_P_UP 0x04
- #define EPL_C_P_DOWN 0x06
- #define EPL_DATA_LOCK_ONLY 0x01
- #define EPL_DATA_LOCK 0x05
- #define EPL_DATA_UNLOCK 0x04
- #define EPL_GO_MID 0x1E
- #define EPL_GO_LOW 0x1E
- #define EPL_DRIVE_60MA (0<<4)
- #define EPL_DRIVE_120MA (1<<4)
- #define EPL_INT_BINARY 0
- #define EPL_INT_DISABLE 2
- #define EPL_INT_ACTIVE_LOW 3
- #define EPL_INT_FRAME_ENABLE 4
- #define EPL_PST_1_TIME (0 << 2)
- #define EPL_PST_4_TIME (1 << 2)
- #define EPL_PST_8_TIME (2 << 2)
- #define EPL_PST_16_TIME (3 << 2)
- /*----------------------------------------------------------------------------*/
- enum EPL2182_NOTIFY_TYPE {
- EPL2182_NOTIFY_PROXIMITY_CHANGE = 1,
- EPL2182_NOTIFY_ALS_RAW_DATA,
- EPL2182_NOTIFY_PS_RAW_DATA,
- EPL2182_NOTIFY_PROXIMITY_NOT_CHANGE
- };
- /*----------------------------------------------------------------------------*/
- enum EPL2182_CUST_ACTION {
- EPL2182_CUST_ACTION_SET_CUST = 1,
- EPL2182_CUST_ACTION_CLR_CALI,
- EPL2182_CUST_ACTION_SET_CALI,
- EPL2182_CUST_ACTION_SET_PS_THRESHODL,
- EPL2182_CUST_ACTION_SET_EINT_INFO,
- EPL2182_CUST_ACTION_GET_ALS_RAW_DATA,
- EPL2182_CUST_ACTION_GET_PS_RAW_DATA,
- };
- /*----------------------------------------------------------------------------*/
- struct EPL2182_CUST {
- uint16_t action;
- };
- /*----------------------------------------------------------------------------*/
- struct EPL2182_SET_CUST {
- uint16_t action;
- uint16_t part;
- int32_t data[0];
- };
- /*----------------------------------------------------------------------------*/
- /*----------------------------------------------------------------------------*/
- struct EPL2182_SET_CALI {
- uint16_t action;
- int32_t cali;
- };
- /*----------------------------------------------------------------------------*/
- struct EPL2182_SET_PS_THRESHOLD {
- uint16_t action;
- int32_t threshold[2];
- };
- /*----------------------------------------------------------------------------*/
- struct EPL2182_SET_EINT_INFO {
- uint16_t action;
- uint32_t gpio_pin;
- uint32_t gpio_mode;
- uint32_t eint_num;
- uint32_t eint_is_deb_en;
- uint32_t eint_type;
- };
- /*----------------------------------------------------------------------------*/
- /*----------------------------------------------------------------------------*/
- union EPL2182_CUST_DATA {
- uint32_t data[10];
- struct EPL2182_CUST cust;
- struct EPL2182_SET_CUST setCust;
- struct EPL2182_CUST clearCali;
- struct EPL2182_SET_CALI setCali;
- struct EPL2182_SET_PS_THRESHOLD setPSThreshold;
- struct EPL2182_SET_EINT_INFO setEintInfo;
- struct EPL2182_CUST getALSRawData;
- struct EPL2182_CUST getPSRawData;
- };
- /*----------------------------------------------------------------------------*/
- extern struct platform_device *get_alsps_platformdev(void);
- #endif
|