]> 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)
commit6feced77a0f7699a367f2ab0cfcb906323fe894d
tree87efe3da10e0fe2c5201457e2178d245dba73742
parent29e6db4d5ad0ab85eb54f1ff674f2800a108908f
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: c2738e358099 ("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