clk: mediatek: Fix asymmetrical PLL enable and disable control
authorChun-Jie Chen <chun-jie.chen@mediatek.com>
Mon, 26 Jul 2021 10:57:04 +0000 (18:57 +0800)
committerStephen Boyd <sboyd@kernel.org>
Tue, 27 Jul 2021 17:53:06 +0000 (10:53 -0700)
commit7cc4e1bbe300c5cf610ece8eca6c6751b8bc74db
treec8f852cf2d941f2d2ba7173ae3b6ef4dc7d6c910
parent197ee5436be5e4c8b55d7d0f449db8c8a81d22b3
clk: mediatek: Fix asymmetrical PLL enable and disable control

In fact, the en_mask is a combination of divider enable mask
and pll enable bit(bit0).
Before this patch, we enabled both divider mask and bit0 in prepare(),
but only cleared the bit0 in unprepare().
In the future, we hope en_mask will only be used as divider enable mask.
The enable register(CON0) will be set in 2 steps:
first is divider mask, and then bit0 during prepare(), and vice versa.
But considering backward compatibility, at this stage we allow en_mask
to be a combination or a pure divider enable mask.
And then we will make en_mask a pure divider enable mask in another
following patch series.

Reviewed-by: Ikjoon Jang <ikjn@chromium.org>
Signed-off-by: Weiyi Lu <weiyi.lu@mediatek.com>
Signed-off-by: Chun-Jie Chen <chun-jie.chen@mediatek.com>
Link: https://lore.kernel.org/r/20210726105719.15793-7-chun-jie.chen@mediatek.com
Signed-off-by: Stephen Boyd <sboyd@kernel.org>
drivers/clk/mediatek/clk-pll.c