linux/drivers/clk/tegra
Peter De Schrijver e745f992cf clk: tegra: Rework pll_u
In normal operation pll_u is under hardware control and has a fixed rate
of 480MHz. Hardware will turn on pll_u on whenever any of the XUSB
powerdomains is on. From a software point of view we model this is if
pll_u is always on using a fixed rate clock. However the bootloader
might or might not have configured pll_u this way. So we will check the
current state of pll_u at boot and reconfigure it if required.

There are 3 possiblities at kernel boot:
1) pll_u is under hardware control: do nothing
2) pll_u is under hardware control and enabled: enable hardware control
3) pll_u is disabled: enable pll_u and enable hardware control

In all cases we also check if UTMIPLL is under hardware control at boot
and configure it for hardware control if that is not the case.
The same is done during SC7 resume.

Thanks to Joseph Lo <josephl@nvidia.com> for bug fixes.

Signed-off-by: Peter De Schrijver <pdeschrijver@nvidia.com>
Signed-off-by: Thierry Reding <treding@nvidia.com>
2017-03-20 14:18:30 +01:00
..
clk-audio-sync.c clk: tegra: Remove CLK_IS_ROOT 2016-03-02 17:47:19 -08:00
clk-bpmp.c clk: tegra: Add BPMP clock driver 2017-02-03 12:36:36 -08:00
clk-dfll.c PM / OPP: Update OPP users to put reference 2017-01-30 09:22:21 +01:00
clk-dfll.h clk: tegra: dfll: Properly clean up on failure and removal 2016-04-28 12:41:54 +02:00
clk-divider.c tegra/clk-divider: fix wrong do_div() usage 2015-11-16 12:37:55 -05:00
clk-emc.c clk: tegra: Add missing of_node_put() 2016-02-02 15:49:28 +01:00
clk-id.h clk: tegra: Define Tegra210 DMIC clocks 2017-03-20 14:07:21 +01:00
clk-periph-fixed.c clk: tegra: Add fixed factor peripheral clock type 2016-04-28 12:41:47 +02:00
clk-periph-gate.c clk: tegra: Fix disable unused for clocks sharing enable bit 2017-03-20 14:13:52 +01:00
clk-periph.c clk: tegra: Fix constness for peripheral clocks 2017-03-20 14:07:03 +01:00
clk-pll-out.c clk: tegra: Properly include clk.h 2015-07-20 11:11:17 -07:00
clk-pll.c clk: tegra: Rework pll_u 2017-03-20 14:18:30 +01:00
clk-super.c clk: tegra: Add super clock mux/divider 2017-03-20 14:07:33 +01:00
clk-tegra20.c treewide: Fix typos in printk 2016-04-28 10:52:28 +02:00
clk-tegra30.c clk: tegra: Add CEC clock 2017-03-20 14:06:23 +01:00
clk-tegra114.c clk: tegra: Add CEC clock 2017-03-20 14:06:23 +01:00
clk-tegra124-dfll-fcpu.c clk: tegra: dfll: Use builtin_platform_driver to simplify the code 2016-11-10 14:08:46 -08:00
clk-tegra124.c clk: tegra: Add CEC clock 2017-03-20 14:06:23 +01:00
clk-tegra210.c clk: tegra: Rework pll_u 2017-03-20 14:18:30 +01:00
clk-tegra-audio.c clk: tegra: Define Tegra210 DMIC sync clocks 2017-03-20 14:06:33 +01:00
clk-tegra-fixed.c clk: tegra: Remove trailing blank line 2016-04-28 12:41:45 +02:00
clk-tegra-periph.c clk: tegra: Define Tegra210 DMIC clocks 2017-03-20 14:07:21 +01:00
clk-tegra-pmc.c clk: tegra: Properly include clk.h 2015-07-20 11:11:17 -07:00
clk-tegra-super-gen4.c clk: tegra: super: Fix sparse warnings for functions not declared as static 2016-02-02 15:49:34 +01:00
clk.c clk: tegra: Implement reset control reset 2017-03-20 14:15:31 +01:00
clk.h clk: tegra: Add super clock mux/divider 2017-03-20 14:07:33 +01:00
cvb.c clk: tegra: dfll: improve function-level documentation 2016-11-01 17:38:50 -07:00
cvb.h clk: tegra: dfll: Properly clean up on failure and removal 2016-04-28 12:41:54 +02:00
Kconfig clk: tegra: Add BPMP clock driver 2017-02-03 12:36:36 -08:00
Makefile clk: tegra: Add BPMP clock driver 2017-02-03 12:36:36 -08:00