[U-Boot] [PATCH v3 53/54] dm: Add a clock uclass
Simon Glass
sjg at chromium.org
Sat Jul 18 01:58:20 CEST 2015
On 23 June 2015 at 15:39, Simon Glass <sjg at chromium.org> wrote:
> Clocks are an important feature of platforms and have become increasing
> complex with time. Most modern SoCs have multiple PLLs and dozens of clock
> dividers which distribute clocks to on-chip peripherals.
>
> Some SoC implementations have a clock API which is private to that SoC family,
> e.g. Tegra and Exynos. This is useful but it would be better to have a
> common API that can be understood and used throughout U-Boot.
>
> Add a simple clock API as a starting point. It supports querying and setting
> the rate of a clock. Each clock is a device. To reduce memory and processing
> overhead the concept of peripheral clocks is provided. These do not need to
> be explicit devices - it is possible to write a driver that can adjust the
> I2C clock (for example) without an explicit I2C clock device. This can
> dramatically reduce the number of devices (and associated overhead) in a
> complex SoC.
>
> Clocks are referenced by a number, and it is expected that SoCs will define
> that numbering themselves via an enum.
>
> Signed-off-by: Simon Glass <sjg at chromium.org>
> ---
>
> Changes in v3: None
> Changes in v2: None
>
> drivers/Kconfig | 2 ++
> drivers/Makefile | 1 +
> drivers/clk/Kconfig | 19 ++++++++++++
> drivers/clk/Makefile | 8 +++++
> drivers/clk/clk-uclass.c | 58 +++++++++++++++++++++++++++++++++++
> include/clk.h | 80 ++++++++++++++++++++++++++++++++++++++++++++++++
> include/dm/uclass-id.h | 1 +
> scripts/Makefile.spl | 1 +
> 8 files changed, 170 insertions(+)
> create mode 100644 drivers/clk/Kconfig
> create mode 100644 drivers/clk/Makefile
> create mode 100644 drivers/clk/clk-uclass.c
Applied to u-boot-dm.
More information about the U-Boot
mailing list