On 23 June 2015 at 15:39, Simon Glass <s...@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 <s...@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. _______________________________________________ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot