]> git.baikalelectronics.ru Git - kernel.git/commit
clk: rockchip: Add support for the mmc clock phases using the framework
authorAlexandru M Stan <amstan@chromium.org>
Thu, 27 Nov 2014 01:30:27 +0000 (17:30 -0800)
committerHeiko Stuebner <heiko@sntech.de>
Thu, 27 Nov 2014 23:44:24 +0000 (00:44 +0100)
commit72147e6936a0f670b99e3320b7c28d30922516c0
tree954a8753ce27fbd5ee9b0cc9fe4adeaa4d9d15bc
parentf39f266015a88c64983c45c3d24248d912f7c3b5
clk: rockchip: Add support for the mmc clock phases using the framework

This patch adds the 2 physical clocks for the mmc (drive and sample). They're
mostly there for the phase properties, but they also show the true clock
(by dividing by RK3288_MMC_CLKGEN_DIV).

The drive and sample phases are generated by dividing an upstream parent clock
by 2, this allows us to adjust the phase by 90 deg.

There's also an option to have up to 255 delay elements (40-80 picoseconds long).
This driver uses those elements (under the assumption that they're 60 ps long)
to generate approximate 22.5 degrees options. 67.5 (22.5*3) might be as high as
90 deg if the delay elements are as big as 80 ps, so a finer division (smaller
than 22.5) was not picked because the phase might not be monotonic anymore.

Suggested-by: Heiko Stuebner <heiko@sntech.de>
Signed-off-by: Alexandru M Stan <amstan@chromium.org>
Signed-off-by: Heiko Stuebner <heiko@sntech.de>
drivers/clk/rockchip/Makefile
drivers/clk/rockchip/clk-mmc-phase.c [new file with mode: 0644]
drivers/clk/rockchip/clk-rk3288.c
drivers/clk/rockchip/clk.c
drivers/clk/rockchip/clk.h