]> git.baikalelectronics.ru Git - kernel.git/commit
clk: baikal-t1: Add SATA internal ref clock buffer
authorBaikal Electronics <support@baikalelectronics.ru>
Thu, 29 Sep 2022 22:53:58 +0000 (01:53 +0300)
committerStephen Boyd <sboyd@kernel.org>
Fri, 30 Sep 2022 21:19:31 +0000 (14:19 -0700)
commit17018fcf9f8e4afc1cd34922c7aadff44a5aacd4
tree87efe3da10e0fe2c5201457e2178d245dba73742
parent655ff8b22f0ee602016f87c901eede5db13d652f
clk: baikal-t1: Add SATA internal ref clock buffer

It turns out the internal SATA reference clock signal will stay
unavailable for the SATA interface consumer until the buffer on it's way
is ungated. So aside with having the actual clock divider enabled we need
to ungate a buffer placed on the signal way to the SATA controller (most
likely some rudiment from the initial SoC release). Seeing the switch flag
is placed in the same register as the SATA-ref clock divider at a
non-standard ffset, let's implement it as a separate clock controller with
the set-rate propagation to the parental clock divider wrapper. As such
we'll be able to disable/enable and still change the original clock source
rate.

Fixes: 6a3a8c11ca91 ("clk: Add Baikal-T1 CCU Dividers driver")
Signed-off-by: Serge Semin <Sergey.Semin@baikalelectronics.ru>
Link: https://lore.kernel.org/r/20220929225402.9696-5-Sergey.Semin@baikalelectronics.ru
Signed-off-by: Stephen Boyd <sboyd@kernel.org>
drivers/clk/baikal-t1/ccu-div.c
drivers/clk/baikal-t1/ccu-div.h
drivers/clk/baikal-t1/clk-ccu-div.c