1 // SPDX-License-Identifier: GPL-2.0 2 /* 3 * Copyright (c) 2018 Fuzhou Rockchip Electronics Co., Ltd 4 */ 5 6 #include <common.h> 7 #include <console.h> 8 #include <dvfs.h> 9 10 static int do_dvfs(cmd_tbl_t *cmdtp, int flag, 11 int argc, char *const argv[]) 12 { 13 struct udevice *dev; 14 int ret; 15 16 ret = uclass_get_device(UCLASS_DVFS, 0, &dev); 17 if (ret) { 18 printf("DVFS: Get dvfs device failed, ret=%d\n", ret); 19 return ret; 20 } 21 22 if (argc == 1) 23 return dvfs_apply(dev); 24 else if (!strcmp(argv[1], "repeat")) 25 return dvfs_repeat_apply(dev); 26 else 27 return CMD_RET_USAGE; 28 29 return 0; 30 } 31 32 U_BOOT_CMD( 33 dvfs, 2, 1, do_dvfs, 34 "Start DVFS policy", 35 "dvfs - apply dvfs policy once\n" 36 "dvfs repeat - repeat apply dvfs policy until achieve the target temperature" 37 ); 38