2025-05-10 21:49:39 +08:00

58 lines
1.1 KiB
C

// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
// Copyright (c) 2019 Fuzhou Rockchip Electronics Co., Ltd
#define LOG_TAG "NPU_POWER"
#include <npu_powerctrl.h>
#include <iostream>
#include <unistd.h>
static void usage(void)
{
printf("Usage:npu_powerctrl [-s] [-r] [-o] [-i] [-d]\n");
printf("-s npu enter sleep\n");
printf("-r wakup npu\n");
printf("-o power up or reset npu\n");
printf("-i gpio init\n");
printf("-d power down\n");
}
int main(int argc, char* argv[])
{
int ch, ret = -1;
while ((ch = getopt(argc, argv, "s::r::o::i::d::")) != -1) {
switch (ch) {
case 's':
ret = npu_suspend();
printf("suspend %d\n", ret);
break;
case 'r':
ret = npu_resume();
printf("resume %d\n", ret);
break;
case 'o':
ret = 0;
npu_reset();
printf("powerup\n");
break;
case 'i':
npu_power_gpio_init();
ret = 0;
printf("gpio init\n");
break;
case 'd':
npu_poweroff();
ret = 0;
printf("powerdown\n");
break;
default:
usage();
break;
}
return ret;
}
usage();
return ret;
}