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 if (ret != -ENODEV) 19 printf("DVFS: Get dvfs device failed, ret=%d\n", ret); 20 return ret; 21 } 22 23 if (argc == 1) 24 return dvfs_apply(dev); 25 else if (!strcmp(argv[1], "repeat")) 26 return dvfs_repeat_apply(dev); 27 else 28 return CMD_RET_USAGE; 29 30 return 0; 31 } 32 33 U_BOOT_CMD( 34 dvfs, 2, 1, do_dvfs, 35 "Start DVFS policy", 36 "dvfs - apply dvfs policy once\n" 37 "dvfs repeat - repeat apply dvfs policy until achieve the target temperature" 38 ); 39