[U-Boot] [U-Boot, v4, 43/66] rockchip: clk: rk3368: implement MMC/SD clock reparenting

Philipp Tomsich philipp.tomsich at theobroma-systems.com
Sun Aug 6 17:18:18 UTC 2017


> 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 at theobroma-systems.com>
> 
> Reviewed-by: Simon Glass <sjg at chromium.org>
> ---
> 
> Changes in v4: None
> Changes in v3: None
> Changes in v2: None
> 
>  arch/arm/include/asm/arch-rockchip/cru_rk3368.h |   8 +-
>  drivers/clk/rockchip/clk_rk3368.c               | 119 ++++++++++++++++++------
>  2 files changed, 95 insertions(+), 32 deletions(-)
> 

Applied to u-boot-rockchip, thanks!


More information about the U-Boot mailing list