• Simon Glass's avatar
    dm: Add a clock uclass · f26c8a8e
    Simon Glass authored
    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: default avatarSimon Glass <sjg@chromium.org>
    f26c8a8e
Name
Last commit
Last update
..
basic Loading commit data...
kconfig Loading commit data...
.gitignore Loading commit data...
Kbuild.include Loading commit data...
Lindent Loading commit data...
Makefile Loading commit data...
Makefile.autoconf Loading commit data...
Makefile.build Loading commit data...
Makefile.clean Loading commit data...
Makefile.extrawarn Loading commit data...
Makefile.host Loading commit data...
Makefile.lib Loading commit data...
Makefile.spl Loading commit data...
Makefile.uncmd_spl Loading commit data...
binutils-version.sh Loading commit data...
checkpatch.pl Loading commit data...
checkstack.pl Loading commit data...
cleanpatch Loading commit data...
docproc.c Loading commit data...
dtc-version.sh Loading commit data...
fill_scrapyard.py Loading commit data...
gcc-stack-usage.sh Loading commit data...
gcc-version.sh Loading commit data...
get_maintainer.pl Loading commit data...
kernel-doc Loading commit data...
ld-version.sh Loading commit data...
mailmapper Loading commit data...
mkmakefile Loading commit data...
objdiff Loading commit data...
setlocalversion Loading commit data...
show-gnu-make Loading commit data...