linux/drivers/clk
Daniel Thompson 358bdf892f clk: stm32: Add clock driver for STM32F4[23]xxx devices
The driver supports decoding and statically modelling PLL state (i.e.
we inherit state from bootloader) and provides support for all
peripherals that support simple one-bit gated clocks. The covers all
peripherals whose clocks come from the AHB, APB1 or APB2 buses.

It has been tested on an STM32F429I-Discovery board. The clock counts
for TIM2, USART1 and SYSTICK are all set correctly and the wall clock
looks OK when checked with a stopwatch. I have also tested a prototype
driver for the RNG hardware. The RNG clock is correctly enabled by the
framework (also did inverse test and proved that by changing DT to
configure the wrong clock bit then we observe the RNG driver to fail).

Signed-off-by: Daniel Thompson <daniel.thompson@linaro.org>
Reviewed-by: Maxime Coquelin <mcoquelin.stm32@gmail.com>
[sboyd@codeaurora.org: Silence sparse warnings]
Signed-off-by: Stephen Boyd <sboyd@codeaurora.org>
2015-06-22 16:17:01 -07:00
..
at91 clk: at91: Use of_clk_get_parent_count() instead of open coding 2015-06-04 13:51:23 -07:00
bcm clk: cygnus: add clock support for Broadcom Cygnus 2015-06-18 12:36:39 -07:00
berlin clk: berlin: Silence sparse warning 2015-05-14 17:11:21 -07:00
hisilicon clk: make several parent names const 2015-06-04 14:27:06 -07:00
keystone clk: keystone: add support for post divider register for main pll 2015-06-18 15:36:33 -07:00
mediatek clk: mediatek: Fix apmixedsys clock registration 2015-06-04 14:07:07 -07:00
meson clk: meson: add some error handling in meson_clk_register_cpu() 2015-06-12 14:30:19 -07:00
mmp clk: mmp: add timer clock for pxa168/mmp2/pxa910 2015-06-04 12:07:53 -07:00
mvebu clk: mvebu: flag the crypto clk as CLK_IGNORE_UNUSED 2015-06-18 13:51:45 -07:00
mxs clk: make several parent names const 2015-06-04 14:27:06 -07:00
nxp clk: add lpc18xx ccu clk driver 2015-06-18 15:44:48 -07:00
pistachio clk: pistachio: Add sanity checks on PLL configuration 2015-06-04 12:43:39 -07:00
pxa clk: pxa: Fix const discarding warning 2015-06-12 14:30:12 -07:00
qcom clk: qcom: Fix MSM8916 gfx3d_clk_src configuration 2015-04-30 18:42:55 -07:00
rockchip clk: make several parent names const 2015-06-04 14:27:06 -07:00
samsung Merge branch 'clk-exynos-cpu-clk' into clk-next 2015-06-20 13:26:40 -07:00
shmobile clk: emev2: Silence sparse warnings 2015-05-14 17:11:23 -07:00
sirf clk: sirf: add CSR atlas7 clk and reset support 2015-05-20 15:43:28 -07:00
socfpga clk: socfpga: remove a stray tab 2015-06-09 18:14:27 -07:00
spear Merge branch 'clk-fixes' into clk-next 2014-07-13 07:56:45 -07:00
st clk: st: Use of_clk_get_parent_count() instead of open coding 2015-06-04 13:51:34 -07:00
sunxi clk: sunxi: Add support for the usb-clk on sun8i a23 and a33 SoCs 2015-06-02 10:24:39 +02:00
tegra clk: tegra: Fix hda2codec_2x clock name for Tegra30 2015-05-13 15:17:14 +02:00
ti clk: ti: Use of_clk_get_parent_count() instead of open coding 2015-06-04 13:51:37 -07:00
ux500 clk: ux500: ape[ate|trace]clk are scaleable 2015-05-07 11:32:39 -07:00
versatile clk: versatile: Silence sparse warnings 2015-05-14 17:11:27 -07:00
x86 clk: x86: drop owner assignment from platform_drivers 2014-10-20 16:20:23 +02:00
zynq clk: make several parent names const 2015-06-04 14:27:06 -07:00
clk-asm9260.c clk: asm9260: Fix of_io_request_and_map error check 2015-05-13 12:32:52 -07:00
clk-axi-clkgen.c clk: Remove .owner field for driver 2014-09-25 17:43:31 -07:00
clk-axm5516.c clk: axm55xx: Use %zu in pr_info for size_t 2015-05-13 12:32:53 -07:00
clk-bcm2835.c ARM: bcm2835: remove custom .init_time hook 2013-09-29 21:09:24 +02:00
clk-cdce706.c clk: cdce706: Add missing of_clk_del_provider call in cdce706_remove 2015-05-21 11:53:23 -07:00
clk-cdce925.c clk: cdce925: Fix printk size_t warning 2015-06-10 14:16:36 -07:00
clk-clps711x.c clk: Add CLPS711X clk driver 2014-07-28 23:30:46 -07:00
clk-composite.c clk: basic-types: Remove useless allocation failure printks 2015-05-14 16:51:50 -07:00
clk-conf.c clk: clk-conf: Fix typo in comment 2015-05-21 11:55:05 -07:00
clk-devres.c
clk-divider.c clk: basic-types: Remove useless allocation failure printks 2015-05-14 16:51:50 -07:00
clk-efm32gg.c clk/efm32gg: fix dt init prototype 2014-09-09 13:52:18 -07:00
clk-fixed-factor.c clk: fixed: Add comment to clk_fixed_set_rate 2015-06-10 14:19:43 -07:00
clk-fixed-rate.c clk: basic-types: Remove useless allocation failure printks 2015-05-14 16:51:50 -07:00
clk-fractional-divider.c clk: basic-types: Remove useless allocation failure printks 2015-05-14 16:51:50 -07:00
clk-gate.c clk: basic-types: Remove useless allocation failure printks 2015-05-14 16:51:50 -07:00
clk-gpio-gate.c clk: gpio-gate: Don't export __init functions 2015-05-14 17:11:16 -07:00
clk-highbank.c ARM: highbank: remove custom .init_time hook 2013-09-29 21:09:29 +02:00
clk-ls1x.c clk: ls1x: Fix duplicate const for parent names 2015-05-05 22:50:50 -07:00
clk-max77686.c clk: Remove .owner field for driver 2014-09-25 17:43:31 -07:00
clk-max77802.c clk: Remove .owner field for driver 2014-09-25 17:43:31 -07:00
clk-max-gen.c clk: max-gen: Silence sparse warnings 2015-05-14 17:11:18 -07:00
clk-max-gen.h clk: Add generic driver for Maxim PMIC clocks 2014-09-09 13:55:44 -07:00
clk-mb86s7x.c clk: Add clock driver for mb86s7x 2015-04-10 13:51:55 -07:00
clk-moxart.c clk: moxart: Silence sparse warnings 2015-05-14 17:11:31 -07:00
clk-mux.c clk: make strings in parent name arrays const 2015-05-05 22:50:03 -07:00
clk-nomadik.c clk: nomadik: fix multiplatform problem 2014-02-26 11:14:44 -08:00
clk-nspire.c clk: Add TI-Nspire clock drivers 2013-05-31 12:07:45 -07:00
clk-palmas.c clk: constify of_device_id array 2015-04-01 10:59:27 -07:00
clk-pwm.c clk: Add PWM clock driver 2015-04-10 14:44:43 -07:00
clk-qoriq.c clk: qoriq: Add support for the platform PLL 2015-02-18 09:56:43 -08:00
clk-rk808.c clk: RK808: add clkout driver for RK808 2014-10-14 02:18:18 +02:00
clk-s2mps11.c Please consider pulling the clk framework changes toward 3.19. It is 2014-12-20 16:42:36 -08:00
clk-si570.c clk: si570: Constify struct regmap_config 2015-03-27 00:22:49 -07:00
clk-si5351.c clk: si5351: fix .recalc_rate for multisynth 6-7 2015-05-13 11:52:06 -07:00
clk-si5351.h clk: si5351: remove variant from platform_data 2014-01-27 11:20:22 -08:00
clk-stm32f4.c clk: stm32: Add clock driver for STM32F4[23]xxx devices 2015-06-22 16:17:01 -07:00
clk-twl6040.c clk: Remove .owner field for driver 2014-09-25 17:43:31 -07:00
clk-u300.c clk: u300: Silence sparse warnings 2015-05-14 17:11:31 -07:00
clk-vt8500.c clk: vt8500: Staticize vtwm_pll_ops 2013-12-19 17:47:32 -08:00
clk-wm831x.c clk: Remove .owner field for driver 2014-09-25 17:43:31 -07:00
clk-xgene.c clk: xgene: Silence sparse warnings 2015-05-14 17:11:30 -07:00
clk.c clk: tegra: Changes for v4.2-rc1 2015-06-20 13:29:48 -07:00
clk.h clk: Replace of_clk_get_by_clkspec() with of_clk_get_from_provider() 2015-03-12 12:20:34 -07:00
clkdev.c clk: Replace of_clk_get_by_clkspec() with of_clk_get_from_provider() 2015-03-12 12:20:34 -07:00
Kconfig clk: tegra: Changes for v4.2-rc1 2015-06-20 13:29:48 -07:00
Makefile clk: stm32: Add clock driver for STM32F4[23]xxx devices 2015-06-22 16:17:01 -07:00