]> git.baikalelectronics.ru Git - kernel.git/commit
clk: vc5: Fix 5P49V6901 outputs disabling when enabling FOD
authorBaikal Electronics <support@baikalelectronics.ru>
Thu, 29 Sep 2022 22:53:55 +0000 (01:53 +0300)
committerStephen Boyd <sboyd@kernel.org>
Fri, 30 Sep 2022 21:19:21 +0000 (14:19 -0700)
commit9caac8617bb268a10d91ba089b63702c7783e4f2
tree541668daf1867d8a4e5923d387b26c5b3db8eae6
parent3d7dcb2c5450a57f60c448f42be48fdfe456bfdf
clk: vc5: Fix 5P49V6901 outputs disabling when enabling FOD

We have discovered random glitches during the system boot up procedure.
The problem investigation led us to the weird outcomes: when none of the
Renesas 5P49V6901 ports are explicitly enabled by the kernel driver, the
glitches disappeared. It was a mystery since the SoC external clock
domains were fed with different 5P49V6901 outputs. The driver code didn't
seem like bogus either. We almost despaired to find out a root cause when
the solution has been found for a more modern revision of the chip. It
turned out the 5P49V6901 clock generator stopped its output for a short
period of time during the VC5_OUT_DIV_CONTROL register writing. The same
problem was found for the 5P49V6965 revision of the chip and was
successfully fixed in commit d1209d96ad6e ("clk: vc5: fix output disabling
when enabling a FOD") by enabling the "bypass_sync" flag hidden inside
"Unused Factory Reserved Register". Even though the 5P49V6901 registers
description and programming guide doesn't provide any intel regarding that
flag, setting it up anyway in the officially unused register completely
eliminated the denoted glitches. Thus let's activate the functionality
submitted in commit d1209d96ad6e ("clk: vc5: fix output disabling when
enabling a FOD") for the Renesas 5P49V6901 chip too in order to remove the
ports implicit inter-dependency.

Fixes: cb8dfdf6f5a6 ("clk: vc5: Add support for IDT VersaClock 5P49V6901")
Signed-off-by: Serge Semin <Sergey.Semin@baikalelectronics.ru>
Reviewed-by: Luca Ceresoli <luca@lucaceresoli.net>
Link: https://lore.kernel.org/r/20220929225402.9696-2-Sergey.Semin@baikalelectronics.ru
Signed-off-by: Stephen Boyd <sboyd@kernel.org>
drivers/clk/clk-versaclock5.c