xref: /openbmc/u-boot/cmd/clk.c (revision 83d290c5)
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