]> git.baikalelectronics.ru Git - kernel.git/commit
clk: tegra: Don't deassert reset on enabling clocks
authorDmitry Osipenko <digetx@gmail.com>
Sun, 16 May 2021 16:30:40 +0000 (19:30 +0300)
committerThierry Reding <treding@nvidia.com>
Mon, 31 May 2021 13:16:46 +0000 (15:16 +0200)
commit4c1b7c284be5f345a183f430068b0fec8d73a245
tree35496e4c64a046e6631a30a22bfe4b0d95acd783
parent6780f544fcc9193fdfdf75d78190530446de58b2
clk: tegra: Don't deassert reset on enabling clocks

The Tegra clock driver contains legacy code which deasserts hardware reset
when peripheral clocks are enabled. This behaviour comes from a pre-CCF
era of the Tegra drivers. This is unacceptable for modern kernel drivers
which use generic CCF and reset-control APIs because it breaks assumptions
of the drivers about clk/reset sequences and about reset-propagation
delays. Hence remove the awkward legacy behaviour from the clk driver.

In particular PMC driver assumes that hardware blocks remains in reset
while power domain is turning on, but the clk driver deasserts the reset
before power clamp is removed, hence breaking the driver's assumption.

Signed-off-by: Dmitry Osipenko <digetx@gmail.com>
Signed-off-by: Thierry Reding <treding@nvidia.com>
drivers/clk/tegra/clk-periph-gate.c
drivers/clk/tegra/clk-tegra30.c
drivers/clk/tegra/clk.h