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