1*83d290c5STom Rini // SPDX-License-Identifier: GPL-2.0+ 22e192b24SSimon Glass /* 32e192b24SSimon Glass * Copyright (C) 2013 Xilinx, Inc. 42e192b24SSimon Glass */ 52e192b24SSimon Glass #include <common.h> 62e192b24SSimon Glass #include <command.h> 72e192b24SSimon Glass #include <clk.h> 82e192b24SSimon Glass 92e192b24SSimon Glass int __weak soc_clk_dump(void) 102e192b24SSimon Glass { 112e192b24SSimon Glass puts("Not implemented\n"); 122e192b24SSimon Glass return 1; 132e192b24SSimon Glass } 142e192b24SSimon Glass 152e192b24SSimon Glass static int do_clk_dump(cmd_tbl_t *cmdtp, int flag, int argc, 162e192b24SSimon Glass char *const argv[]) 172e192b24SSimon Glass { 18ebc675b9SMichal Simek int ret; 19ebc675b9SMichal Simek 20ebc675b9SMichal Simek ret = soc_clk_dump(); 21ebc675b9SMichal Simek if (ret < 0) { 22ebc675b9SMichal Simek printf("Clock dump error %d\n", ret); 23ebc675b9SMichal Simek ret = CMD_RET_FAILURE; 24ebc675b9SMichal Simek } 25ebc675b9SMichal Simek 26ebc675b9SMichal Simek return ret; 272e192b24SSimon Glass } 282e192b24SSimon Glass 292e192b24SSimon Glass static cmd_tbl_t cmd_clk_sub[] = { 302e192b24SSimon Glass U_BOOT_CMD_MKENT(dump, 1, 1, do_clk_dump, "", ""), 312e192b24SSimon Glass }; 322e192b24SSimon Glass 332e192b24SSimon Glass static int do_clk(cmd_tbl_t *cmdtp, int flag, int argc, 342e192b24SSimon Glass char *const argv[]) 352e192b24SSimon Glass { 362e192b24SSimon Glass cmd_tbl_t *c; 372e192b24SSimon Glass 382e192b24SSimon Glass if (argc < 2) 392e192b24SSimon Glass return CMD_RET_USAGE; 402e192b24SSimon Glass 412e192b24SSimon Glass /* Strip off leading 'clk' command argument */ 422e192b24SSimon Glass argc--; 432e192b24SSimon Glass argv++; 442e192b24SSimon Glass 452e192b24SSimon Glass c = find_cmd_tbl(argv[0], &cmd_clk_sub[0], ARRAY_SIZE(cmd_clk_sub)); 462e192b24SSimon Glass 472e192b24SSimon Glass if (c) 482e192b24SSimon Glass return c->cmd(cmdtp, flag, argc, argv); 492e192b24SSimon Glass else 502e192b24SSimon Glass return CMD_RET_USAGE; 512e192b24SSimon Glass } 522e192b24SSimon Glass 532e192b24SSimon Glass #ifdef CONFIG_SYS_LONGHELP 542e192b24SSimon Glass static char clk_help_text[] = 552e192b24SSimon Glass "dump - Print clock frequencies"; 562e192b24SSimon Glass #endif 572e192b24SSimon Glass 582e192b24SSimon Glass U_BOOT_CMD(clk, 2, 1, do_clk, "CLK sub-system", clk_help_text); 59