summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorDavid Jung <djung@nvidia.com>2013-01-27 17:49:58 -0800
committerMrutyunjay Sawant <msawant@nvidia.com>2013-02-12 23:02:27 -0800
commit0ba3a9a571aa6eec71c7e27f765cf056c45c512d (patch)
tree48b56371c8aacded63639a1b33536a54c3e637f5 /include
parent2f63800433896ac34b510038f665b19e6a630c1c (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.h62
-rw-r--r--include/linux/spi/rm31080a_ts.h131
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_*/