diff options
author | David Jung <djung@nvidia.com> | 2013-01-27 17:49:58 -0800 |
---|---|---|
committer | Mrutyunjay Sawant <msawant@nvidia.com> | 2013-02-12 23:02:27 -0800 |
commit | 0ba3a9a571aa6eec71c7e27f765cf056c45c512d (patch) | |
tree | 48b56371c8aacded63639a1b33536a54c3e637f5 /include | |
parent | 2f63800433896ac34b510038f665b19e6a630c1c (diff) |
input: touch: raydium slow scan updates
Raydium code drop.
Update code for slow scan.
Bug 1054801
Change-Id: Ie123e14ab9892b8055ab7af4bae9dd14189acfa6
Signed-off-by: David Jung <djung@nvidia.com>
Reviewed-on: http://git-master/r/194480
Reviewed-by: Robert Collins <rcollins@nvidia.com>
Reviewed-by: Automatic_Commit_Validation_User
Reviewed-by: Bharat Nihalani <bnihalani@nvidia.com>
Diffstat (limited to 'include')
-rw-r--r-- | include/linux/spi/rm31080a_ctrl.h | 62 | ||||
-rw-r--r-- | include/linux/spi/rm31080a_ts.h | 131 |
2 files changed, 64 insertions, 129 deletions
diff --git a/include/linux/spi/rm31080a_ctrl.h b/include/linux/spi/rm31080a_ctrl.h index 0aaba60e37be..61987aabf8af 100644 --- a/include/linux/spi/rm31080a_ctrl.h +++ b/include/linux/spi/rm31080a_ctrl.h @@ -26,13 +26,6 @@ #define RM31080B1_REG_BANK0_0EH 0x0E #define RM31080B1_REG_BANK0_11H 0x11 -enum NOISE_DETECTOR_RET_t { - ND_NORMAL = 0, - ND_DETECTOR_OFF, - ND_BASELINE_NOT_READY, - ND_NOISE_DETECTED, - ND_LEAVE_NOISE_MODE -}; /* Tchreg.h */ /* Adaptive digital filter */ @@ -56,14 +49,10 @@ struct rm31080a_ctrl_para { unsigned char bNoiseRepeatTimes; unsigned char bfNoiseDetector; -#if ENABLE_RESOLUTION_SWITCH unsigned short u16ResolutionX; unsigned short u16ResolutionY; -#endif -#if ENABLE_T007B1_SETTING unsigned char bICVersion; -#endif /* Marty added */ unsigned char bChannelDetectorNum; /* Noise_Detector */ @@ -91,6 +80,7 @@ struct rm31080a_ctrl_para { unsigned char bPressureResolution; unsigned char bfNoisePreHold; unsigned char bfTouched; + unsigned char bSTScan; signed char bMTTouchThreshold; unsigned char bfExitNoiseMode; unsigned char bNoisePipelineBase; @@ -98,41 +88,8 @@ struct rm31080a_ctrl_para { unsigned char bfPowerMode; unsigned char bfIdleMessage; unsigned char bDummyRunCycle; + unsigned char bfIdleModeCheck; - -#if ENABLE_FILTER_SWITCH - unsigned char bReg1_09h[2]; /*0: Digital Filter 1: Analog Filter*/ - unsigned char bReg1_43h[2]; /*0: Digital Filter 1: Analog Filter*/ - unsigned char bReg1_48h[2]; /*0: Digital Filter 1: Analog Filter*/ - unsigned char bReg1_49h[2]; /*0: Digital Filter 1: Analog Filter*/ - unsigned char bReg1_4Ah[2]; /*0: Digital Filter 1: Analog Filter*/ - unsigned char bReg1_4Bh[2]; /*0: Digital Filter 1: Analog Filter*/ - - unsigned char bReg0_40h[2]; /*0: Digital Filter 1: Analog Filter*/ - unsigned char bReg0_41h[2]; /*0: Digital Filter 1: Analog Filter*/ - unsigned char bReg0_42h[2]; /*0: Digital Filter 1: Analog Filter*/ - unsigned char bReg0_43h[2]; /*0: Digital Filter 1: Analog Filter*/ - unsigned char bReg0_20h[2]; /*0: Digital Filter 1: Analog Filter*/ - unsigned char bReg0_21h[2]; /*0: Digital Filter 1: Analog Filter*/ - unsigned char bReg0_22h[2]; /*0: Digital Filter 1: Analog Filter*/ - unsigned char bReg0_23h[2]; /*0: Digital Filter 1: Analog Filter*/ - unsigned char bReg0_24h[2]; /*0: Digital Filter 1: Analog Filter*/ - unsigned char bReg0_25h[2]; /*0: Digital Filter 1: Analog Filter*/ - unsigned char bReg0_26h[2]; /*0: Digital Filter 1: Analog Filter*/ - unsigned char bReg0_27h[2]; /*0: Digital Filter 1: Analog Filter*/ - unsigned char bReg0_28h[2]; /*0: Digital Filter 1: Analog Filter*/ - unsigned char bReg0_29h[2]; /*0: Digital Filter 1: Analog Filter*/ - unsigned char bReg0_2Ah[2]; /*0: Digital Filter 1: Analog Filter*/ - unsigned char bReg0_2Bh[2]; /*0: Digital Filter 1: Analog Filter*/ - unsigned char bReg0_2Ch[2]; /*0: Digital Filter 1: Analog Filter*/ - unsigned char bReg0_2Dh[2]; /*0: Digital Filter 1: Analog Filter*/ - unsigned char bReg0_2Eh[2]; /*0: Digital Filter 1: Analog Filter*/ - unsigned char bReg0_2Fh[2]; /*0: Digital Filter 1: Analog Filter*/ - unsigned char bReg0_30h[2]; /*0: Digital Filter 1: Analog Filter*/ - unsigned char bReg0_31h[2]; /*0: Digital Filter 1: Analog Filter*/ - unsigned char bReg0_32h[2]; /*0: Digital Filter 1: Analog Filter*/ - unsigned char bReg0_33h[2]; /*0: Digital Filter 1: Analog Filter*/ -#endif }; extern struct rm31080a_ctrl_para g_stCtrl; @@ -145,24 +102,11 @@ void rm31080_ctrl_wait_for_scan_finish(void); void rm31080_ctrl_init(void); void rm31080_ctrl_set_baseline(void *arg); unsigned char rm31080_ctrl_get_noise_mode(unsigned char *p); +unsigned char rm31080_ctrl_get_idle_mode(unsigned char *p); void rm31080_ctrl_get_parameter(void *arg); int rm31080_soft_average(signed char *pSource); int rm_noise_detect(signed char *pSource); int rm_noise_main(signed char *pSource); -#if ENABLE_T007B1_SETTING -void rm31080b_analog_filter_config(unsigned char u8Amount); -void rm31080b_digital_filter_config(unsigned char u8Amount); -#endif - -#if ENABLE_FILTER_SWITCH -void rm31080_analog_filter_config(u8 bRepeatTimes); -void rm31080_filter_config(void); -void rm31080_digital_filter_config(void); -#if ENABLE_NEW_NOISE_MODE -void rm_set_repeat_times(u8 u8Times); -void rm31080_ctrl_set_analog_baseline(void *arg); -#endif -#endif void rm_set_repeat_times(u8 u8Times); #endif /* _RM31080A_CTRL_H_ */ diff --git a/include/linux/spi/rm31080a_ts.h b/include/linux/spi/rm31080a_ts.h index 137135862f5d..42ee65910627 100644 --- a/include/linux/spi/rm31080a_ts.h +++ b/include/linux/spi/rm31080a_ts.h @@ -1,82 +1,71 @@ #ifndef _RM31080A_TS_H_ #define _RM31080A_TS_H_ -#define ENABLE_RAW_DATA_QUEUE #define ENABLE_SLOW_SCAN -#define ENABLE_TOUCH_RESPONSE_TEST 1 /*Roger*/ -#define ENABLE_RESOLUTION_SWITCH 1 /*Alex*/ -#define ENABLE_FILTER_SWITCH 0 /*Cage*/ -#define ENABLE_NEW_NOISE_MODE 0 /*Marty*/ -#define NOISE_SUM_CHECK 0 /*Nelson*/ -#define ENABLE_CALIBRATTION_BY_FIRMWARE 1 -#define ENABLE_NEW_PARAMETER 1 - -#define ENABLE_T007B1_SETTING 1 -#define ENABLE_T007B1_STABLE_IDLE_MODE 1 - -#define ENABLE_T007_ST_SCAN 0 - #define T007B1_ST_DATA_ADDR 0x1CA0 - #define T007C1_ST_DATA_ADDR 0x0514 - #define T007B1_ST_NO_SWAP 0 -#define RM_MAX_CHANNEL_COUNT 128 -#define RM_MAX_MT_COUNT 2048 +#define RM_MAX_CHANNEL_COUNT 128 +#define RM_MAX_MT_COUNT 2048 /* Define for T007 A6/B1 IC version ckeck */ -#define T007A6 0xD0 -#define T007_VERSION_B 0xB0 - #define T007B1 0xB0 - #define T007B2 0xB1 -#define T007_VERSION_C 0xC0 - -#define VERSION_A_PARAMETER_OFFSET 0x00 -#define VERSION_B_PARAMETER_OFFSET 0x01 -#define VERSION_C_PARAMETER_OFFSET 0x02 -#define PARAMETER_AMOUNT 384 - -#define RM_IOCTL_REPORT_POINT 0x1001 -#define RM_IOCTL_SET_HAL_PID 0x1002 -#define RM_IOCTL_INIT_START 0x1003 -#define RM_IOCTL_INIT_END 0x1004 -#define RM_IOCTL_FINISH_CALC 0x1005 -#define RM_IOCTL_SCRIBER_CTRL 0x1006 -#define RM_IOCTL_READ_RAW_DATA 0x1007 -#define RM_IOCTL_AUTOSCAN_CTRL 0x1008 -#define RM_IOCTL_NOISE_CHECK 0x1009 -#define RM_IOCTL_GET_PARAMETER 0x100A -#define RM_IOCTL_SET_PARAMETER 0x100B -#define RM_IOCTL_SEND_BASELINE 0x100C +#define T007A6 0xD0 +#define T007_VERSION_B 0xB0 +#define T007B1 0xB0 +#define T007B2 0xB1 +#define T007_VERSION_C 0xC0 + +#define VERSION_A_PARAMETER_OFFSET 0x00 +#define VERSION_B_PARAMETER_OFFSET 0x01 +#define VERSION_C_PARAMETER_OFFSET 0x02 +#define PARAMETER_AMOUNT 384 + +#define RM_IOCTL_REPORT_POINT 0x1001 +#define RM_IOCTL_SET_HAL_PID 0x1002 +#define RM_IOCTL_INIT_START 0x1003 +#define RM_IOCTL_INIT_END 0x1004 +#define RM_IOCTL_FINISH_CALC 0x1005 +#define RM_IOCTL_SCRIBER_CTRL 0x1006 +#define RM_IOCTL_READ_RAW_DATA 0x1007 +#define RM_IOCTL_AUTOSCAN_CTRL 0x1008 +#define RM_IOCTL_NOISE_CHECK 0x1009 +#define RM_IOCTL_GET_PARAMETER 0x100A +#define RM_IOCTL_SET_PARAMETER 0x100B +#define RM_IOCTL_SEND_BASELINE 0x100C #define RM_IOCTL_SEND_ANALOG_BASELINE 0x100D -#define RM_IOCTL_SET_VARIABLE 0x1010 +#define RM_IOCTL_SET_VARIABLE 0x1010 #define RM_VARIABLE_SELF_TEST_RESULT 0x01 - #define RM_VARIABLE_SCRIBER_FLAG 0x02 + #define RM_VARIABLE_SCRIBER_FLAG 0x02 #define RM_VARIABLE_AUTOSCAN_FLAG 0x03 - #define RM_VARIABLE_VERSION 0x04 - #define RM_VARIABLE_REPEAT 0x06 -#define RM_IOCTL_GET_VARIABLE 0x1011 + #define RM_VARIABLE_VERSION 0x04 + #define RM_VARIABLE_IDLEMODECHECK 0x05 + #define RM_VARIABLE_REPEAT 0x06 +#define RM_IOCTL_GET_VARIABLE 0x1011 #define RM_VARIABLE_PLATFORM_ID 0x01 -#define RM_IOCTL_SET_SLOWSCAN_PARA 0x1012 - -#define RM_INPUT_RESOLUTION_X 4096 -#define RM_INPUT_RESOLUTION_Y 4096 - -#define RM_TS_SIGNAL 44 -#define RM_TS_MAX_POINTS 16 - -#define RM_SIGNAL_INTR 0x00000001 -#define RM_SIGNAL_SUSPEND 0x00000002 -#define RM_SIGNAL_RESUME 0x00000003 -#define RM_SIGNAL_CHANGE_PARA 0x00000004 - #define RM_SIGNAL_PARA_SMOOTH 0x00 - #define RM_SIGNAL_PARA_SELF_TEST 0x01 - - -#define RM_SELF_TEST_STATUS_FINISH 0 -#define RM_SELF_TEST_STATUS_TESTING 1 -#define RM_SELF_TEST_RESULT_FAIL 0 -#define RM_SELF_TEST_RESULT_PASS 1 - - +#define RM_IOCTL_SET_SLOWSCAN_PARA 0x1012 +#define RM_IOCTL_GET_SACN_MODE 0x1013 + +#define RM_INPUT_RESOLUTION_X 4096 +#define RM_INPUT_RESOLUTION_Y 4096 + +#define RM_TS_SIGNAL 44 +#define RM_TS_MAX_POINTS 16 + +#define RM_SIGNAL_INTR 0x00000001 +#define RM_SIGNAL_SUSPEND 0x00000002 +#define RM_SIGNAL_RESUME 0x00000003 +#define RM_SIGNAL_CHANGE_PARA 0x00000004 + #define RM_SIGNAL_PARA_SMOOTH 0x00 + #define RM_SIGNAL_PARA_SELF_TEST 0x01 +#define RM_SIGNAL_ENTER_AUTO_SCAN 0x00000005 +#define RM_SIGNAL_LEAVE_AUTO_SCAN 0x00000006 + +#define RM_SELF_TEST_STATUS_FINISH 0 +#define RM_SELF_TEST_STATUS_TESTING 1 +#define RM_SELF_TEST_RESULT_FAIL 0 +#define RM_SELF_TEST_RESULT_PASS 1 + +/**************************************************************************** + * Platform define + ***************************************************************************/ #define RM_PLATFORM_K007 0x00 #define RM_PLATFORM_K107 0x01 #define RM_PLATFORM_C210 0x02 @@ -87,8 +76,8 @@ #define RM_PLATFORM_A10L 0x11 #ifdef ENABLE_SLOW_SCAN -#define RM_SLOW_SCAN_INTERVAL 20 -#define RM_SLOW_SCAN_CMD_COUNT 0x10 +#define RM_SLOW_SCAN_INTERVAL 20 +#define RM_SLOW_SCAN_CMD_COUNT 0x10 enum RM_SLOW_SCAN_LEVELS { RM_SLOW_SCAN_LEVEL_NORMAL, RM_SLOW_SCAN_LEVEL_20, @@ -141,6 +130,7 @@ struct rm_spi_ts_platform_data { unsigned char *config; int platform_id; unsigned char *name_of_clock; + unsigned char *name_of_clock_con; }; int rm31080_spi_byte_write(unsigned char u8Addr, unsigned char u8Value); @@ -149,5 +139,6 @@ int rm31080_spi_burst_write(unsigned char *pBuf, unsigned int u32Len); void rm31080_disable_touch(void); void rm31080_enable_touch(void); void rm31080_set_autoscan(unsigned char val); +int rm31080_ts_send_signal(int pid, int iInfo); #endif /*_RM31080A_TS_H_*/ |