OLD | NEW |
(Empty) | |
| 1 #ifndef CYAPA_H |
| 2 #define CYAPA_H |
| 3 |
| 4 |
| 5 #define CYAPA_I2C_NAME "cypress_i2c_apa" |
| 6 |
| 7 /* Active power state scanning/processing refresh interval time. unit: ms. */ |
| 8 #define CYAPA_ACTIVE_POLLING_INTVAL_TIME 0x00 |
| 9 /* Low power state scanning/processing refresh interval time. unit: ms. */ |
| 10 #define CYAPA_LOWPOWER_POLLING_INTVAL_TIME 0x10 |
| 11 /* Touch timeout for active power state. unit: ms. */ |
| 12 #define CYAPA_ACTIVE_TOUCH_TIMEOUT 0xFF |
| 13 |
| 14 /* Max report rate limited for Cypress Trackpad. */ |
| 15 #define CYAPA_NO_LIMITED_REPORT_RATE 0 |
| 16 #define CYAPA_REPORT_RATE (CYAPA_NO_LIMITED_REPORT_RATE) |
| 17 #define CYAPA_POLLING_REPORTRATE_DEFAULT 125 |
| 18 |
| 19 |
| 20 /* APA trackpad firmware generation */ |
| 21 enum cyapa_gen { |
| 22 CYAPA_GEN1 = 0x01, |
| 23 CYAPA_GEN2 = 0x02, |
| 24 }; |
| 25 |
| 26 /* |
| 27 ** APA trackpad power states. |
| 28 ** Used in register 0x00, bit3-2, PowerMode field. |
| 29 */ |
| 30 enum cyapa_powerstate { |
| 31 CYAPA_PWR_ACTIVE = 0x01, |
| 32 CYAPA_PWR_LIGHT_SLEEP = 0x02, |
| 33 CYAPA_PWR_MEDIUM_SLEEP = 0x03, |
| 34 CYAPA_PWR_DEEP_SLEEP = 0x04, |
| 35 }; |
| 36 |
| 37 struct cyapa_platform_data { |
| 38 u32 flag; /* reserved for future use. */ |
| 39 enum cyapa_gen gen; /* trackpad firmware generation. */ |
| 40 enum cyapa_powerstate power_state; |
| 41 |
| 42 /* use absolute data report or relative data report. */ |
| 43 unsigned use_absolute_mode:1; |
| 44 /* use polling mode or interrupt mode. */ |
| 45 unsigned use_polling_mode:1; |
| 46 /* active mode, polling refresh interval; ms */ |
| 47 u8 polling_interval_time_active; |
| 48 /* low power mode, polling refresh interval; ms */ |
| 49 u8 polling_interval_time_lowpower; |
| 50 u8 active_touch_timeout; /* active touch timeout; ms */ |
| 51 char *name; /* device name of Cypress I2C trackpad. */ |
| 52 /* the gpio id used for interrupt to notify host data is ready. */ |
| 53 s16 irq_gpio; |
| 54 u32 report_rate; /* max limitation of data report rate. */ |
| 55 |
| 56 int (*wakeup)(void); |
| 57 int (*init)(void); |
| 58 }; |
| 59 |
| 60 #endif /* #ifndef CYAPA_H */ |
OLD | NEW |