mirror of
https://github.com/AsahiLinux/u-boot
synced 2025-02-26 04:17:09 +00:00
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@chromium.org> |
||
---|---|---|
.. | ||
basic | ||
kconfig | ||
.gitignore | ||
binutils-version.sh | ||
checkpatch.pl | ||
checkstack.pl | ||
cleanpatch | ||
docproc.c | ||
dtc-version.sh | ||
fill_scrapyard.py | ||
gcc-stack-usage.sh | ||
gcc-version.sh | ||
get_maintainer.pl | ||
Kbuild.include | ||
kernel-doc | ||
ld-version.sh | ||
Lindent | ||
mailmapper | ||
Makefile | ||
Makefile.autoconf | ||
Makefile.build | ||
Makefile.clean | ||
Makefile.extrawarn | ||
Makefile.host | ||
Makefile.lib | ||
Makefile.spl | ||
Makefile.uncmd_spl | ||
mkmakefile | ||
objdiff | ||
setlocalversion | ||
show-gnu-make |