130ba3ead05763b172acaa65ae1be71af2a878940Sriramakrishnan Govindarajan/* 230ba3ead05763b172acaa65ae1be71af2a878940Sriramakrishnan Govindarajan * tca6416 keypad platform support 330ba3ead05763b172acaa65ae1be71af2a878940Sriramakrishnan Govindarajan * 430ba3ead05763b172acaa65ae1be71af2a878940Sriramakrishnan Govindarajan * Copyright (C) 2010 Texas Instruments 530ba3ead05763b172acaa65ae1be71af2a878940Sriramakrishnan Govindarajan * 630ba3ead05763b172acaa65ae1be71af2a878940Sriramakrishnan Govindarajan * Author: Sriramakrishnan <srk@ti.com> 730ba3ead05763b172acaa65ae1be71af2a878940Sriramakrishnan Govindarajan * 830ba3ead05763b172acaa65ae1be71af2a878940Sriramakrishnan Govindarajan * This program is free software; you can redistribute it and/or modify 930ba3ead05763b172acaa65ae1be71af2a878940Sriramakrishnan Govindarajan * it under the terms of the GNU General Public License version 2 as 1030ba3ead05763b172acaa65ae1be71af2a878940Sriramakrishnan Govindarajan * published by the Free Software Foundation. 1130ba3ead05763b172acaa65ae1be71af2a878940Sriramakrishnan Govindarajan */ 1230ba3ead05763b172acaa65ae1be71af2a878940Sriramakrishnan Govindarajan 1330ba3ead05763b172acaa65ae1be71af2a878940Sriramakrishnan Govindarajan#ifndef _TCA6416_KEYS_H 1430ba3ead05763b172acaa65ae1be71af2a878940Sriramakrishnan Govindarajan#define _TCA6416_KEYS_H 1530ba3ead05763b172acaa65ae1be71af2a878940Sriramakrishnan Govindarajan 1630ba3ead05763b172acaa65ae1be71af2a878940Sriramakrishnan Govindarajan#include <linux/types.h> 1730ba3ead05763b172acaa65ae1be71af2a878940Sriramakrishnan Govindarajan 1830ba3ead05763b172acaa65ae1be71af2a878940Sriramakrishnan Govindarajanstruct tca6416_button { 1930ba3ead05763b172acaa65ae1be71af2a878940Sriramakrishnan Govindarajan /* Configuration parameters */ 2030ba3ead05763b172acaa65ae1be71af2a878940Sriramakrishnan Govindarajan int code; /* input event code (KEY_*, SW_*) */ 2130ba3ead05763b172acaa65ae1be71af2a878940Sriramakrishnan Govindarajan int active_low; 2230ba3ead05763b172acaa65ae1be71af2a878940Sriramakrishnan Govindarajan int type; /* input event type (EV_KEY, EV_SW) */ 2330ba3ead05763b172acaa65ae1be71af2a878940Sriramakrishnan Govindarajan}; 2430ba3ead05763b172acaa65ae1be71af2a878940Sriramakrishnan Govindarajan 2530ba3ead05763b172acaa65ae1be71af2a878940Sriramakrishnan Govindarajanstruct tca6416_keys_platform_data { 2630ba3ead05763b172acaa65ae1be71af2a878940Sriramakrishnan Govindarajan struct tca6416_button *buttons; 2730ba3ead05763b172acaa65ae1be71af2a878940Sriramakrishnan Govindarajan int nbuttons; 2830ba3ead05763b172acaa65ae1be71af2a878940Sriramakrishnan Govindarajan unsigned int rep:1; /* enable input subsystem auto repeat */ 2930ba3ead05763b172acaa65ae1be71af2a878940Sriramakrishnan Govindarajan uint16_t pinmask; 3030ba3ead05763b172acaa65ae1be71af2a878940Sriramakrishnan Govindarajan uint16_t invert; 3130ba3ead05763b172acaa65ae1be71af2a878940Sriramakrishnan Govindarajan int irq_is_gpio; 3230ba3ead05763b172acaa65ae1be71af2a878940Sriramakrishnan Govindarajan int use_polling; /* use polling if Interrupt is not connected*/ 3330ba3ead05763b172acaa65ae1be71af2a878940Sriramakrishnan Govindarajan}; 3430ba3ead05763b172acaa65ae1be71af2a878940Sriramakrishnan Govindarajan#endif 35