u-boot/drivers/clk/rockchip
Philipp Tomsich f5a432959a rockchip: clk: rk3368: implement MMC/SD clock reparenting
The original clock support for MMC/SD cards on the RK3368 suffered
from a tendency to select a divider less-or-equal to the the one
giving the requested clock-rate: this can lead to higher-than-expected
(or rather: higher than supported) clock rates for the MMC/SD
communiction.

This change rewrites the MMC/SD clock generation to:
 * always generate a clock less-than-or-equal to the requested clock
 * support reparenting among the CPLL, GPLL and OSC24M parents to
   generate the highest clock that does not exceed the requested rate

In addition to this, the Linux DTS uses HCLK_MMC/HCLK_SDMMC instead of
SCLK_MMC/SCLK_SDMMC: to match this (and to ensure that clock setup
always works), we adjust the driver appropriately.

This includes the changes from:
 - rockchip: clk: rk3368: convert MMC_PLL_SEL_* definitions to shifted-value form

Signed-off-by: Philipp Tomsich <philipp.tomsich@theobroma-systems.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
2017-08-13 17:12:32 +02:00
..
clk_rk322x.c rockchip: rk322x: add clock driver 2017-07-11 12:13:45 +02:00
clk_rk3036.c rockchip: clk: rk3036: correct setting for pll integer mode 2017-06-23 16:40:23 +02:00
clk_rk3188.c dm: Rename dev_addr..() functions 2017-06-01 07:03:01 -06:00
clk_rk3288.c rockchip: Init clocks again when chain-loading 2017-06-09 13:45:33 -06:00
clk_rk3328.c dm: Rename dev_addr..() functions 2017-06-01 07:03:01 -06:00
clk_rk3368.c rockchip: clk: rk3368: implement MMC/SD clock reparenting 2017-08-13 17:12:32 +02:00
clk_rk3399.c dm: Rename dev_addr..() functions 2017-06-01 07:03:01 -06:00
clk_rv1108.c clk_rv1108.c: Fix unused variable warning 2017-06-23 10:38:05 -04:00
Makefile rockchip: rk322x: add clock driver 2017-07-11 12:13:45 +02:00