linux/drivers/clk/rockchip
Heiko Stuebner dfff24bde7 clk: rockchip: only enter pll slow-mode directly before reboots on rk3288
As commit 1d33929e2a ("clk: rockchip: switch PLLs to slow mode before
reboot for rk3288") states, switching the PLLs to slow-mode is only
necessary when rebooting using the soft-reset done through the CRU.

The dwc2 controllers used create really big number of interrupts in
special constellations involving usb-hubs and their number is so high,
it can even overwhelm the interrupt handler if the cpu-speed os to low.

Right now the PLLs are put into slow-mode in a shutdown syscore_ops
callback which means it happens on all reboots (not only the soft-reset
ones) and even on poweroff actions.

This can result in the system not powering off and getting stuck instead,
so we should move the slow-mode change nearer to the actual reboot action.

For this we introduce the possiblity to also set a callback that gets
called from the restart-handler directly prior to restarting the system
and move the shutdown-callback to this new option.

With this the slow-mode switch is done only on the necessary reboots
and also has a smaller possibility of causing artifacts.

Fixes: 1d33929e2a ("clk: rockchip: switch PLLs to slow mode before reboot for rk3288")
Signed-off-by: Heiko Stuebner <heiko.stuebner@collabora.com>
Reviewed-by: Douglas Anderson <dianders@chromium.org>
2015-12-21 02:01:19 +01:00
..
clk-cpu.c clk: rockchip: allow more than 2 parents for cpuclk 2015-12-09 22:30:42 +01:00
clk-inverter.c clk: Convert __clk_get_name(hw->clk) to clk_hw_get_name(hw) 2015-08-24 16:49:12 -07:00
clk-mmc-phase.c The majority of the changes are driver updates and new device 2015-11-05 12:59:36 -08:00
clk-pll.c clk: rockchip: add new pll-type for rk3036 and similar socs 2015-11-23 21:55:07 +01:00
clk-rk3036.c clk: rockchip: only enter pll slow-mode directly before reboots on rk3288 2015-12-21 02:01:19 +01:00
clk-rk3188.c clk: rockchip: only enter pll slow-mode directly before reboots on rk3288 2015-12-21 02:01:19 +01:00
clk-rk3228.c clk: rockchip: only enter pll slow-mode directly before reboots on rk3288 2015-12-21 02:01:19 +01:00
clk-rk3288.c clk: rockchip: only enter pll slow-mode directly before reboots on rk3288 2015-12-21 02:01:19 +01:00
clk-rk3368.c clk: rockchip: only enter pll slow-mode directly before reboots on rk3288 2015-12-21 02:01:19 +01:00
clk-rockchip.c
clk.c clk: rockchip: only enter pll slow-mode directly before reboots on rk3288 2015-12-21 02:01:19 +01:00
clk.h clk: rockchip: only enter pll slow-mode directly before reboots on rk3288 2015-12-21 02:01:19 +01:00
Makefile clk: rockchip: add clock controller for rk3228 2015-12-12 20:04:54 +01:00
softrst.c clk: rockchip: add reset controller 2014-07-13 12:17:07 -07:00