clk: sunxi-ng: Add MP_MMC clocks that support MMC timing modes switching
authorChen-Yu Tsai <wens@csie.org>
Mon, 24 Jul 2017 13:58:57 +0000 (21:58 +0800)
committerUlf Hansson <ulf.hansson@linaro.org>
Wed, 30 Aug 2017 12:01:47 +0000 (14:01 +0200)
commitdc8797e39fca777217fd4cfc9c74a5337a3daa76
tree327f605a7a0187e67b30e8b59d123efafc278742
parentf6f64ed868d32a121f1535da9f42791c91562e4a
clk: sunxi-ng: Add MP_MMC clocks that support MMC timing modes switching

All of our MMC clocks are of the MP clock type. A few MMC clocks on some
SoCs, such as MMC2 on the A83T, support new/old timing mode switching.

>From a clock rate point of view, when the new timing mode is active. the
output clock rate is halved.

This patch adds a special wrapper class of clocks, MP_MMC, around the
generic MP type clocks. The rate related callbacks in ccu_mp_mmc_ops
for this class look at the timing mode bit and apply the /2 post-divider
when needed, before passing it through to the generic class ops,
ccu_mp_ops.

Signed-off-by: Chen-Yu Tsai <wens@csie.org>
Acked-by: Maxime Ripard <maxime.ripard@free-electrons.com>
Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
drivers/clk/sunxi-ng/ccu_mp.c
drivers/clk/sunxi-ng/ccu_mp.h