1
0
Fork 0
remarkable-uboot/scripts
Simon Glass f26c8a8e77 dm: Add a clock uclass
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>
2015-07-21 17:39:29 -06:00
..
basic fixdep: remove multiple .config support code 2015-03-05 20:50:30 -05:00
kconfig Kconfig: Enable usage of escape char '\' in string values 2015-06-08 10:45:04 -04:00
.gitignore kernel-doc: move kernel-doc tools to scripts/ 2014-02-19 11:10:04 -05:00
Kbuild.include kbuild: sync misc scripts with Linux 3.18-rc1 2014-11-07 16:27:07 -05:00
Lindent scripts/Lindent: import from Linux 3.16 2014-08-21 12:01:29 -04:00
Makefile kconfig: switch to Kconfig 2014-07-30 08:48:03 -04:00
Makefile.autoconf moveconfig: Ignore duplicate configs when moving 2015-05-27 08:39:15 +09:00
Makefile.build kconfig: switch to single .config configuration 2015-02-24 17:06:23 -05:00
Makefile.clean kbuild: sync misc scripts with Linux 3.18-rc1 2014-11-07 16:27:07 -05:00
Makefile.extrawarn kbuild: do not hide clang warnings during build with W=1 2014-11-04 15:01:56 -05:00
Makefile.host kbuild: improve multi-objs dependency and cleanups 2014-11-07 16:27:06 -05:00
Makefile.lib fix makefiles to respect DTC setting 2015-04-07 08:41:10 -04:00
Makefile.spl dm: Add a clock uclass 2015-07-21 17:39:29 -06:00
Makefile.uncmd_spl Remove SPL undefine of CONFIG_OF_CONTROL 2015-06-10 19:26:55 -06:00
binutils-version.sh scripts: fix binutils-version.sh for 'as' without a package. 2015-01-08 11:00:45 -05:00
checkpatch.pl checkpatch: remove unnecessary + after {8,8} 2014-09-25 09:31:24 -04:00
checkstack.pl scripts/checkstack.pl: update to get AArch64 port from Linux 2015-03-05 11:17:53 -05:00
cleanpatch Makefile: Move some scripts imported from Linux 2013-12-13 09:18:45 -05:00
docproc.c cosmetic: kbuild: clean-up coding style (sync with Linux 3.16-rc1) 2014-06-20 11:56:26 -04:00
dtc-version.sh kbuild: Make scripts executable 2014-11-12 13:25:42 -05:00
fill_scrapyard.py scripts: add a utility to fill blank fields of doc/README.scrapyard 2015-01-14 10:58:49 -05:00
gcc-stack-usage.sh kbuild: Make scripts executable 2014-11-12 13:25:42 -05:00
gcc-version.sh kbuild: Make scripts executable 2014-11-12 13:25:42 -05:00
get_maintainer.pl get_maintainer.pl: fix source tree detection 2014-12-08 09:35:41 -05:00
kernel-doc kbuild: sync misc scripts with Linux 3.18-rc1 2014-11-07 16:27:07 -05:00
ld-version.sh kbuild: sync with Linux Kernel v3.15-rc1 2014-04-18 11:43:36 -04:00
mailmapper tools, scripts: refactor error-out statements of Python scripts 2014-08-21 12:01:11 -04:00
mkmakefile kbuild: Make scripts executable 2014-11-12 13:25:42 -05:00
objdiff scripts: objdiff: sync with Linux 3.16 2014-08-21 12:01:11 -04:00
setlocalversion scripts: refetch scripts/setlocalversion from Linux 3.16 2014-08-28 17:18:48 -04:00
show-gnu-make scripts: add scripts/show-gnu-make to get GNU Make command name 2014-07-29 11:48:36 -04:00