linux/drivers/clk
Tomi Valkeinen 7d5fc85d96 clk: ti: set CLK_SET_RATE_NO_REPARENT for ti,mux-clock
When setting the rate of a clock, by default the clock framework will
change the parent of the clock to the most suitable one in
__clk_mux_determine_rate() (most suitable by looking at the clock rate).

This is a rather dangerous default, and causes problems on AM43x when
using display and ethernet. There are multiple ways to select the clock
muxes on AM43x, and some of those clock paths have the same source
clocks for display and ethernet. When changing the clock rate for the
display subsystem, the clock framework decides to change the display mux
from the dedicated display PLL to a shared PLL which is used by the
ethernet, and then changes the rate of the shared PLL, breaking the
ethernet.

As I don't think there ever is a case where we want the clock framework
to automatically change the parent clock of a clock mux, this patch sets
the CLK_SET_RATE_NO_REPARENT for all ti,mux-clocks.

Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
Reviewed-by: Paul Walmsley <paul@pwsan.com>
Tested-by: Felipe Balbi <balbi@ti.com>
Signed-off-by: Tero Kristo <t-kristo@ti.com>
2014-06-19 14:52:32 +03:00
..
at91 clk: at91: add slow clks driver 2014-05-07 18:27:45 +02:00
bcm clk: bcm/kona: implement determine_rate() 2014-05-27 17:34:32 -07:00
berlin clk: berlin: add core clock driver for BG2Q 2014-05-29 09:30:19 -07:00
hisilicon clk: hisi: add clk-hix5hd2.c 2014-05-12 11:30:32 +08:00
keystone clk: keystone: gate: fix clk_init_data initialization 2014-02-10 15:17:43 -05:00
mmp clk: mmp: try to use closer one when do round rate 2014-03-26 20:59:27 -07:00
mvebu clk: mvebu: add Orion5x clock driver 2014-04-26 01:03:55 +00:00
mxs ARM: mxs: remove custom .init_time hook 2013-09-29 21:09:34 +02:00
qcom clk: qcom: Return error pointers for unimplemented clocks 2014-05-29 09:30:25 -07:00
rockchip clk: rockchip: fix function type for CLK_OF_DECLARE 2014-05-20 14:25:22 -05:00
samsung The clock framework changes for 3.16 are pretty typical: mostly clock 2014-06-07 20:27:30 -07:00
shmobile clk: shmobile: Add R8A7740-specific clock support 2014-05-23 13:38:25 -07:00
sirf clk: sirf: update copyright years to 2014 2014-03-26 21:47:35 -07:00
socfpga Adds support getting the divider registers for the MAIN PLL that was once 2014-05-12 19:11:13 -07:00
spear clk: SPEAr: Staticize clk_frac_ops 2013-12-19 11:45:17 -08:00
st clk: st: Terminate of match table 2014-05-28 12:08:53 -07:00
sunxi clk: sunxi: add PRCM (Power/Reset/Clock Management) clks support 2014-06-11 10:25:02 +02:00
tegra Merge branch 'clk-fixes' into clk-next 2014-05-28 00:15:10 -07:00
ti clk: ti: set CLK_SET_RATE_NO_REPARENT for ti,mux-clock 2014-06-19 14:52:32 +03:00
ux500 clk: ux500: Staticize ux500_twocell_get 2014-02-23 15:04:40 -08:00
versatile The clock framework changes for 3.16 are pretty typical: mostly clock 2014-06-07 20:27:30 -07:00
x86 ACPI / LPSS: add support for Intel BayTrail 2013-06-19 01:08:47 +02:00
zynq clk: zynq: Leave debug clocks in bootup state 2014-04-22 13:10:18 +02:00
clk-axi-clkgen.c clk: axi-clkgen: Add support for v2 2014-02-26 17:02:29 -08:00
clk-axm5516.c clk: Add clock driver for AXM55xx SoC 2014-05-22 22:06:14 -07:00
clk-bcm2835.c ARM: bcm2835: remove custom .init_time hook 2013-09-29 21:09:24 +02:00
clk-composite.c clk: composite: pass mux_hw into determine_rate 2014-01-15 07:48:03 -08:00
clk-devres.c ARM: 7537/1: clk: Fix release in devm_clk_put() 2012-09-19 21:51:27 +01:00
clk-divider.c clk: divider: Fix overflow in clk_divider_bestdiv 2014-05-27 19:16:24 -07:00
clk-efm32gg.c clk: new driver for efm32 SoC 2013-11-04 12:23:18 -08:00
clk-fixed-factor.c Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial 2013-11-15 16:47:22 -08:00
clk-fixed-rate.c clk: add accuracy support for fixed clock 2013-12-22 23:14:28 -08:00
clk-fractional-divider.c clk: new basic clk type for fractional divider 2014-05-20 13:34:02 +02:00
clk-gate.c clk: wrap I/O access for improved portability 2013-08-27 17:50:38 -07:00
clk-highbank.c ARM: highbank: remove custom .init_time hook 2013-09-29 21:09:29 +02:00
clk-ls1x.c clk: add Loongson1B clock support 2012-08-31 11:05:18 -07:00
clk-max77686.c clk: max77686: Register OF clock provider 2014-01-08 09:57:07 -08:00
clk-moxart.c clk: add MOXA ART SoCs clock driver 2014-03-18 17:13:14 -07:00
clk-mux.c clk: wrap I/O access for improved portability 2013-08-27 17:50:38 -07:00
clk-nomadik.c clk: nomadik: fix multiplatform problem 2014-02-26 11:14:44 -08:00
clk-nspire.c clk: Add TI-Nspire clock drivers 2013-05-31 12:07:45 -07:00
clk-ppc-corenet.c clk: mpc85xx: Update the driver to align to new clock bindings 2014-03-19 17:04:14 -07:00
clk-s2mps11.c clk: s2mps11: Add support for S2MPS14 clocks 2014-05-23 15:44:03 -07:00
clk-si570.c clk: si570: Fix email address specifiction 2014-05-20 16:18:18 +02:00
clk-si5351.c The second half of the clock framework pull requeust for 3.14 is 2014-01-28 18:44:53 -08:00
clk-si5351.h clk: si5351: remove variant from platform_data 2014-01-27 11:20:22 -08:00
clk-twl6040.c clk: use platform_{get,set}_drvdata() 2013-05-30 18:19:34 -07:00
clk-u300.c clk: u300: Terminate of match table 2014-05-27 18:29:04 -07:00
clk-vt8500.c clk: vt8500: Staticize vtwm_pll_ops 2013-12-19 17:47:32 -08:00
clk-wm831x.c clk: wm831x: get rid of the implementation of remove function 2013-10-02 01:23:34 -07:00
clk-xgene.c clk: Add APM X-Gene SoC clock driver 2013-10-07 11:22:15 -07:00
clk.c clk: export __clk_round_rate for providers 2014-06-03 10:38:16 -07:00
clk.h clk: Add of_clk_get_by_clkspec() helper 2014-05-22 15:54:59 -07:00
clkdev.c clk: Add of_clk_get_by_clkspec() helper 2014-05-22 15:54:59 -07:00
Kconfig The clock framework changes for 3.16 are pretty typical: mostly clock 2014-06-07 20:27:30 -07:00
Makefile The clock framework changes for 3.16 are pretty typical: mostly clock 2014-06-07 20:27:30 -07:00