Linux Kernel  3.7.1
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Data Structures | Macros | Functions
tegra-kbc.c File Reference
#include <linux/kernel.h>
#include <linux/module.h>
#include <linux/input.h>
#include <linux/platform_device.h>
#include <linux/delay.h>
#include <linux/io.h>
#include <linux/interrupt.h>
#include <linux/of.h>
#include <linux/clk.h>
#include <linux/slab.h>
#include <linux/input/tegra_kbc.h>
#include <mach/clk.h>

Go to the source code of this file.

Data Structures

struct  tegra_kbc
 

Macros

#define KBC_MAX_DEBOUNCE_CNT   0x3ffu
 
#define KBC_ROW_SCAN_TIME   16
 
#define KBC_ROW_SCAN_DLY   5
 
#define KBC_CYCLE_MS   32
 
#define KBC_CONTROL_0   0x0
 
#define KBC_FIFO_TH_CNT_SHIFT(cnt)   (cnt << 14)
 
#define KBC_DEBOUNCE_CNT_SHIFT(cnt)   (cnt << 4)
 
#define KBC_CONTROL_FIFO_CNT_INT_EN   (1 << 3)
 
#define KBC_CONTROL_KEYPRESS_INT_EN   (1 << 1)
 
#define KBC_CONTROL_KBC_EN   (1 << 0)
 
#define KBC_INT_0   0x4
 
#define KBC_INT_FIFO_CNT_INT_STATUS   (1 << 2)
 
#define KBC_INT_KEYPRESS_INT_STATUS   (1 << 0)
 
#define KBC_ROW_CFG0_0   0x8
 
#define KBC_COL_CFG0_0   0x18
 
#define KBC_TO_CNT_0   0x24
 
#define KBC_INIT_DLY_0   0x28
 
#define KBC_RPT_DLY_0   0x2c
 
#define KBC_KP_ENT0_0   0x30
 
#define KBC_KP_ENT1_0   0x34
 
#define KBC_ROW0_MASK_0   0x38
 
#define KBC_ROW_SHIFT   3
 

Functions

 MODULE_DEVICE_TABLE (of, tegra_kbc_of_match)
 
 module_platform_driver (tegra_kbc_driver)
 
 MODULE_LICENSE ("GPL")
 
 MODULE_AUTHOR ("Rakesh Iyer <[email protected]>")
 
 MODULE_DESCRIPTION ("Tegra matrix keyboard controller driver")
 
 MODULE_ALIAS ("platform:tegra-kbc")
 

Macro Definition Documentation

#define KBC_COL_CFG0_0   0x18

Definition at line 60 of file tegra-kbc.c.

#define KBC_CONTROL_0   0x0

Definition at line 47 of file tegra-kbc.c.

#define KBC_CONTROL_FIFO_CNT_INT_EN   (1 << 3)

Definition at line 50 of file tegra-kbc.c.

#define KBC_CONTROL_KBC_EN   (1 << 0)

Definition at line 52 of file tegra-kbc.c.

#define KBC_CONTROL_KEYPRESS_INT_EN   (1 << 1)

Definition at line 51 of file tegra-kbc.c.

#define KBC_CYCLE_MS   32

Definition at line 42 of file tegra-kbc.c.

#define KBC_DEBOUNCE_CNT_SHIFT (   cnt)    (cnt << 4)

Definition at line 49 of file tegra-kbc.c.

#define KBC_FIFO_TH_CNT_SHIFT (   cnt)    (cnt << 14)

Definition at line 48 of file tegra-kbc.c.

#define KBC_INIT_DLY_0   0x28

Definition at line 62 of file tegra-kbc.c.

#define KBC_INT_0   0x4

Definition at line 55 of file tegra-kbc.c.

#define KBC_INT_FIFO_CNT_INT_STATUS   (1 << 2)

Definition at line 56 of file tegra-kbc.c.

#define KBC_INT_KEYPRESS_INT_STATUS   (1 << 0)

Definition at line 57 of file tegra-kbc.c.

#define KBC_KP_ENT0_0   0x30

Definition at line 64 of file tegra-kbc.c.

#define KBC_KP_ENT1_0   0x34

Definition at line 65 of file tegra-kbc.c.

#define KBC_MAX_DEBOUNCE_CNT   0x3ffu

Definition at line 35 of file tegra-kbc.c.

#define KBC_ROW0_MASK_0   0x38

Definition at line 66 of file tegra-kbc.c.

#define KBC_ROW_CFG0_0   0x8

Definition at line 59 of file tegra-kbc.c.

#define KBC_ROW_SCAN_DLY   5

Definition at line 39 of file tegra-kbc.c.

#define KBC_ROW_SCAN_TIME   16

Definition at line 38 of file tegra-kbc.c.

#define KBC_ROW_SHIFT   3

Definition at line 68 of file tegra-kbc.c.

#define KBC_RPT_DLY_0   0x2c

Definition at line 63 of file tegra-kbc.c.

#define KBC_TO_CNT_0   0x24

Definition at line 61 of file tegra-kbc.c.

Function Documentation

MODULE_ALIAS ( "platform:tegra-kbc"  )
MODULE_AUTHOR ( "Rakesh Iyer <[email protected]>"  )
MODULE_DESCRIPTION ( "Tegra matrix keyboard controller driver )
MODULE_DEVICE_TABLE ( of  ,
tegra_kbc_of_match   
)
MODULE_LICENSE ( "GPL"  )
module_platform_driver ( tegra_kbc_driver  )