Linux Kernel  3.7.1
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Data Structures | Macros | Enumerations | Functions
tc3589x.h File Reference

Go to the source code of this file.

Data Structures

struct  tc3589x
 
struct  tc3589x_keypad_platform_data
 
struct  tc3589x_gpio_platform_data
 
struct  tc3589x_platform_data
 

Macros

#define TC3589x_RSTCTRL_IRQRST   (1 << 4)
 
#define TC3589x_RSTCTRL_TIMRST   (1 << 3)
 
#define TC3589x_RSTCTRL_ROTRST   (1 << 2)
 
#define TC3589x_RSTCTRL_KBDRST   (1 << 1)
 
#define TC3589x_RSTCTRL_GPIRST   (1 << 0)
 
#define TC3589x_KBDSETTLE_REG   0x01
 
#define TC3589x_KBDBOUNCE   0x02
 
#define TC3589x_KBDSIZE   0x03
 
#define TC3589x_KBCFG_LSB   0x04
 
#define TC3589x_KBCFG_MSB   0x05
 
#define TC3589x_KBDIC   0x08
 
#define TC3589x_KBDMSK   0x09
 
#define TC3589x_EVTCODE_FIFO   0x10
 
#define TC3589x_KBDMFS   0x8F
 
#define TC3589x_IRQST   0x91
 
#define TC3589x_MANFCODE_MAGIC   0x03
 
#define TC3589x_MANFCODE   0x80
 
#define TC3589x_VERSION   0x81
 
#define TC3589x_IOCFG   0xA7
 
#define TC3589x_CLKMODE   0x88
 
#define TC3589x_CLKCFG   0x89
 
#define TC3589x_CLKEN   0x8A
 
#define TC3589x_RSTCTRL   0x82
 
#define TC3589x_EXTRSTN   0x83
 
#define TC3589x_RSTINTCLR   0x84
 
#define TC3589x_IOCFG   0xA7
 
#define TC3589x_IOPULLCFG0_LSB   0xAA
 
#define TC3589x_IOPULLCFG0_MSB   0xAB
 
#define TC3589x_IOPULLCFG1_LSB   0xAC
 
#define TC3589x_IOPULLCFG1_MSB   0xAD
 
#define TC3589x_IOPULLCFG2_LSB   0xAE
 
#define TC3589x_GPIOIS0   0xC9
 
#define TC3589x_GPIOIS1   0xCA
 
#define TC3589x_GPIOIS2   0xCB
 
#define TC3589x_GPIOIBE0   0xCC
 
#define TC3589x_GPIOIBE1   0xCD
 
#define TC3589x_GPIOIBE2   0xCE
 
#define TC3589x_GPIOIEV0   0xCF
 
#define TC3589x_GPIOIEV1   0xD0
 
#define TC3589x_GPIOIEV2   0xD1
 
#define TC3589x_GPIOIE0   0xD2
 
#define TC3589x_GPIOIE1   0xD3
 
#define TC3589x_GPIOIE2   0xD4
 
#define TC3589x_GPIORIS0   0xD6
 
#define TC3589x_GPIORIS1   0xD7
 
#define TC3589x_GPIORIS2   0xD8
 
#define TC3589x_GPIOMIS0   0xD9
 
#define TC3589x_GPIOMIS1   0xDA
 
#define TC3589x_GPIOMIS2   0xDB
 
#define TC3589x_GPIOIC0   0xDC
 
#define TC3589x_GPIOIC1   0xDD
 
#define TC3589x_GPIOIC2   0xDE
 
#define TC3589x_GPIODATA0   0xC0
 
#define TC3589x_GPIOMASK0   0xc1
 
#define TC3589x_GPIODATA1   0xC2
 
#define TC3589x_GPIOMASK1   0xc3
 
#define TC3589x_GPIODATA2   0xC4
 
#define TC3589x_GPIOMASK2   0xC5
 
#define TC3589x_GPIODIR0   0xC6
 
#define TC3589x_GPIODIR1   0xC7
 
#define TC3589x_GPIODIR2   0xC8
 
#define TC3589x_GPIOSYNC0   0xE6
 
#define TC3589x_GPIOSYNC1   0xE7
 
#define TC3589x_GPIOSYNC2   0xE8
 
#define TC3589x_GPIOWAKE0   0xE9
 
#define TC3589x_GPIOWAKE1   0xEA
 
#define TC3589x_GPIOWAKE2   0xEB
 
#define TC3589x_GPIOODM0   0xE0
 
#define TC3589x_GPIOODE0   0xE1
 
#define TC3589x_GPIOODM1   0xE2
 
#define TC3589x_GPIOODE1   0xE3
 
#define TC3589x_GPIOODM2   0xE4
 
#define TC3589x_GPIOODE2   0xE5
 
#define TC3589x_INT_GPIIRQ   0
 
#define TC3589x_INT_TI0IRQ   1
 
#define TC3589x_INT_TI1IRQ   2
 
#define TC3589x_INT_TI2IRQ   3
 
#define TC3589x_INT_ROTIRQ   5
 
#define TC3589x_INT_KBDIRQ   6
 
#define TC3589x_INT_PORIRQ   7
 
#define TC3589x_NR_INTERNAL_IRQS   8
 
#define TC3589x_INT_GPIO(x)   (TC3589x_NR_INTERNAL_IRQS + (x))
 
#define TC_KPD_ROWS   0x8
 
#define TC_KPD_COLUMNS   0x8
 
#define TC_KPD_DEBOUNCE_PERIOD   0xA3
 
#define TC_KPD_SETTLE_TIME   0xA3
 
#define TC3589x_NR_GPIOS   24
 
#define TC3589x_NR_IRQS   TC3589x_INT_GPIO(TC3589x_NR_GPIOS)
 

Enumerations

enum  tx3589x_block { TC3589x_BLOCK_GPIO = 1 << 0, TC3589x_BLOCK_KEYPAD = 1 << 1 }
 

Functions

int tc3589x_reg_write (struct tc3589x *tc3589x, u8 reg, u8 data)
 
int tc3589x_reg_read (struct tc3589x *tc3589x, u8 reg)
 
int tc3589x_block_read (struct tc3589x *tc3589x, u8 reg, u8 length, u8 *values)
 
int tc3589x_block_write (struct tc3589x *tc3589x, u8 reg, u8 length, const u8 *values)
 
int tc3589x_set_bits (struct tc3589x *tc3589x, u8 reg, u8 mask, u8 val)
 

Macro Definition Documentation

#define TC3589x_CLKCFG   0x89

Definition at line 42 of file tc3589x.h.

#define TC3589x_CLKEN   0x8A

Definition at line 43 of file tc3589x.h.

#define TC3589x_CLKMODE   0x88

Definition at line 41 of file tc3589x.h.

#define TC3589x_EVTCODE_FIFO   0x10

Definition at line 31 of file tc3589x.h.

#define TC3589x_EXTRSTN   0x83

Definition at line 46 of file tc3589x.h.

#define TC3589x_GPIODATA0   0xC0

Definition at line 79 of file tc3589x.h.

#define TC3589x_GPIODATA1   0xC2

Definition at line 81 of file tc3589x.h.

#define TC3589x_GPIODATA2   0xC4

Definition at line 83 of file tc3589x.h.

#define TC3589x_GPIODIR0   0xC6

Definition at line 86 of file tc3589x.h.

#define TC3589x_GPIODIR1   0xC7

Definition at line 87 of file tc3589x.h.

#define TC3589x_GPIODIR2   0xC8

Definition at line 88 of file tc3589x.h.

#define TC3589x_GPIOIBE0   0xCC

Definition at line 60 of file tc3589x.h.

#define TC3589x_GPIOIBE1   0xCD

Definition at line 61 of file tc3589x.h.

#define TC3589x_GPIOIBE2   0xCE

Definition at line 62 of file tc3589x.h.

#define TC3589x_GPIOIC0   0xDC

Definition at line 75 of file tc3589x.h.

#define TC3589x_GPIOIC1   0xDD

Definition at line 76 of file tc3589x.h.

#define TC3589x_GPIOIC2   0xDE

Definition at line 77 of file tc3589x.h.

#define TC3589x_GPIOIE0   0xD2

Definition at line 66 of file tc3589x.h.

#define TC3589x_GPIOIE1   0xD3

Definition at line 67 of file tc3589x.h.

#define TC3589x_GPIOIE2   0xD4

Definition at line 68 of file tc3589x.h.

#define TC3589x_GPIOIEV0   0xCF

Definition at line 63 of file tc3589x.h.

#define TC3589x_GPIOIEV1   0xD0

Definition at line 64 of file tc3589x.h.

#define TC3589x_GPIOIEV2   0xD1

Definition at line 65 of file tc3589x.h.

#define TC3589x_GPIOIS0   0xC9

Definition at line 57 of file tc3589x.h.

#define TC3589x_GPIOIS1   0xCA

Definition at line 58 of file tc3589x.h.

#define TC3589x_GPIOIS2   0xCB

Definition at line 59 of file tc3589x.h.

#define TC3589x_GPIOMASK0   0xc1

Definition at line 80 of file tc3589x.h.

#define TC3589x_GPIOMASK1   0xc3

Definition at line 82 of file tc3589x.h.

#define TC3589x_GPIOMASK2   0xC5

Definition at line 84 of file tc3589x.h.

#define TC3589x_GPIOMIS0   0xD9

Definition at line 72 of file tc3589x.h.

#define TC3589x_GPIOMIS1   0xDA

Definition at line 73 of file tc3589x.h.

#define TC3589x_GPIOMIS2   0xDB

Definition at line 74 of file tc3589x.h.

#define TC3589x_GPIOODE0   0xE1

Definition at line 99 of file tc3589x.h.

#define TC3589x_GPIOODE1   0xE3

Definition at line 101 of file tc3589x.h.

#define TC3589x_GPIOODE2   0xE5

Definition at line 103 of file tc3589x.h.

#define TC3589x_GPIOODM0   0xE0

Definition at line 98 of file tc3589x.h.

#define TC3589x_GPIOODM1   0xE2

Definition at line 100 of file tc3589x.h.

#define TC3589x_GPIOODM2   0xE4

Definition at line 102 of file tc3589x.h.

#define TC3589x_GPIORIS0   0xD6

Definition at line 69 of file tc3589x.h.

#define TC3589x_GPIORIS1   0xD7

Definition at line 70 of file tc3589x.h.

#define TC3589x_GPIORIS2   0xD8

Definition at line 71 of file tc3589x.h.

#define TC3589x_GPIOSYNC0   0xE6

Definition at line 90 of file tc3589x.h.

#define TC3589x_GPIOSYNC1   0xE7

Definition at line 91 of file tc3589x.h.

#define TC3589x_GPIOSYNC2   0xE8

Definition at line 92 of file tc3589x.h.

#define TC3589x_GPIOWAKE0   0xE9

Definition at line 94 of file tc3589x.h.

#define TC3589x_GPIOWAKE1   0xEA

Definition at line 95 of file tc3589x.h.

#define TC3589x_GPIOWAKE2   0xEB

Definition at line 96 of file tc3589x.h.

#define TC3589x_INT_GPIIRQ   0

Definition at line 105 of file tc3589x.h.

#define TC3589x_INT_GPIO (   x)    (TC3589x_NR_INTERNAL_IRQS + (x))

Definition at line 114 of file tc3589x.h.

#define TC3589x_INT_KBDIRQ   6

Definition at line 110 of file tc3589x.h.

#define TC3589x_INT_PORIRQ   7

Definition at line 111 of file tc3589x.h.

#define TC3589x_INT_ROTIRQ   5

Definition at line 109 of file tc3589x.h.

#define TC3589x_INT_TI0IRQ   1

Definition at line 106 of file tc3589x.h.

#define TC3589x_INT_TI1IRQ   2

Definition at line 107 of file tc3589x.h.

#define TC3589x_INT_TI2IRQ   3

Definition at line 108 of file tc3589x.h.

#define TC3589x_IOCFG   0xA7

Definition at line 50 of file tc3589x.h.

#define TC3589x_IOCFG   0xA7

Definition at line 50 of file tc3589x.h.

#define TC3589x_IOPULLCFG0_LSB   0xAA

Definition at line 51 of file tc3589x.h.

#define TC3589x_IOPULLCFG0_MSB   0xAB

Definition at line 52 of file tc3589x.h.

#define TC3589x_IOPULLCFG1_LSB   0xAC

Definition at line 53 of file tc3589x.h.

#define TC3589x_IOPULLCFG1_MSB   0xAD

Definition at line 54 of file tc3589x.h.

#define TC3589x_IOPULLCFG2_LSB   0xAE

Definition at line 55 of file tc3589x.h.

#define TC3589x_IRQST   0x91

Definition at line 34 of file tc3589x.h.

#define TC3589x_KBCFG_LSB   0x04

Definition at line 27 of file tc3589x.h.

#define TC3589x_KBCFG_MSB   0x05

Definition at line 28 of file tc3589x.h.

#define TC3589x_KBDBOUNCE   0x02

Definition at line 25 of file tc3589x.h.

#define TC3589x_KBDIC   0x08

Definition at line 29 of file tc3589x.h.

#define TC3589x_KBDMFS   0x8F

Definition at line 32 of file tc3589x.h.

#define TC3589x_KBDMSK   0x09

Definition at line 30 of file tc3589x.h.

#define TC3589x_KBDSETTLE_REG   0x01

Definition at line 24 of file tc3589x.h.

#define TC3589x_KBDSIZE   0x03

Definition at line 26 of file tc3589x.h.

#define TC3589x_MANFCODE   0x80

Definition at line 37 of file tc3589x.h.

#define TC3589x_MANFCODE_MAGIC   0x03

Definition at line 36 of file tc3589x.h.

#define TC3589x_NR_GPIOS   24

Definition at line 193 of file tc3589x.h.

#define TC3589x_NR_INTERNAL_IRQS   8

Definition at line 113 of file tc3589x.h.

#define TC3589x_NR_IRQS   TC3589x_INT_GPIO(TC3589x_NR_GPIOS)

Definition at line 194 of file tc3589x.h.

#define TC3589x_RSTCTRL   0x82

Definition at line 45 of file tc3589x.h.

#define TC3589x_RSTCTRL_GPIRST   (1 << 0)

Definition at line 21 of file tc3589x.h.

#define TC3589x_RSTCTRL_IRQRST   (1 << 4)

Definition at line 17 of file tc3589x.h.

#define TC3589x_RSTCTRL_KBDRST   (1 << 1)

Definition at line 20 of file tc3589x.h.

#define TC3589x_RSTCTRL_ROTRST   (1 << 2)

Definition at line 19 of file tc3589x.h.

#define TC3589x_RSTCTRL_TIMRST   (1 << 3)

Definition at line 18 of file tc3589x.h.

#define TC3589x_RSTINTCLR   0x84

Definition at line 47 of file tc3589x.h.

#define TC3589x_VERSION   0x81

Definition at line 38 of file tc3589x.h.

#define TC_KPD_COLUMNS   0x8

Definition at line 140 of file tc3589x.h.

#define TC_KPD_DEBOUNCE_PERIOD   0xA3

Definition at line 141 of file tc3589x.h.

#define TC_KPD_ROWS   0x8

Definition at line 139 of file tc3589x.h.

#define TC_KPD_SETTLE_TIME   0xA3

Definition at line 142 of file tc3589x.h.

Enumeration Type Documentation

Enumerator:
TC3589x_BLOCK_GPIO 
TC3589x_BLOCK_KEYPAD 

Definition at line 12 of file tc3589x.h.

Function Documentation

int tc3589x_block_read ( struct tc3589x tc3589x,
u8  reg,
u8  length,
u8 values 
)

tc3589x_block_read() - read multiple TC3589x registers : Device to read from : First register : Number of registers : Buffer to write to

Definition at line 66 of file tc3589x.c.

int tc3589x_block_write ( struct tc3589x tc3589x,
u8  reg,
u8  length,
const u8 values 
)

tc3589x_block_write() - write multiple TC3589x registers : Device to write to : First register : Number of registers : Values to write

Definition at line 86 of file tc3589x.c.

int tc3589x_reg_read ( struct tc3589x tc3589x,
u8  reg 
)

tc3589x_reg_read() - read a single TC3589x register : Device to read from : Register to read

Definition at line 27 of file tc3589x.c.

int tc3589x_reg_write ( struct tc3589x tc3589x,
u8  reg,
u8  data 
)

tc3589x_reg_read() - write a single TC3589x register : Device to write to : Register to read : Value to write

Definition at line 46 of file tc3589x.c.

int tc3589x_set_bits ( struct tc3589x tc3589x,
u8  reg,
u8  mask,
u8  val 
)

tc3589x_set_bits() - set the value of a bitfield in a TC3589x register : Device to write to : Register to write : Mask of bits to set : Value to set

Definition at line 108 of file tc3589x.c.