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

Go to the source code of this file.

Data Structures

struct  bu21013_ts_data
 

Macros

#define PEN_DOWN_INTR   0
 
#define MAX_FINGERS   2
 
#define RESET_DELAY   30
 
#define PENUP_TIMEOUT   (10)
 
#define DELTA_MIN   16
 
#define MASK_BITS   0x03
 
#define SHIFT_8   8
 
#define SHIFT_2   2
 
#define LENGTH_OF_BUFFER   11
 
#define I2C_RETRY_COUNT   5
 
#define BU21013_SENSORS_BTN_0_7_REG   0x70
 
#define BU21013_SENSORS_BTN_8_15_REG   0x71
 
#define BU21013_SENSORS_BTN_16_23_REG   0x72
 
#define BU21013_X1_POS_MSB_REG   0x73
 
#define BU21013_X1_POS_LSB_REG   0x74
 
#define BU21013_Y1_POS_MSB_REG   0x75
 
#define BU21013_Y1_POS_LSB_REG   0x76
 
#define BU21013_X2_POS_MSB_REG   0x77
 
#define BU21013_X2_POS_LSB_REG   0x78
 
#define BU21013_Y2_POS_MSB_REG   0x79
 
#define BU21013_Y2_POS_LSB_REG   0x7A
 
#define BU21013_INT_CLR_REG   0xE8
 
#define BU21013_INT_MODE_REG   0xE9
 
#define BU21013_GAIN_REG   0xEA
 
#define BU21013_OFFSET_MODE_REG   0xEB
 
#define BU21013_XY_EDGE_REG   0xEC
 
#define BU21013_RESET_REG   0xED
 
#define BU21013_CALIB_REG   0xEE
 
#define BU21013_DONE_REG   0xEF
 
#define BU21013_SENSOR_0_7_REG   0xF0
 
#define BU21013_SENSOR_8_15_REG   0xF1
 
#define BU21013_SENSOR_16_23_REG   0xF2
 
#define BU21013_POS_MODE1_REG   0xF3
 
#define BU21013_POS_MODE2_REG   0xF4
 
#define BU21013_CLK_MODE_REG   0xF5
 
#define BU21013_IDLE_REG   0xFA
 
#define BU21013_FILTER_REG   0xFB
 
#define BU21013_TH_ON_REG   0xFC
 
#define BU21013_TH_OFF_REG   0xFD
 
#define BU21013_RESET_ENABLE   0x01
 
#define BU21013_SENSORS_EN_0_7   0x3F
 
#define BU21013_SENSORS_EN_8_15   0xFC
 
#define BU21013_SENSORS_EN_16_23   0x1F
 
#define BU21013_POS_MODE1_0   0x02
 
#define BU21013_POS_MODE1_1   0x04
 
#define BU21013_POS_MODE1_2   0x08
 
#define BU21013_POS_MODE2_ZERO   0x01
 
#define BU21013_POS_MODE2_AVG1   0x02
 
#define BU21013_POS_MODE2_AVG2   0x04
 
#define BU21013_POS_MODE2_EN_XY   0x08
 
#define BU21013_POS_MODE2_EN_RAW   0x10
 
#define BU21013_POS_MODE2_MULTI   0x80
 
#define BU21013_CLK_MODE_DIV   0x01
 
#define BU21013_CLK_MODE_EXT   0x02
 
#define BU21013_CLK_MODE_CALIB   0x80
 
#define BU21013_IDLET_0   0x01
 
#define BU21013_IDLET_1   0x02
 
#define BU21013_IDLET_2   0x04
 
#define BU21013_IDLET_3   0x08
 
#define BU21013_IDLE_INTERMIT_EN   0x10
 
#define BU21013_DELTA_0_6   0x7F
 
#define BU21013_FILTER_EN   0x80
 
#define BU21013_INT_MODE_LEVEL   0x00
 
#define BU21013_INT_MODE_EDGE   0x01
 
#define BU21013_GAIN_0   0x01
 
#define BU21013_GAIN_1   0x02
 
#define BU21013_GAIN_2   0x04
 
#define BU21013_OFFSET_MODE_DEFAULT   0x00
 
#define BU21013_OFFSET_MODE_MOVE   0x01
 
#define BU21013_OFFSET_MODE_DISABLE   0x02
 
#define BU21013_TH_ON_0   0x01
 
#define BU21013_TH_ON_1   0x02
 
#define BU21013_TH_ON_2   0x04
 
#define BU21013_TH_ON_3   0x08
 
#define BU21013_TH_ON_4   0x10
 
#define BU21013_TH_ON_5   0x20
 
#define BU21013_TH_ON_6   0x40
 
#define BU21013_TH_ON_7   0x80
 
#define BU21013_TH_ON_MAX   0xFF
 
#define BU21013_TH_OFF_0   0x01
 
#define BU21013_TH_OFF_1   0x02
 
#define BU21013_TH_OFF_2   0x04
 
#define BU21013_TH_OFF_3   0x08
 
#define BU21013_TH_OFF_4   0x10
 
#define BU21013_TH_OFF_5   0x20
 
#define BU21013_TH_OFF_6   0x40
 
#define BU21013_TH_OFF_7   0x80
 
#define BU21013_TH_OFF_MAX   0xFF
 
#define BU21013_X_EDGE_0   0x01
 
#define BU21013_X_EDGE_1   0x02
 
#define BU21013_X_EDGE_2   0x04
 
#define BU21013_X_EDGE_3   0x08
 
#define BU21013_Y_EDGE_0   0x10
 
#define BU21013_Y_EDGE_1   0x20
 
#define BU21013_Y_EDGE_2   0x40
 
#define BU21013_Y_EDGE_3   0x80
 
#define BU21013_DONE   0x01
 
#define BU21013_NUMBER_OF_X_SENSORS   (6)
 
#define BU21013_NUMBER_OF_Y_SENSORS   (11)
 
#define DRIVER_TP   "bu21013_tp"
 

Functions

 MODULE_DEVICE_TABLE (i2c, bu21013_id)
 
 module_i2c_driver (bu21013_driver)
 
 MODULE_LICENSE ("GPL v2")
 
 MODULE_AUTHOR ("Naveen Kumar G <[email protected]>")
 
 MODULE_DESCRIPTION ("bu21013 touch screen controller driver")
 

Macro Definition Documentation

#define BU21013_CALIB_REG   0xEE

Definition at line 46 of file bu21013_ts.c.

#define BU21013_CLK_MODE_CALIB   0x80

Definition at line 79 of file bu21013_ts.c.

#define BU21013_CLK_MODE_DIV   0x01

Definition at line 77 of file bu21013_ts.c.

#define BU21013_CLK_MODE_EXT   0x02

Definition at line 78 of file bu21013_ts.c.

#define BU21013_CLK_MODE_REG   0xF5

Definition at line 53 of file bu21013_ts.c.

#define BU21013_DELTA_0_6   0x7F

Definition at line 87 of file bu21013_ts.c.

#define BU21013_DONE   0x01

Definition at line 130 of file bu21013_ts.c.

#define BU21013_DONE_REG   0xEF

Definition at line 47 of file bu21013_ts.c.

#define BU21013_FILTER_EN   0x80

Definition at line 88 of file bu21013_ts.c.

#define BU21013_FILTER_REG   0xFB

Definition at line 55 of file bu21013_ts.c.

#define BU21013_GAIN_0   0x01

Definition at line 93 of file bu21013_ts.c.

#define BU21013_GAIN_1   0x02

Definition at line 94 of file bu21013_ts.c.

#define BU21013_GAIN_2   0x04

Definition at line 95 of file bu21013_ts.c.

#define BU21013_GAIN_REG   0xEA

Definition at line 42 of file bu21013_ts.c.

#define BU21013_IDLE_INTERMIT_EN   0x10

Definition at line 85 of file bu21013_ts.c.

#define BU21013_IDLE_REG   0xFA

Definition at line 54 of file bu21013_ts.c.

#define BU21013_IDLET_0   0x01

Definition at line 81 of file bu21013_ts.c.

#define BU21013_IDLET_1   0x02

Definition at line 82 of file bu21013_ts.c.

#define BU21013_IDLET_2   0x04

Definition at line 83 of file bu21013_ts.c.

#define BU21013_IDLET_3   0x08

Definition at line 84 of file bu21013_ts.c.

#define BU21013_INT_CLR_REG   0xE8

Definition at line 40 of file bu21013_ts.c.

#define BU21013_INT_MODE_EDGE   0x01

Definition at line 91 of file bu21013_ts.c.

#define BU21013_INT_MODE_LEVEL   0x00

Definition at line 90 of file bu21013_ts.c.

#define BU21013_INT_MODE_REG   0xE9

Definition at line 41 of file bu21013_ts.c.

#define BU21013_NUMBER_OF_X_SENSORS   (6)

Definition at line 131 of file bu21013_ts.c.

#define BU21013_NUMBER_OF_Y_SENSORS   (11)

Definition at line 132 of file bu21013_ts.c.

#define BU21013_OFFSET_MODE_DEFAULT   0x00

Definition at line 97 of file bu21013_ts.c.

#define BU21013_OFFSET_MODE_DISABLE   0x02

Definition at line 99 of file bu21013_ts.c.

#define BU21013_OFFSET_MODE_MOVE   0x01

Definition at line 98 of file bu21013_ts.c.

#define BU21013_OFFSET_MODE_REG   0xEB

Definition at line 43 of file bu21013_ts.c.

#define BU21013_POS_MODE1_0   0x02

Definition at line 66 of file bu21013_ts.c.

#define BU21013_POS_MODE1_1   0x04

Definition at line 67 of file bu21013_ts.c.

#define BU21013_POS_MODE1_2   0x08

Definition at line 68 of file bu21013_ts.c.

#define BU21013_POS_MODE1_REG   0xF3

Definition at line 51 of file bu21013_ts.c.

#define BU21013_POS_MODE2_AVG1   0x02

Definition at line 71 of file bu21013_ts.c.

#define BU21013_POS_MODE2_AVG2   0x04

Definition at line 72 of file bu21013_ts.c.

#define BU21013_POS_MODE2_EN_RAW   0x10

Definition at line 74 of file bu21013_ts.c.

#define BU21013_POS_MODE2_EN_XY   0x08

Definition at line 73 of file bu21013_ts.c.

#define BU21013_POS_MODE2_MULTI   0x80

Definition at line 75 of file bu21013_ts.c.

#define BU21013_POS_MODE2_REG   0xF4

Definition at line 52 of file bu21013_ts.c.

#define BU21013_POS_MODE2_ZERO   0x01

Definition at line 70 of file bu21013_ts.c.

#define BU21013_RESET_ENABLE   0x01

Definition at line 60 of file bu21013_ts.c.

#define BU21013_RESET_REG   0xED

Definition at line 45 of file bu21013_ts.c.

#define BU21013_SENSOR_0_7_REG   0xF0

Definition at line 48 of file bu21013_ts.c.

#define BU21013_SENSOR_16_23_REG   0xF2

Definition at line 50 of file bu21013_ts.c.

#define BU21013_SENSOR_8_15_REG   0xF1

Definition at line 49 of file bu21013_ts.c.

#define BU21013_SENSORS_BTN_0_7_REG   0x70

Definition at line 29 of file bu21013_ts.c.

#define BU21013_SENSORS_BTN_16_23_REG   0x72

Definition at line 31 of file bu21013_ts.c.

#define BU21013_SENSORS_BTN_8_15_REG   0x71

Definition at line 30 of file bu21013_ts.c.

#define BU21013_SENSORS_EN_0_7   0x3F

Definition at line 62 of file bu21013_ts.c.

#define BU21013_SENSORS_EN_16_23   0x1F

Definition at line 64 of file bu21013_ts.c.

#define BU21013_SENSORS_EN_8_15   0xFC

Definition at line 63 of file bu21013_ts.c.

#define BU21013_TH_OFF_0   0x01

Definition at line 111 of file bu21013_ts.c.

#define BU21013_TH_OFF_1   0x02

Definition at line 112 of file bu21013_ts.c.

#define BU21013_TH_OFF_2   0x04

Definition at line 113 of file bu21013_ts.c.

#define BU21013_TH_OFF_3   0x08

Definition at line 114 of file bu21013_ts.c.

#define BU21013_TH_OFF_4   0x10

Definition at line 115 of file bu21013_ts.c.

#define BU21013_TH_OFF_5   0x20

Definition at line 116 of file bu21013_ts.c.

#define BU21013_TH_OFF_6   0x40

Definition at line 117 of file bu21013_ts.c.

#define BU21013_TH_OFF_7   0x80

Definition at line 118 of file bu21013_ts.c.

#define BU21013_TH_OFF_MAX   0xFF

Definition at line 119 of file bu21013_ts.c.

#define BU21013_TH_OFF_REG   0xFD

Definition at line 57 of file bu21013_ts.c.

#define BU21013_TH_ON_0   0x01

Definition at line 101 of file bu21013_ts.c.

#define BU21013_TH_ON_1   0x02

Definition at line 102 of file bu21013_ts.c.

#define BU21013_TH_ON_2   0x04

Definition at line 103 of file bu21013_ts.c.

#define BU21013_TH_ON_3   0x08

Definition at line 104 of file bu21013_ts.c.

#define BU21013_TH_ON_4   0x10

Definition at line 105 of file bu21013_ts.c.

#define BU21013_TH_ON_5   0x20

Definition at line 106 of file bu21013_ts.c.

#define BU21013_TH_ON_6   0x40

Definition at line 107 of file bu21013_ts.c.

#define BU21013_TH_ON_7   0x80

Definition at line 108 of file bu21013_ts.c.

#define BU21013_TH_ON_MAX   0xFF

Definition at line 109 of file bu21013_ts.c.

#define BU21013_TH_ON_REG   0xFC

Definition at line 56 of file bu21013_ts.c.

#define BU21013_X1_POS_LSB_REG   0x74

Definition at line 33 of file bu21013_ts.c.

#define BU21013_X1_POS_MSB_REG   0x73

Definition at line 32 of file bu21013_ts.c.

#define BU21013_X2_POS_LSB_REG   0x78

Definition at line 37 of file bu21013_ts.c.

#define BU21013_X2_POS_MSB_REG   0x77

Definition at line 36 of file bu21013_ts.c.

#define BU21013_X_EDGE_0   0x01

Definition at line 121 of file bu21013_ts.c.

#define BU21013_X_EDGE_1   0x02

Definition at line 122 of file bu21013_ts.c.

#define BU21013_X_EDGE_2   0x04

Definition at line 123 of file bu21013_ts.c.

#define BU21013_X_EDGE_3   0x08

Definition at line 124 of file bu21013_ts.c.

#define BU21013_XY_EDGE_REG   0xEC

Definition at line 44 of file bu21013_ts.c.

#define BU21013_Y1_POS_LSB_REG   0x76

Definition at line 35 of file bu21013_ts.c.

#define BU21013_Y1_POS_MSB_REG   0x75

Definition at line 34 of file bu21013_ts.c.

#define BU21013_Y2_POS_LSB_REG   0x7A

Definition at line 39 of file bu21013_ts.c.

#define BU21013_Y2_POS_MSB_REG   0x79

Definition at line 38 of file bu21013_ts.c.

#define BU21013_Y_EDGE_0   0x10

Definition at line 125 of file bu21013_ts.c.

#define BU21013_Y_EDGE_1   0x20

Definition at line 126 of file bu21013_ts.c.

#define BU21013_Y_EDGE_2   0x40

Definition at line 127 of file bu21013_ts.c.

#define BU21013_Y_EDGE_3   0x80

Definition at line 128 of file bu21013_ts.c.

#define DELTA_MIN   16

Definition at line 22 of file bu21013_ts.c.

#define DRIVER_TP   "bu21013_tp"

Definition at line 134 of file bu21013_ts.c.

#define I2C_RETRY_COUNT   5

Definition at line 27 of file bu21013_ts.c.

#define LENGTH_OF_BUFFER   11

Definition at line 26 of file bu21013_ts.c.

#define MASK_BITS   0x03

Definition at line 23 of file bu21013_ts.c.

#define MAX_FINGERS   2

Definition at line 19 of file bu21013_ts.c.

#define PEN_DOWN_INTR   0

Definition at line 18 of file bu21013_ts.c.

#define PENUP_TIMEOUT   (10)

Definition at line 21 of file bu21013_ts.c.

#define RESET_DELAY   30

Definition at line 20 of file bu21013_ts.c.

#define SHIFT_2   2

Definition at line 25 of file bu21013_ts.c.

#define SHIFT_8   8

Definition at line 24 of file bu21013_ts.c.

Function Documentation

MODULE_AUTHOR ( "Naveen Kumar G <[email protected]>"  )
MODULE_DESCRIPTION ( "bu21013 touch screen controller driver )
MODULE_DEVICE_TABLE ( i2c  ,
bu21013_id   
)
module_i2c_driver ( bu21013_driver  )
MODULE_LICENSE ( "GPL v2 )