[U-Boot] [RFC PATCH 1/2] common: Add new clk command

Simon Glass sjg at chromium.org
Tue Dec 29 13:23:55 CET 2015


Hi Michal,

On 29 December 2015 at 01:33, Michal Simek <michal.simek at xilinx.com> wrote:
> Hi Simon,
>
> On 22.12.2015 05:21, Simon Glass wrote:
>> Hi Michal,
>>
>> On 22 January 2014 at 04:02, Michal Simek <michal.simek at xilinx.com> wrote:
>>> Command provides just dump subcommand for showing clock
>>> frequencies in a soc.
>>>
>>> Signed-off-by: Michal Simek <michal.simek at xilinx.com>
>>> ---
>>>
>>>  README                   |  1 +
>>>  common/Makefile          |  1 +
>>>  common/cmd_clk.c         | 51 ++++++++++++++++++++++++++++++++++++++++++++++++
>>>  include/clk.h            |  6 ++++++
>>>  include/config_cmd_all.h |  1 +
>>>  5 files changed, 60 insertions(+)
>>>  create mode 100644 common/cmd_clk.c
>>>  create mode 100644 include/clk.h
>>>
>>> diff --git a/README b/README
>>> index aea82be..0087649 100644
>>> --- a/README
>>> +++ b/README
>>> @@ -887,6 +887,7 @@ The following options need to be configured:
>>>                 CONFIG_CMD_BSP          * Board specific commands
>>>                 CONFIG_CMD_BOOTD          bootd
>>>                 CONFIG_CMD_CACHE        * icache, dcache
>>> +               CONFIG_CMD_CLK          * clock command support
>>>                 CONFIG_CMD_CONSOLE        coninfo
>>>                 CONFIG_CMD_CRC32        * crc32
>>>                 CONFIG_CMD_DATE         * support for RTC, date/time...
>>> diff --git a/common/Makefile b/common/Makefile
>>> index d12cba5..a000e7d 100644
>>> --- a/common/Makefile
>>> +++ b/common/Makefile
>>> @@ -59,6 +59,7 @@ obj-$(CONFIG_CMD_BOOTLDR) += cmd_bootldr.o
>>>  obj-$(CONFIG_CMD_BOOTSTAGE) += cmd_bootstage.o
>>>  obj-$(CONFIG_CMD_CACHE) += cmd_cache.o
>>>  obj-$(CONFIG_CMD_CBFS) += cmd_cbfs.o
>>> +obj-$(CONFIG_CMD_CLK) += cmd_clk.o
>>>  obj-$(CONFIG_CMD_CONSOLE) += cmd_console.o
>>>  obj-$(CONFIG_CMD_CPLBINFO) += cmd_cplbinfo.o
>>>  obj-$(CONFIG_DATAFLASH_MMC_SELECT) += cmd_dataflash_mmc_mux.o
>>> diff --git a/common/cmd_clk.c b/common/cmd_clk.c
>>> new file mode 100644
>>> index 0000000..6d3d46a
>>> --- /dev/null
>>> +++ b/common/cmd_clk.c
>>> @@ -0,0 +1,51 @@
>>> +/*
>>> + * Copyright (C) 2013 Xilinx, Inc.
>>> + *
>>> + * SPDX-License-Identifier:    GPL-2.0+
>>> + */
>>> +#include <common.h>
>>> +#include <command.h>
>>> +#include <clk.h>
>>> +
>>> +int __weak soc_clk_dump(void)
>>> +{
>>> +       puts("Not implemented\n");
>>> +       return 1;
>>> +}
>>> +
>>> +static int do_clk_dump(cmd_tbl_t *cmdtp, int flag, int argc,
>>> +                      char *const argv[])
>>> +{
>>> +       return soc_clk_dump();
>>
>> This is not the way things should work in driver model. See how the
>> gpio command works for an example. I suggest it iterates through the
>> available clocks and then calls a driver function to obtain
>> information about each clock, then prints it out. We should avoid weak
>> functions as a method of connecting things together.
>
> This is patch which was sent in 2014. What are you trying to suggest?

Sorry, I only just noticed it. I'll see if I can create a patch to get
the clock info from an API call instead of using a weak function.

Regards,
Simon


More information about the U-Boot mailing list