From 1b2fd5bf4eedfaf5af9d8fc219781fb521d12c7a Mon Sep 17 00:00:00 2001 From: Simon Glass Date: Tue, 1 Sep 2015 19:19:37 -0600 Subject: rockchip: Add SPI driver Add a SPI driver for the Rockchip RK3288, using driver model. It should work for other Rockchip SoCs also. Signed-off-by: Simon Glass --- arch/arm/include/asm/arch-rockchip/clock.h | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) (limited to 'arch/arm/include/asm/arch-rockchip') diff --git a/arch/arm/include/asm/arch-rockchip/clock.h b/arch/arm/include/asm/arch-rockchip/clock.h index 2e5ba86a63..8a0376c501 100644 --- a/arch/arm/include/asm/arch-rockchip/clock.h +++ b/arch/arm/include/asm/arch-rockchip/clock.h @@ -35,6 +35,26 @@ static inline int rk_pll_id(enum rk_clk_id clk_id) return clk_id - 1; } +/** + * clk_get_divisor() - Calculate the required clock divisior + * + * Given an input rate and a required output_rate, calculate the Rockchip + * divisor needed to achieve this. + * + * @input_rate: Input clock rate in Hz + * @output_rate: Output clock rate in Hz + * @return divisor register value to use + */ +static inline u32 clk_get_divisor(ulong input_rate, uint output_rate) +{ + uint clk_div; + + clk_div = input_rate / output_rate; + clk_div = (clk_div + 1) & 0xfffe; + + return clk_div; +} + /** * rockchip_get_cru() - get a pointer to the clock/reset unit registers * -- cgit v1.2.1