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