Linux Kernel
3.7.1
|
#include <linux/clk.h>
#include <linux/delay.h>
#include <linux/device.h>
#include <linux/err.h>
#include <linux/init.h>
#include <linux/input/matrix_keypad.h>
#include <linux/interrupt.h>
#include <linux/io.h>
#include <linux/jiffies.h>
#include <linux/kernel.h>
#include <linux/module.h>
#include <linux/platform_device.h>
#include <linux/slab.h>
#include <linux/timer.h>
Go to the source code of this file.
Data Structures | |
struct | imx_keypad |
Macros | |
#define | KPCR 0x00 /* Keypad Control Register */ |
#define | KPSR 0x02 /* Keypad Status Register */ |
#define | KBD_STAT_KPKD (0x1 << 0) /* Key Press Interrupt Status bit (w1c) */ |
#define | KBD_STAT_KPKR (0x1 << 1) /* Key Release Interrupt Status bit (w1c) */ |
#define | KBD_STAT_KDSC (0x1 << 2) /* Key Depress Synch Chain Status bit (w1c)*/ |
#define | KBD_STAT_KRSS (0x1 << 3) /* Key Release Synch Status bit (w1c)*/ |
#define | KBD_STAT_KDIE (0x1 << 8) /* Key Depress Interrupt Enable Status bit */ |
#define | KBD_STAT_KRIE (0x1 << 9) /* Key Release Interrupt Enable */ |
#define | KBD_STAT_KPPEN (0x1 << 10) /* Keypad Clock Enable */ |
#define | KDDR 0x04 /* Keypad Data Direction Register */ |
#define | KPDR 0x06 /* Keypad Data Register */ |
#define | MAX_MATRIX_KEY_ROWS 8 |
#define | MAX_MATRIX_KEY_COLS 8 |
#define | MATRIX_ROW_SHIFT 3 |
#define | MAX_MATRIX_KEY_NUM (MAX_MATRIX_KEY_ROWS * MAX_MATRIX_KEY_COLS) |
#define | IMX_KEYPAD_SCANS_FOR_STABILITY 3 |
Functions | |
module_platform_driver (imx_keypad_driver) | |
MODULE_AUTHOR ("Alberto Panizzo <[email protected]>") | |
MODULE_DESCRIPTION ("IMX Keypad Port Driver") | |
MODULE_LICENSE ("GPL v2") | |
MODULE_ALIAS ("platform:imx-keypad") | |
#define IMX_KEYPAD_SCANS_FOR_STABILITY 3 |
Definition at line 63 of file imx_keypad.c.
#define KBD_STAT_KDIE (0x1 << 8) /* Key Depress Interrupt Enable Status bit */ |
Definition at line 37 of file imx_keypad.c.
#define KBD_STAT_KDSC (0x1 << 2) /* Key Depress Synch Chain Status bit (w1c)*/ |
Definition at line 35 of file imx_keypad.c.
#define KBD_STAT_KPKD (0x1 << 0) /* Key Press Interrupt Status bit (w1c) */ |
Definition at line 33 of file imx_keypad.c.
#define KBD_STAT_KPKR (0x1 << 1) /* Key Release Interrupt Status bit (w1c) */ |
Definition at line 34 of file imx_keypad.c.
#define KBD_STAT_KPPEN (0x1 << 10) /* Keypad Clock Enable */ |
Definition at line 39 of file imx_keypad.c.
#define KBD_STAT_KRIE (0x1 << 9) /* Key Release Interrupt Enable */ |
Definition at line 38 of file imx_keypad.c.
#define KBD_STAT_KRSS (0x1 << 3) /* Key Release Synch Status bit (w1c)*/ |
Definition at line 36 of file imx_keypad.c.
#define KDDR 0x04 /* Keypad Data Direction Register */ |
Definition at line 41 of file imx_keypad.c.
#define KPCR 0x00 /* Keypad Control Register */ |
Definition at line 30 of file imx_keypad.c.
#define KPDR 0x06 /* Keypad Data Register */ |
Definition at line 42 of file imx_keypad.c.
#define KPSR 0x02 /* Keypad Status Register */ |
Definition at line 32 of file imx_keypad.c.
#define MATRIX_ROW_SHIFT 3 |
Definition at line 46 of file imx_keypad.c.
#define MAX_MATRIX_KEY_COLS 8 |
Definition at line 45 of file imx_keypad.c.
#define MAX_MATRIX_KEY_NUM (MAX_MATRIX_KEY_ROWS * MAX_MATRIX_KEY_COLS) |
Definition at line 48 of file imx_keypad.c.
#define MAX_MATRIX_KEY_ROWS 8 |
Definition at line 44 of file imx_keypad.c.
MODULE_ALIAS | ( | "platform:imx-keypad" | ) |
MODULE_AUTHOR | ( | "Alberto Panizzo <[email protected]>" | ) |
MODULE_DESCRIPTION | ( | "IMX Keypad Port Driver" | ) |
MODULE_LICENSE | ( | "GPL v2" | ) |
module_platform_driver | ( | imx_keypad_driver | ) |