xref: /OK3568_Linux_fs/kernel/include/linux/platform_data/mcs.h (revision 4882a59341e53eb6f0b4789bf948001014eff981)
1*4882a593Smuzhiyun /* SPDX-License-Identifier: GPL-2.0-or-later */
2*4882a593Smuzhiyun /*
3*4882a593Smuzhiyun  * Copyright (C) 2009 - 2010 Samsung Electronics Co.Ltd
4*4882a593Smuzhiyun  * Author: Joonyoung Shim <jy0922.shim@samsung.com>
5*4882a593Smuzhiyun  * Author: HeungJun Kim <riverful.kim@samsung.com>
6*4882a593Smuzhiyun  */
7*4882a593Smuzhiyun 
8*4882a593Smuzhiyun #ifndef __LINUX_MCS_H
9*4882a593Smuzhiyun #define __LINUX_MCS_H
10*4882a593Smuzhiyun 
11*4882a593Smuzhiyun #define MCS_KEY_MAP(v, c)	((((v) & 0xff) << 16) | ((c) & 0xffff))
12*4882a593Smuzhiyun #define MCS_KEY_VAL(v)		(((v) >> 16) & 0xff)
13*4882a593Smuzhiyun #define MCS_KEY_CODE(v)		((v) & 0xffff)
14*4882a593Smuzhiyun 
15*4882a593Smuzhiyun struct mcs_platform_data {
16*4882a593Smuzhiyun 	void (*poweron)(bool);
17*4882a593Smuzhiyun 	void (*cfg_pin)(void);
18*4882a593Smuzhiyun 
19*4882a593Smuzhiyun 	/* touchscreen */
20*4882a593Smuzhiyun 	unsigned int x_size;
21*4882a593Smuzhiyun 	unsigned int y_size;
22*4882a593Smuzhiyun 
23*4882a593Smuzhiyun 	/* touchkey */
24*4882a593Smuzhiyun 	const u32 *keymap;
25*4882a593Smuzhiyun 	unsigned int keymap_size;
26*4882a593Smuzhiyun 	unsigned int key_maxval;
27*4882a593Smuzhiyun 	bool no_autorepeat;
28*4882a593Smuzhiyun };
29*4882a593Smuzhiyun 
30*4882a593Smuzhiyun #endif	/* __LINUX_MCS_H */
31