linux/drivers/clk
Caesar Wang a7ce405088 clk: rockchip: Force rk3368 PWM clock (and its parents) on
Most rk3368 boards (especially those with Pmic that followed the lead
from rk3368-evb-act8846) have a PWM regulator on them for vdd_logic.
This is the main voltage for all kinds of misc stuff including the
memory controller.

On these boards it is critically important to make sure that the PWM
never ever glitches and never loses its clock. Any glitch could
crash the system.

Right now there are no users of the PWM regulator and also Linux
thinks that the PWM regulator is disabled.  Things happen to work
because firmware configured the PWM and Linux doesn't touch it.
..and the PWM's clock is marked as "ignore unused".

...but things _stop_ working if we turn off serial console.  Why?
Because:
    1. Serial console shares a parent clock with the PWM (pclk_cpu)
    2. If we have no serial console then nobody is holding pclk_cpu on
       at reboot time.  It gets disabled.

We need to fix a lot of the above problems, but until we get
everything right the cleanest "hack" seems like it is to just keep
the "rk_pwm" clock on always.

Signed-off-by: Caesar Wang <wxt@rock-chips.com>
Signed-off-by: Heiko Stuebner <heiko@sntech.de>
2015-12-02 00:40:17 +01:00
..
at91 clk: at91: add generated clock driver 2015-10-01 12:48:11 -07:00
bcm Merge branch 'clk-iproc' into clk-next 2015-10-21 17:28:19 -07:00
berlin ARM: SoC driver updates for v4.4 2015-11-10 15:00:03 -08:00
h8300 h8300: unaligned divcr register support. 2015-11-08 22:44:37 +09:00
hisilicon clk: Remove unneeded semicolons 2015-09-17 11:15:14 -07:00
imx clk: imx31: add missing of_node_put 2015-10-21 16:16:34 -07:00
ingenic clk: ingenic: Include clk.h 2015-07-20 11:11:36 -07:00
keystone clk: keystone: fix a trivial typo 2015-10-19 15:29:09 -07:00
mediatek clk: mediatek: Add USB clock support in MT8173 APMIXEDSYS 2015-10-01 12:06:00 +08:00
meson clk: meson8b: Properly include clk.h 2015-07-20 10:53:10 -07:00
mmp clk: mmp: Convert to clk_hw based provider APIs 2015-08-24 16:48:49 -07:00
mvebu clk: mvebu: Use of_clk_get_parent_name() 2015-10-16 16:35:43 -07:00
mxs clk:mxs: Fix bug on frequency divider 2015-10-01 15:24:34 -07:00
nxp clk: lpc18xx-cgu: fix potential system hang when disabling unused clocks 2015-10-26 12:36:58 -07:00
pistachio clk: pistachio: correct critical clock list 2015-08-26 11:34:43 -07:00
pxa The clk framework changes for 4.3 are mostly updates to existing drivers 2015-08-31 17:26:48 -07:00
qcom clk: qcom: msm8960: Fix dsi1/2 halt bits 2015-10-27 13:10:13 -07:00
rockchip clk: rockchip: Force rk3368 PWM clock (and its parents) on 2015-12-02 00:40:17 +01:00
samsung ARM: DT updates for v4.4 2015-11-10 15:06:26 -08:00
shmobile ARM: SoC platform updates for v4.4 2015-11-10 14:56:23 -08:00
sirf clk: atlas7: fix noc/socket disconnect/reconnect for unit clks 2015-09-29 08:27:14 -07:00
socfpga clk: socfpga: Add a second parent option for the dbg_base_clk 2015-08-24 16:49:03 -07:00
spear The clk framework changes for 4.3 are mostly updates to existing drivers 2015-08-31 17:26:48 -07:00
st drivers: clk: st: Correct the pll-type for A9 for stih418 2015-10-08 23:52:59 -07:00
sunxi ARM: SoC platform updates for v4.4 2015-11-10 14:56:23 -08:00
tegra clk: tegra: Changes for v4.4-rc1 2015-10-20 08:49:11 -07:00
ti clk: ti: dflt: fix enable_reg validity check 2015-10-02 09:24:28 +03:00
ux500 clk/ARM: move Ux500 PRCC bases to the device tree 2015-08-24 16:49:14 -07:00
versatile clk: versatile-icst: fix memory leak 2015-10-23 13:34:53 -07:00
x86 clk: x86: drop owner assignment from platform_drivers 2014-10-20 16:20:23 +02:00
zte clk: zx: Constify parent names in clock init data 2015-07-28 11:59:39 -07:00
zynq ARM: SoC platform updates for v4.3 2015-09-01 12:18:40 -07:00
clk-asm9260.c clk: asm9260: Fix of_io_request_and_map error check 2015-05-13 12:32:52 -07:00
clk-axi-clkgen.c clk: axi-clkgen: Remove clk.h include 2015-07-20 10:52:50 -07:00
clk-axm5516.c clk: axm55xx: Use %zu in pr_info for size_t 2015-05-13 12:32:53 -07:00
clk-cdce706.c clk: Convert __clk_get_flags() to clk_hw_get_flags() 2015-08-24 16:48:44 -07:00
clk-cdce925.c clk: cdce925: Include clk.h 2015-07-20 11:11:32 -07:00
clk-clps711x.c clk: clps711x: Remove clk.h include 2015-07-20 10:52:53 -07:00
clk-composite.c clk: Convert basic types to clk_hw based provider APIs 2015-08-24 16:48:48 -07:00
clk-conf.c clk: clk-conf: Fix typo in comment 2015-05-21 11:55:05 -07:00
clk-devres.c
clk-divider.c clk: divider: handle integer overflow when dividing large clock rates 2015-09-16 15:22:33 -07:00
clk-efm32gg.c clk: efm32gg: Remove clk.h include 2015-07-20 10:52:54 -07:00
clk-fixed-factor.c clk: Convert basic types to clk_hw based provider APIs 2015-08-24 16:48:48 -07:00
clk-fixed-rate.c clk: basic-types: Remove useless allocation failure printks 2015-05-14 16:51:50 -07:00
clk-fractional-divider.c clk: fractional-divider: switch to rational best approximation 2015-10-02 11:29:48 -07:00
clk-gate.c clk: basic-type: Silence warnings about lock imbalances 2015-07-28 11:59:28 -07:00
clk-gpio.c clk: gpio: Mark parent_names array const 2015-07-28 11:59:24 -07:00
clk-highbank.c clk: highbank: Include clk.h 2015-07-20 11:11:22 -07:00
clk-ls1x.c clk: ls1x: Fix duplicate const for parent names 2015-05-05 22:50:50 -07:00
clk-max77686.c drivers/clk: include <module.h> for clk-max77xxx modular code 2015-06-16 14:12:25 -04:00
clk-max77802.c clk: max77802: Update MODULE_AUTHOR() email address 2015-10-14 11:31:55 -07:00
clk-max-gen.c clk: max-gen: Silence sparse warnings 2015-05-14 17:11:18 -07:00
clk-max-gen.h clk: Add generic driver for Maxim PMIC clocks 2014-09-09 13:55:44 -07:00
clk-mb86s7x.c clk: Add clock driver for mb86s7x 2015-04-10 13:51:55 -07:00
clk-moxart.c clk: moxart: Include clk.h 2015-07-20 11:11:33 -07:00
clk-multiplier.c clk: Remove clk_{register,unregister}_multiplier() 2015-10-23 13:34:46 -07:00
clk-mux.c clk: Replace __clk_get_num_parents with clk_hw_get_num_parents() 2015-08-24 16:48:43 -07:00
clk-nomadik.c clk: nomadik: Remove clk.h and clkdev.h includes 2015-07-20 10:52:57 -07:00
clk-nspire.c
clk-palmas.c clk: palmas: Remove clkdev.h includes 2015-07-20 10:52:58 -07:00
clk-pwm.c clk: Add PWM clock driver 2015-04-10 14:44:43 -07:00
clk-qoriq.c clk: qoriq: Add ls1043a support. 2015-10-27 00:21:38 -05:00
clk-rk808.c clk: rk808: Remove clk.h include 2015-07-20 10:53:00 -07:00
clk-s2mps11.c clk: s2mps11: Use kcalloc instead of kzalloc for array allocation 2015-07-28 11:59:32 -07:00
clk-scpi.c clk: scpi: add support for cpufreq virtual device 2015-09-28 11:53:37 +01:00
clk-si514.c Add driver for the si514 clock generator chip 2015-10-08 23:52:55 -07:00
clk-si570.c clk: si570: Include clk.h 2015-07-20 11:11:35 -07:00
clk-si5351.c clk: si5351: add missing of_node_put 2015-10-21 16:16:33 -07:00
clk-si5351.h
clk-stm32f4.c clk: stm32f4: Convert to clk_hw based provider APIs 2015-08-24 16:48:51 -07:00
clk-twl6040.c Merge branch 'cleanup-clk-h-includes' into clk-next 2015-07-28 11:59:09 -07:00
clk-u300.c clk: u300: Remove clk.h include 2015-07-20 10:53:04 -07:00
clk-vt8500.c
clk-wm831x.c clk: wm831x: Remove clk.h include 2015-07-20 10:53:05 -07:00
clk-xgene.c clk: xgene: Remove unused setup.h include 2015-10-16 12:06:58 -07:00
clk.c clk: Add clk_hw_is_enabled() for use by clk providers 2015-10-26 12:36:55 -07:00
clk.h clk: Replace of_clk_get_by_clkspec() with of_clk_get_from_provider() 2015-03-12 12:20:34 -07:00
clkdev.c clkdev: fix clk_add_alias() with a NULL alias device name 2015-10-20 17:24:08 +01:00
Kconfig ARM: SoC driver updates for v4.4 2015-11-10 15:00:03 -08:00
Makefile ARM: SoC driver updates for v4.4 2015-11-10 15:00:03 -08:00