linux-stable/include/linux/clk
JC Kuo 54443ef6f5 clk: tegra: Add PLLE HW power sequencer control
PLLE has a hardware power sequencer logic which is a state machine
that can power on/off PLLE without any software intervention. The
sequencer has two inputs, one from XUSB UPHY PLL and the other from
SATA UPHY PLL. PLLE provides reference clock to XUSB and SATA UPHY
PLLs. When both of the downstream PLLs are powered-off, PLLE hardware
power sequencer will automatically power off PLLE for power saving.

XUSB and SATA UPHY PLLs also have their own hardware power sequencer
logic. XUSB UPHY PLL is shared between XUSB SuperSpeed ports and PCIE
controllers. The XUSB UPHY PLL hardware power sequencer has inputs
from XUSB and PCIE. When all of the XUSB SuperSpeed ports and PCIE
controllers are in low power state, XUSB UPHY PLL hardware power
sequencer automatically power off PLL and flags idle to PLLE hardware
power sequencer. Similar applies to SATA UPHY PLL.

PLLE hardware power sequencer has to be enabled after both downstream
sequencers are enabled.

This commit adds two helper functions:
1. tegra210_plle_hw_sequence_start() for XUSB PADCTL driver to enable
   PLLE hardware sequencer at proper time.

2. tegra210_plle_hw_sequence_is_enabled() for XUSB PADCTL driver to
   check whether PLLE hardware sequencer has been enabled or not.

Signed-off-by: JC Kuo <jckuo@nvidia.com>
Acked-by: Thierry Reding <treding@nvidia.com>
Acked-by: Stephen Boyd <sboyd@kernel.org>
Signed-off-by: Thierry Reding <treding@nvidia.com>
2021-03-24 14:01:58 +01:00
..
analogbits-wrpll-cln28hpc.h clk: analogbits: add Wide-Range PLL library 2019-05-03 09:20:48 -07:00
at91_pmc.h clk: at91: clk-utmi: add utmi support for sama7g5 2020-07-24 02:19:08 -07:00
clk-conf.h clk: add include guard to clk-conf.h 2019-09-17 10:27:46 -07:00
davinci.h clk: davinci: Fix link errors when not all SoCs are enabled 2018-05-30 12:48:49 -07:00
imx.h clk: imx: Move 'imx6sl_set_wait_clk()'s prototype out to accessible header 2021-01-30 22:13:23 +08:00
mmp.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
mxs.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500 2019-06-19 17:09:55 +02:00
renesas.h clk: renesas: Convert to SPDX identifiers 2018-09-28 17:16:37 -07:00
samsung.h clk: samsung: Allow compile testing of Exynos, S3C64xx and S5Pv210 2020-11-23 10:25:45 +01:00
spear.h clk: spear: Move prototype to accessible header 2021-02-11 11:56:06 -08:00
sunxi-ng.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 282 2019-06-05 17:36:37 +02:00
tegra.h clk: tegra: Add PLLE HW power sequencer control 2021-03-24 14:01:58 +01:00
ti.h clk: ti: clkctrl: add new exported API for checking standby info 2019-10-31 15:18:28 +02:00
zynq.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 156 2019-05-30 11:26:35 -07:00