Linux Kernel  3.7.1
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Data Structures | Macros | Functions
synaptics_i2c_rmi4.c File Reference
#include <linux/input.h>
#include <linux/slab.h>
#include <linux/i2c.h>
#include <linux/interrupt.h>
#include <linux/regulator/consumer.h>
#include <linux/module.h>
#include "synaptics_i2c_rmi4.h"

Go to the source code of this file.

Data Structures

struct  synaptics_rmi4_fn_desc
 
struct  synaptics_rmi4_fn
 
struct  synaptics_rmi4_device_info
 
struct  synaptics_rmi4_data
 

Macros

#define DRIVER_NAME   "synaptics_rmi4_i2c"
 
#define MAX_ERROR_REPORT   6
 
#define MAX_TOUCH_MAJOR   15
 
#define MAX_RETRY_COUNT   5
 
#define STD_QUERY_LEN   21
 
#define PAGE_LEN   2
 
#define DATA_BUF_LEN   32
 
#define BUF_LEN   37
 
#define QUERY_LEN   9
 
#define DATA_LEN   12
 
#define HAS_TAP   0x01
 
#define HAS_PALMDETECT   0x01
 
#define HAS_ROTATE   0x02
 
#define HAS_TAPANDHOLD   0x02
 
#define HAS_DOUBLETAP   0x04
 
#define HAS_EARLYTAP   0x08
 
#define HAS_RELEASE   0x08
 
#define HAS_FLICK   0x10
 
#define HAS_PRESS   0x20
 
#define HAS_PINCH   0x40
 
#define MASK_16BIT   0xFFFF
 
#define MASK_8BIT   0xFF
 
#define MASK_7BIT   0x7F
 
#define MASK_5BIT   0x1F
 
#define MASK_4BIT   0x0F
 
#define MASK_3BIT   0x07
 
#define MASK_2BIT   0x03
 
#define TOUCHPAD_CTRL_INTR   0x8
 
#define PDT_START_SCAN_LOCATION   (0x00E9)
 
#define PDT_END_SCAN_LOCATION   (0x000A)
 
#define PDT_ENTRY_SIZE   (0x0006)
 
#define RMI4_NUMBER_OF_MAX_FINGERS   (8)
 
#define SYNAPTICS_RMI4_TOUCHPAD_FUNC_NUM   (0x11)
 
#define SYNAPTICS_RMI4_DEVICE_CONTROL_FUNC_NUM   (0x01)
 

Functions

int synaptics_rmi4_touchpad_config (struct synaptics_rmi4_data *pdata, struct synaptics_rmi4_fn *rfi)
 
 MODULE_DEVICE_TABLE (i2c, synaptics_rmi4_id_table)
 
 module_init (synaptics_rmi4_init)
 
 module_exit (synaptics_rmi4_exit)
 
 MODULE_LICENSE ("GPL v2")
 
 MODULE_AUTHOR ("[email protected], [email protected]")
 
 MODULE_DESCRIPTION ("synaptics rmi4 i2c touch Driver")
 
 MODULE_ALIAS ("i2c:synaptics_rmi4_ts")
 

Macro Definition Documentation

#define BUF_LEN   37

Definition at line 45 of file synaptics_i2c_rmi4.c.

#define DATA_BUF_LEN   32

Definition at line 44 of file synaptics_i2c_rmi4.c.

#define DATA_LEN   12

Definition at line 47 of file synaptics_i2c_rmi4.c.

#define DRIVER_NAME   "synaptics_rmi4_i2c"

Synaptics Register Mapped Interface (RMI4) I2C Physical Layer Driver. Copyright (c) 2007-2010, Synaptics Incorporated

Author: Js HA js.ha.nosp@m.@ste.nosp@m.ricss.nosp@m.on.c.nosp@m.om for ST-Ericsson Author: Naveen Kumar G navee.nosp@m.n.ga.nosp@m.ddipa.nosp@m.ti@s.nosp@m.teric.nosp@m.sson.nosp@m..com for ST-Ericsson Copyright 2010 (c) ST-Ericsson AB

Definition at line 37 of file synaptics_i2c_rmi4.c.

#define HAS_DOUBLETAP   0x04

Definition at line 52 of file synaptics_i2c_rmi4.c.

#define HAS_EARLYTAP   0x08

Definition at line 53 of file synaptics_i2c_rmi4.c.

#define HAS_FLICK   0x10

Definition at line 55 of file synaptics_i2c_rmi4.c.

#define HAS_PALMDETECT   0x01

Definition at line 49 of file synaptics_i2c_rmi4.c.

#define HAS_PINCH   0x40

Definition at line 57 of file synaptics_i2c_rmi4.c.

#define HAS_PRESS   0x20

Definition at line 56 of file synaptics_i2c_rmi4.c.

#define HAS_RELEASE   0x08

Definition at line 54 of file synaptics_i2c_rmi4.c.

#define HAS_ROTATE   0x02

Definition at line 50 of file synaptics_i2c_rmi4.c.

#define HAS_TAP   0x01

Definition at line 48 of file synaptics_i2c_rmi4.c.

#define HAS_TAPANDHOLD   0x02

Definition at line 51 of file synaptics_i2c_rmi4.c.

#define MASK_16BIT   0xFFFF

Definition at line 59 of file synaptics_i2c_rmi4.c.

#define MASK_2BIT   0x03

Definition at line 65 of file synaptics_i2c_rmi4.c.

#define MASK_3BIT   0x07

Definition at line 64 of file synaptics_i2c_rmi4.c.

#define MASK_4BIT   0x0F

Definition at line 63 of file synaptics_i2c_rmi4.c.

#define MASK_5BIT   0x1F

Definition at line 62 of file synaptics_i2c_rmi4.c.

#define MASK_7BIT   0x7F

Definition at line 61 of file synaptics_i2c_rmi4.c.

#define MASK_8BIT   0xFF

Definition at line 60 of file synaptics_i2c_rmi4.c.

#define MAX_ERROR_REPORT   6

Definition at line 39 of file synaptics_i2c_rmi4.c.

#define MAX_RETRY_COUNT   5

Definition at line 41 of file synaptics_i2c_rmi4.c.

#define MAX_TOUCH_MAJOR   15

Definition at line 40 of file synaptics_i2c_rmi4.c.

#define PAGE_LEN   2

Definition at line 43 of file synaptics_i2c_rmi4.c.

#define PDT_END_SCAN_LOCATION   (0x000A)

Definition at line 68 of file synaptics_i2c_rmi4.c.

#define PDT_ENTRY_SIZE   (0x0006)

Definition at line 69 of file synaptics_i2c_rmi4.c.

#define PDT_START_SCAN_LOCATION   (0x00E9)

Definition at line 67 of file synaptics_i2c_rmi4.c.

#define QUERY_LEN   9

Definition at line 46 of file synaptics_i2c_rmi4.c.

#define RMI4_NUMBER_OF_MAX_FINGERS   (8)

Definition at line 70 of file synaptics_i2c_rmi4.c.

#define STD_QUERY_LEN   21

Definition at line 42 of file synaptics_i2c_rmi4.c.

#define SYNAPTICS_RMI4_DEVICE_CONTROL_FUNC_NUM   (0x01)

Definition at line 72 of file synaptics_i2c_rmi4.c.

#define SYNAPTICS_RMI4_TOUCHPAD_FUNC_NUM   (0x11)

Definition at line 71 of file synaptics_i2c_rmi4.c.

#define TOUCHPAD_CTRL_INTR   0x8

Definition at line 66 of file synaptics_i2c_rmi4.c.

Function Documentation

MODULE_ALIAS ( "i2c:synaptics_rmi4_ts"  )
MODULE_AUTHOR ( "naveen.gaddipati@stericsson.  com,
js.ha @stericsson.com"   
)
MODULE_DESCRIPTION ( "synaptics rmi4 i2c touch Driver"  )
MODULE_DEVICE_TABLE ( i2c  ,
synaptics_rmi4_id_table   
)
module_exit ( synaptics_rmi4_exit  )
module_init ( synaptics_rmi4_init  )
MODULE_LICENSE ( "GPL v2 )
int synaptics_rmi4_touchpad_config ( struct synaptics_rmi4_data pdata,
struct synaptics_rmi4_fn rfi 
)

synaptics_rmi4_touchpad_config() - configures the rmi4 touchpad device : pointer to synaptics_rmi4_data structure : pointer to synaptics_rmi4_fn structure

This function calls to configures the rmi4 touchpad device

Definition at line 664 of file synaptics_i2c_rmi4.c.