xref: /rk3399_rockchip-uboot/arch/arm/mach-rockchip/hotkey.c (revision e8c34540a61ba8ec3ef255e3e8a72e7d3409f5f5)
1 // SPDX-License-Identifier: GPL-2.0
2 /*
3  * Copyright (c) 2019 Fuzhou Rockchip Electronics Co., Ltd
4  */
5 
6 #include <common.h>
7 #include <bidram.h>
8 #include <console.h>
9 #include <sysmem.h>
10 #include <asm/arch/hotkey.h>
11 
12 DECLARE_GLOBAL_DATA_PTR;
13 
14 #define CTRL_B		0x02
15 #define CTRL_D		0x04
16 #define CTRL_F		0x06
17 #define CTRL_M		0x0d
18 
19 bool is_hotkey(enum hotkey_t id)
20 {
21 	switch (id) {
22 	case HK_BROM_DNL:
23 		return gd->console_evt == CTRL_B;
24 	case HK_FASTBOOT:
25 		return gd->console_evt == CTRL_F;
26 	case HK_ROCKUSB_DNL:
27 		return gd->console_evt == CTRL_D;
28 	case HK_SYSMEM:
29 		return gd->console_evt == CTRL_M;
30 	default:
31 		break;
32 	}
33 
34 	return false;
35 }
36 
37 void hotkey_run(enum hotkey_t id)
38 {
39 	switch ((id)) {
40 	case HK_SYSMEM:
41 		if (gd->console_evt == CTRL_M) {
42 			bidram_dump();
43 			sysmem_dump();
44 		}
45 		break;
46 	default:
47 		break;
48 	}
49 }
50