xref: /rk3399_rockchip-uboot/include/key.h (revision c315aab89c33d8a3ee8ec59d2fdc53fa9ce94b6d)
1b398a9a7SJoseph Chen /*
2b398a9a7SJoseph Chen  * (C) Copyright 2017 Rockchip Electronics Co., Ltd
3b398a9a7SJoseph Chen  *
4b398a9a7SJoseph Chen  * SPDX-License-Identifier:     GPL-2.0+
5b398a9a7SJoseph Chen  */
6b398a9a7SJoseph Chen 
7b398a9a7SJoseph Chen #ifndef _KEY_H_
8b398a9a7SJoseph Chen #define _KEY_H_
9b398a9a7SJoseph Chen 
10*c315aab8SJoseph Chen #define KEY_LONG_DOWN_MS	2000
11*c315aab8SJoseph Chen 
12b398a9a7SJoseph Chen enum key_state {
13b398a9a7SJoseph Chen 	KEY_PRESS_NONE,
14b398a9a7SJoseph Chen 	KEY_PRESS_UP,
15b398a9a7SJoseph Chen 	KEY_PRESS_DOWN,
16*c315aab8SJoseph Chen 	KEY_PRESS_LONG_DOWN,
17b398a9a7SJoseph Chen };
18b398a9a7SJoseph Chen 
19b398a9a7SJoseph Chen struct dm_key_ops {
206e14addfSJoseph Chen 	int type;
216e14addfSJoseph Chen 	const char *name;
22b398a9a7SJoseph Chen 	int (*read)(struct udevice *dev);
23b398a9a7SJoseph Chen };
24b398a9a7SJoseph Chen 
25b398a9a7SJoseph Chen int key_read(struct udevice *dev);
266e14addfSJoseph Chen int key_type(struct udevice *dev);
276e14addfSJoseph Chen const char *key_label(struct udevice *dev);
28b398a9a7SJoseph Chen 
29b398a9a7SJoseph Chen #endif
30