1d2912cb1SThomas Gleixner /* SPDX-License-Identifier: GPL-2.0-only */
230ba3eadSSriramakrishnan Govindarajan /*
330ba3eadSSriramakrishnan Govindarajan  * tca6416 keypad platform support
430ba3eadSSriramakrishnan Govindarajan  *
530ba3eadSSriramakrishnan Govindarajan  * Copyright (C) 2010 Texas Instruments
630ba3eadSSriramakrishnan Govindarajan  *
730ba3eadSSriramakrishnan Govindarajan  * Author: Sriramakrishnan <srk@ti.com>
830ba3eadSSriramakrishnan Govindarajan  */
930ba3eadSSriramakrishnan Govindarajan 
1030ba3eadSSriramakrishnan Govindarajan #ifndef _TCA6416_KEYS_H
1130ba3eadSSriramakrishnan Govindarajan #define _TCA6416_KEYS_H
1230ba3eadSSriramakrishnan Govindarajan 
1330ba3eadSSriramakrishnan Govindarajan #include <linux/types.h>
1430ba3eadSSriramakrishnan Govindarajan 
1530ba3eadSSriramakrishnan Govindarajan struct tca6416_button {
1630ba3eadSSriramakrishnan Govindarajan 	/* Configuration parameters */
1730ba3eadSSriramakrishnan Govindarajan 	int code;		/* input event code (KEY_*, SW_*) */
1830ba3eadSSriramakrishnan Govindarajan 	int active_low;
1930ba3eadSSriramakrishnan Govindarajan 	int type;		/* input event type (EV_KEY, EV_SW) */
2030ba3eadSSriramakrishnan Govindarajan };
2130ba3eadSSriramakrishnan Govindarajan 
2230ba3eadSSriramakrishnan Govindarajan struct tca6416_keys_platform_data {
2330ba3eadSSriramakrishnan Govindarajan 	struct tca6416_button *buttons;
2430ba3eadSSriramakrishnan Govindarajan 	int nbuttons;
2530ba3eadSSriramakrishnan Govindarajan 	unsigned int rep:1;	/* enable input subsystem auto repeat */
2630ba3eadSSriramakrishnan Govindarajan 	uint16_t pinmask;
2730ba3eadSSriramakrishnan Govindarajan 	uint16_t invert;
2830ba3eadSSriramakrishnan Govindarajan 	int use_polling;	/* use polling if Interrupt is not connected*/
2930ba3eadSSriramakrishnan Govindarajan };
3030ba3eadSSriramakrishnan Govindarajan #endif
31