Linux Kernel
3.7.1
|
#include <linux/module.h>
#include <linux/init.h>
#include <linux/interrupt.h>
#include <linux/irq.h>
#include <linux/workqueue.h>
#include <linux/errno.h>
#include <linux/pm.h>
#include <linux/platform_device.h>
#include <linux/input.h>
#include <linux/i2c.h>
#include <linux/gpio.h>
#include <linux/slab.h>
#include <linux/input/adp5589.h>
Go to the source code of this file.
Data Structures | |
struct | adp_constants |
struct | adp5589_kpad |
Enumerations | |
enum | { ADP5589, ADP5585_01, ADP5585_02 } |
Functions | |
MODULE_DEVICE_TABLE (i2c, adp5589_id) | |
module_i2c_driver (adp5589_driver) | |
MODULE_LICENSE ("GPL") | |
MODULE_AUTHOR ("Michael Hennerich <[email protected]>") | |
MODULE_DESCRIPTION ("ADP5589/ADP5585 Keypad driver") | |
#define ADP5585_DEBOUNCE_DIS_A 0x21 |
Definition at line 121 of file adp5589-keys.c.
#define ADP5585_DEBOUNCE_DIS_B 0x22 |
Definition at line 122 of file adp5589-keys.c.
#define ADP5585_GENERAL_CFG 0x3B |
Definition at line 147 of file adp5589-keys.c.
#define ADP5585_GPI_EVENT_EN_A 0x1D |
Definition at line 117 of file adp5589-keys.c.
#define ADP5585_GPI_EVENT_EN_B 0x1E |
Definition at line 118 of file adp5589-keys.c.
#define ADP5585_GPI_INT_LEVEL_A 0x1B |
Definition at line 115 of file adp5589-keys.c.
#define ADP5585_GPI_INT_LEVEL_B 0x1C |
Definition at line 116 of file adp5589-keys.c.
#define ADP5585_GPI_INTERRUPT_EN_A 0x1F |
Definition at line 119 of file adp5589-keys.c.
#define ADP5585_GPI_INTERRUPT_EN_B 0x20 |
Definition at line 120 of file adp5589-keys.c.
#define ADP5585_GPI_STATUS_A 0x15 |
Definition at line 109 of file adp5589-keys.c.
#define ADP5585_GPI_STATUS_B 0x16 |
Definition at line 110 of file adp5589-keys.c.
#define ADP5585_GPIO_DIRECTION_A 0x27 |
Definition at line 127 of file adp5589-keys.c.
#define ADP5585_GPIO_DIRECTION_B 0x28 |
Definition at line 128 of file adp5589-keys.c.
#define ADP5585_GPO_DATA_OUT_A 0x23 |
Definition at line 123 of file adp5589-keys.c.
#define ADP5585_GPO_DATA_OUT_B 0x24 |
Definition at line 124 of file adp5589-keys.c.
#define ADP5585_GPO_OUT_MODE_A 0x25 |
Definition at line 125 of file adp5589-keys.c.
#define ADP5585_GPO_OUT_MODE_B 0x26 |
Definition at line 126 of file adp5589-keys.c.
#define ADP5585_INT_EN 0x3C |
Definition at line 148 of file adp5589-keys.c.
#define ADP5585_LOGIC_CFG 0x34 |
Definition at line 140 of file adp5589-keys.c.
#define ADP5585_LOGIC_FF_CFG 0x35 |
Definition at line 141 of file adp5589-keys.c.
#define ADP5585_LOGIC_INT_EVENT_EN 0x36 |
Definition at line 142 of file adp5589-keys.c.
#define ADP5585_MAXGPIO 11 /* 10 on the ADP5585-01, 11 on ADP5585-02 */ |
Definition at line 202 of file adp5589-keys.c.
#define ADP5585_PIN_CONFIG_A 0x38 |
Definition at line 144 of file adp5589-keys.c.
#define ADP5585_PIN_CONFIG_B 0x39 |
Definition at line 145 of file adp5589-keys.c.
#define ADP5585_PIN_CONFIG_D 0x3A |
Definition at line 146 of file adp5589-keys.c.
#define ADP5585_POLL_PTIME_CFG 0x37 |
Definition at line 143 of file adp5589-keys.c.
#define ADP5585_PWM_CFG 0x33 |
Definition at line 139 of file adp5589-keys.c.
#define ADP5585_PWM_OFFT_HIGH 0x30 |
Definition at line 136 of file adp5589-keys.c.
#define ADP5585_PWM_OFFT_LOW 0x2F |
Definition at line 135 of file adp5589-keys.c.
#define ADP5585_PWM_ONT_HIGH 0x32 |
Definition at line 138 of file adp5589-keys.c.
#define ADP5585_PWM_ONT_LOW 0x31 |
Definition at line 137 of file adp5589-keys.c.
#define ADP5585_RESET1_EVENT_A 0x29 |
Definition at line 129 of file adp5589-keys.c.
#define ADP5585_RESET1_EVENT_B 0x2A |
Definition at line 130 of file adp5589-keys.c.
#define ADP5585_RESET1_EVENT_C 0x2B |
Definition at line 131 of file adp5589-keys.c.
#define ADP5585_RESET2_EVENT_A 0x2C |
Definition at line 132 of file adp5589-keys.c.
#define ADP5585_RESET2_EVENT_B 0x2D |
Definition at line 133 of file adp5589-keys.c.
#define ADP5585_RESET_CFG 0x2E |
Definition at line 134 of file adp5589-keys.c.
#define ADP5585_RPULL_CONFIG_A 0x17 |
Definition at line 111 of file adp5589-keys.c.
#define ADP5585_RPULL_CONFIG_B 0x18 |
Definition at line 112 of file adp5589-keys.c.
#define ADP5585_RPULL_CONFIG_C 0x19 |
Definition at line 113 of file adp5589-keys.c.
#define ADP5585_RPULL_CONFIG_D 0x1A |
Definition at line 114 of file adp5589-keys.c.
#define ADP5589_5_DEVICE_ID_MASK 0xF |
Definition at line 151 of file adp5589-keys.c.
#define ADP5589_5_FIFO_1 0x03 |
Definition at line 29 of file adp5589-keys.c.
#define ADP5589_5_FIFO_10 0x0C |
Definition at line 38 of file adp5589-keys.c.
#define ADP5589_5_FIFO_11 0x0D |
Definition at line 39 of file adp5589-keys.c.
#define ADP5589_5_FIFO_12 0x0E |
Definition at line 40 of file adp5589-keys.c.
#define ADP5589_5_FIFO_13 0x0F |
Definition at line 41 of file adp5589-keys.c.
#define ADP5589_5_FIFO_14 0x10 |
Definition at line 42 of file adp5589-keys.c.
#define ADP5589_5_FIFO_15 0x11 |
Definition at line 43 of file adp5589-keys.c.
#define ADP5589_5_FIFO_16 0x12 |
Definition at line 44 of file adp5589-keys.c.
#define ADP5589_5_FIFO_2 0x04 |
Definition at line 30 of file adp5589-keys.c.
#define ADP5589_5_FIFO_3 0x05 |
Definition at line 31 of file adp5589-keys.c.
#define ADP5589_5_FIFO_4 0x06 |
Definition at line 32 of file adp5589-keys.c.
#define ADP5589_5_FIFO_5 0x07 |
Definition at line 33 of file adp5589-keys.c.
#define ADP5589_5_FIFO_6 0x08 |
Definition at line 34 of file adp5589-keys.c.
#define ADP5589_5_FIFO_7 0x09 |
Definition at line 35 of file adp5589-keys.c.
#define ADP5589_5_FIFO_8 0x0A |
Definition at line 36 of file adp5589-keys.c.
#define ADP5589_5_FIFO_9 0x0B |
Definition at line 37 of file adp5589-keys.c.
#define ADP5589_5_GPI_INT_STAT_A 0x13 |
Definition at line 45 of file adp5589-keys.c.
#define ADP5589_5_GPI_INT_STAT_B 0x14 |
Definition at line 46 of file adp5589-keys.c.
#define ADP5589_5_ID 0x00 |
Definition at line 26 of file adp5589-keys.c.
#define ADP5589_5_INT_STATUS 0x01 |
Definition at line 27 of file adp5589-keys.c.
#define ADP5589_5_MAN_ID 0x02 |
Definition at line 154 of file adp5589-keys.c.
#define ADP5589_5_MAN_ID_MASK 0xF |
Definition at line 152 of file adp5589-keys.c.
#define ADP5589_5_MAN_ID_SHIFT 4 |
Definition at line 153 of file adp5589-keys.c.
#define ADP5589_5_STATUS 0x02 |
Definition at line 28 of file adp5589-keys.c.
#define ADP5589_CLOCK_DIV_CFG 0x43 |
Definition at line 95 of file adp5589-keys.c.
#define ADP5589_DEBOUNCE_DIS_A 0x27 |
Definition at line 67 of file adp5589-keys.c.
#define ADP5589_DEBOUNCE_DIS_B 0x28 |
Definition at line 68 of file adp5589-keys.c.
#define ADP5589_DEBOUNCE_DIS_C 0x29 |
Definition at line 69 of file adp5589-keys.c.
#define ADP5589_EXT_LOCK_EVENT 0x35 |
Definition at line 81 of file adp5589-keys.c.
#define ADP5589_GENERAL_CFG 0x4D |
Definition at line 105 of file adp5589-keys.c.
#define ADP5589_GPI_EVENT_EN_A 0x21 |
Definition at line 61 of file adp5589-keys.c.
#define ADP5589_GPI_EVENT_EN_B 0x22 |
Definition at line 62 of file adp5589-keys.c.
#define ADP5589_GPI_EVENT_EN_C 0x23 |
Definition at line 63 of file adp5589-keys.c.
#define ADP5589_GPI_INT_LEVEL_A 0x1E |
Definition at line 58 of file adp5589-keys.c.
#define ADP5589_GPI_INT_LEVEL_B 0x1F |
Definition at line 59 of file adp5589-keys.c.
#define ADP5589_GPI_INT_LEVEL_C 0x20 |
Definition at line 60 of file adp5589-keys.c.
#define ADP5589_GPI_INT_STAT_C 0x15 |
Definition at line 49 of file adp5589-keys.c.
#define ADP5589_GPI_INTERRUPT_EN_A 0x24 |
Definition at line 64 of file adp5589-keys.c.
#define ADP5589_GPI_INTERRUPT_EN_B 0x25 |
Definition at line 65 of file adp5589-keys.c.
#define ADP5589_GPI_INTERRUPT_EN_C 0x26 |
Definition at line 66 of file adp5589-keys.c.
#define ADP5589_GPI_STATUS_A 0x16 |
Definition at line 50 of file adp5589-keys.c.
#define ADP5589_GPI_STATUS_B 0x17 |
Definition at line 51 of file adp5589-keys.c.
#define ADP5589_GPI_STATUS_C 0x18 |
Definition at line 52 of file adp5589-keys.c.
#define ADP5589_GPIO_DIRECTION_A 0x30 |
Definition at line 76 of file adp5589-keys.c.
#define ADP5589_GPIO_DIRECTION_B 0x31 |
Definition at line 77 of file adp5589-keys.c.
#define ADP5589_GPIO_DIRECTION_C 0x32 |
Definition at line 78 of file adp5589-keys.c.
#define ADP5589_GPO_DATA_OUT_A 0x2A |
Definition at line 70 of file adp5589-keys.c.
#define ADP5589_GPO_DATA_OUT_B 0x2B |
Definition at line 71 of file adp5589-keys.c.
#define ADP5589_GPO_DATA_OUT_C 0x2C |
Definition at line 72 of file adp5589-keys.c.
#define ADP5589_GPO_OUT_MODE_A 0x2D |
Definition at line 73 of file adp5589-keys.c.
#define ADP5589_GPO_OUT_MODE_B 0x2E |
Definition at line 74 of file adp5589-keys.c.
#define ADP5589_GPO_OUT_MODE_C 0x2F |
Definition at line 75 of file adp5589-keys.c.
#define ADP5589_INT_EN 0x4E |
Definition at line 106 of file adp5589-keys.c.
#define ADP5589_LOCK_CFG 0x37 |
Definition at line 83 of file adp5589-keys.c.
#define ADP5589_LOGIC_1_CFG 0x44 |
Definition at line 96 of file adp5589-keys.c.
#define ADP5589_LOGIC_2_CFG 0x45 |
Definition at line 97 of file adp5589-keys.c.
#define ADP5589_LOGIC_FF_CFG 0x46 |
Definition at line 98 of file adp5589-keys.c.
#define ADP5589_LOGIC_INT_EVENT_EN 0x47 |
Definition at line 99 of file adp5589-keys.c.
#define ADP5589_MAXGPIO 19 |
Definition at line 201 of file adp5589-keys.c.
#define ADP5589_PIN_CONFIG_A 0x49 |
Definition at line 101 of file adp5589-keys.c.
#define ADP5589_PIN_CONFIG_B 0x4A |
Definition at line 102 of file adp5589-keys.c.
#define ADP5589_PIN_CONFIG_C 0x4B |
Definition at line 103 of file adp5589-keys.c.
#define ADP5589_PIN_CONFIG_D 0x4C |
Definition at line 104 of file adp5589-keys.c.
#define ADP5589_POLL_PTIME_CFG 0x48 |
Definition at line 100 of file adp5589-keys.c.
#define ADP5589_PWM_CFG 0x42 |
Definition at line 94 of file adp5589-keys.c.
#define ADP5589_PWM_OFFT_HIGH 0x3F |
Definition at line 91 of file adp5589-keys.c.
#define ADP5589_PWM_OFFT_LOW 0x3E |
Definition at line 90 of file adp5589-keys.c.
#define ADP5589_PWM_ONT_HIGH 0x41 |
Definition at line 93 of file adp5589-keys.c.
#define ADP5589_PWM_ONT_LOW 0x40 |
Definition at line 92 of file adp5589-keys.c.
#define ADP5589_RESET1_EVENT_A 0x38 |
Definition at line 84 of file adp5589-keys.c.
#define ADP5589_RESET1_EVENT_B 0x39 |
Definition at line 85 of file adp5589-keys.c.
#define ADP5589_RESET1_EVENT_C 0x3A |
Definition at line 86 of file adp5589-keys.c.
#define ADP5589_RESET2_EVENT_A 0x3B |
Definition at line 87 of file adp5589-keys.c.
#define ADP5589_RESET2_EVENT_B 0x3C |
Definition at line 88 of file adp5589-keys.c.
#define ADP5589_RESET_CFG 0x3D |
Definition at line 89 of file adp5589-keys.c.
#define ADP5589_RPULL_CONFIG_A 0x19 |
Definition at line 53 of file adp5589-keys.c.
#define ADP5589_RPULL_CONFIG_B 0x1A |
Definition at line 54 of file adp5589-keys.c.
#define ADP5589_RPULL_CONFIG_C 0x1B |
Definition at line 55 of file adp5589-keys.c.
#define ADP5589_RPULL_CONFIG_D 0x1C |
Definition at line 56 of file adp5589-keys.c.
#define ADP5589_RPULL_CONFIG_E 0x1D |
Definition at line 57 of file adp5589-keys.c.
#define ADP5589_UNLOCK1 0x33 |
Definition at line 79 of file adp5589-keys.c.
#define ADP5589_UNLOCK2 0x34 |
Definition at line 80 of file adp5589-keys.c.
#define ADP5589_UNLOCK_TIMERS 0x36 |
Definition at line 82 of file adp5589-keys.c.
#define C4_EXTEND_CFG (1 << 6) /* RESET2 */ |
Definition at line 187 of file adp5589-keys.c.
Definition at line 158 of file adp5589-keys.c.
#define EVENT_IEN (1 << 0) |
Definition at line 170 of file adp5589-keys.c.
#define EVENT_INT (1 << 0) |
Definition at line 178 of file adp5589-keys.c.
#define GPI_IEN (1 << 1) |
Definition at line 169 of file adp5589-keys.c.
#define GPI_INT (1 << 1) |
Definition at line 177 of file adp5589-keys.c.
#define INT_CFG (1 << 1) |
Definition at line 161 of file adp5589-keys.c.
#define KEC 0xF |
Definition at line 184 of file adp5589-keys.c.
#define KEY_EV_MASK (0x7F) |
Definition at line 198 of file adp5589-keys.c.
#define KEY_EV_PRESSED (1 << 7) |
Definition at line 197 of file adp5589-keys.c.
#define KEYP_MAX_EVENT 16 |
Definition at line 200 of file adp5589-keys.c.
#define LCK_TRK_GPI (1 << 3) /* ADP5589 only */ |
Definition at line 160 of file adp5589-keys.c.
#define LCK_TRK_LOGIC (1 << 4) /* ADP5589 only */ |
Definition at line 159 of file adp5589-keys.c.
#define LOCK_EN (1 << 0) |
Definition at line 191 of file adp5589-keys.c.
#define LOCK_IEN (1 << 3) /* ADP5589 only */ |
Definition at line 167 of file adp5589-keys.c.
#define LOCK_INT (1 << 3) /* ADP5589 only */ |
Definition at line 175 of file adp5589-keys.c.
#define LOCK_STAT (1 << 5) /* ADP5589 only */ |
Definition at line 183 of file adp5589-keys.c.
#define LOGIC1_IEN (1 << 4) |
Definition at line 166 of file adp5589-keys.c.
#define LOGIC1_INT (1 << 4) |
Definition at line 174 of file adp5589-keys.c.
#define LOGIC1_STAT (1 << 6) |
Definition at line 182 of file adp5589-keys.c.
#define LOGIC2_IEN (1 << 5) /* ADP5589 only */ |
Definition at line 165 of file adp5589-keys.c.
#define LOGIC2_INT (1 << 5) /* ADP5589 only */ |
Definition at line 173 of file adp5589-keys.c.
#define LOGIC2_STAT (1 << 7) /* ADP5589 only */ |
Definition at line 181 of file adp5589-keys.c.
#define LTIME_MASK 0x3 /* ADP5589 only */ |
Definition at line 194 of file adp5589-keys.c.
#define OSC_EN (1 << 7) |
Definition at line 157 of file adp5589-keys.c.
#define OVRFLOW_IEN (1 << 2) |
Definition at line 168 of file adp5589-keys.c.
#define OVRFLOW_INT (1 << 2) |
Definition at line 176 of file adp5589-keys.c.
#define PTIME_MASK 0x3 |
Definition at line 193 of file adp5589-keys.c.
#define R4_EXTEND_CFG (1 << 5) /* RESET1 */ |
Definition at line 188 of file adp5589-keys.c.
#define RST_CFG (1 << 0) |
Definition at line 162 of file adp5589-keys.c.
anonymous enum |
Definition at line 204 of file adp5589-keys.c.
MODULE_AUTHOR | ( | "Michael Hennerich <[email protected]>" | ) |
MODULE_DESCRIPTION | ( | "ADP5589/ADP5585 Keypad driver" | ) |
MODULE_DEVICE_TABLE | ( | i2c | , |
adp5589_id | |||
) |
module_i2c_driver | ( | adp5589_driver | ) |
MODULE_LICENSE | ( | "GPL" | ) |