xref: /OK3568_Linux_fs/buildroot/package/rockchip/npu_powerctrl_combine/main.c (revision 4882a59341e53eb6f0b4789bf948001014eff981)
1 // SPDX-License-Identifier: (GPL-2.0+ OR MIT)
2 // Copyright (c) 2019 Fuzhou Rockchip Electronics Co., Ltd
3 
4 #define LOG_TAG "NPU_POWER"
5 #include <npu_powerctrl.h>
6 #include <iostream>
7 #include <unistd.h>
8 
usage(void)9 static void usage(void)
10 {
11 	printf("Usage:npu_powerctrl [-s] [-r] [-o] [-i] [-d]\n");
12 	printf("-s	npu enter sleep\n");
13 	printf("-r	wakup npu\n");
14 	printf("-o	power up or reset npu\n");
15 	printf("-i	gpio init\n");
16 	printf("-d	power down\n");
17 }
18 
main(int argc,char * argv[])19 int main(int argc, char* argv[])
20 {
21 	int ch, ret = -1;
22 
23 	while ((ch = getopt(argc, argv, "s::r::o::i::d::")) != -1) {
24 		switch (ch) {
25 			case 's':
26 				ret = npu_suspend();
27 				printf("suspend %d\n", ret);
28 				break;
29 			case 'r':
30 				ret = npu_resume();
31 				printf("resume %d\n", ret);
32 				break;
33 			case 'o':
34 				ret = 0;
35 				npu_reset();
36 				printf("powerup\n");
37 				break;
38 			case 'i':
39 				npu_power_gpio_init();
40 				ret = 0;
41 				printf("gpio init\n");
42 				break;
43 			case 'd':
44 				npu_poweroff();
45 				ret = 0;
46 				printf("powerdown\n");
47 				break;
48 			default:
49 				usage();
50 				break;
51 		}
52 		return ret;
53 	}
54 	usage();
55 
56 	return ret;
57 }
58