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