linux-stable/drivers/clk/imx
Anson Huang ba7f4f557e clk: imx: correct AV PLL rate formula
The audio/video PLL's rate calculation is as below in RM:

Fref * (DIV_SELECT + NUM / DENOM), in origin clk-pllv3's
code, below code is used:

(parent_rate * div) + ((parent_rate / mfd) * mfn

as it does NOT consider the float data using div, so below
formula should be used as a decent method:

(parent_rate * div) + ((parent_rate * mfn) / mfd)

and we also need to consider parent_rate * mfd may overflow
a 32 bit value, 64 bit value should be used.

After updating this formula, the dram PLL's rate is
1066MHz, which is correct, while the old formula gets
1056MHz.

[Aisheng: fix clk_pllv3_av_round_rate too]

Signed-off-by: Anson Huang <b20788@freescale.com>
Signed-off-by: Dong Aisheng <aisheng.dong@nxp.com>
Signed-off-by: Shawn Guo <shawnguo@kernel.org>
2016-06-12 19:25:38 +08:00
..
clk-busy.c clk: move the common clock's to_clk_*(_hw) macros to clk-provider.h 2016-01-29 12:59:50 -08:00
clk-cpu.c
clk-fixup-div.c clk: move the common clock's to_clk_*(_hw) macros to clk-provider.h 2016-01-29 12:59:50 -08:00
clk-fixup-mux.c clk: move the common clock's to_clk_*(_hw) macros to clk-provider.h 2016-01-29 12:59:50 -08:00
clk-gate-exclusive.c clk: move the common clock's to_clk_*(_hw) macros to clk-provider.h 2016-01-29 12:59:50 -08:00
clk-gate2.c clk: imx: clk-gate2: allow custom gate configuration 2016-03-31 17:01:55 +08:00
clk-imx1.c clk: i.MX: Remove clk.h include 2015-07-20 10:52:49 -07:00
clk-imx6q.c clk: imx6q: fix typo in CAN clock definition 2016-04-13 15:27:15 +08:00
clk-imx6sl.c clk: imx6: Add SPDIF_GCLK clock in clock tree 2015-10-12 21:55:59 +08:00
clk-imx6sx.c clk: imx6sx: Register SAI clocks as shared clocks 2016-03-31 14:36:42 +08:00
clk-imx6ul.c clk: imx: add kpp clock for i.MX6UL 2016-02-28 10:45:29 +08:00
clk-imx7d.c clk: imx7d: fix ahb clock mux 1 2016-05-03 20:35:38 +08:00
clk-imx21.c clk: i.MX: Remove clk.h include 2015-07-20 10:52:49 -07:00
clk-imx25.c clk: imx25: Remove osc clock from driver 2015-11-25 11:49:42 +08:00
clk-imx27.c clk: imx27: add missing of_node_put 2015-10-21 16:16:34 -07:00
clk-imx31.c clk: imx31: add missing of_node_put 2015-10-21 16:16:34 -07:00
clk-imx35.c ARM: dts: imx35: restore existing used clock enumeration 2016-04-18 12:37:21 +08:00
clk-imx51-imx53.c clk: imx5: ipu_di_sel clocks can set parent rates 2015-12-02 21:02:33 +08:00
clk-pfd.c clk: i.MX: Remove clk.h include 2015-07-20 10:52:49 -07:00
clk-pllv1.c imx/clk-pllv1: fix wrong do_div() usage 2015-11-30 12:58:35 -08:00
clk-pllv2.c imx/clk-pllv2: fix wrong do_div() usage 2015-11-30 12:58:38 -08:00
clk-pllv3.c clk: imx: correct AV PLL rate formula 2016-06-12 19:25:38 +08:00
clk-vf610.c clk: imx: vf610: add TCON ipg clock 2016-04-12 09:22:17 +08:00
clk.c clk: imx: add common logic to detect early UART usage 2015-09-25 21:58:41 -07:00
clk.h clk: imx: clk-gate2: allow custom gate configuration 2016-03-31 17:01:55 +08:00
Makefile clk: imx: add imx6ul clk tree support 2015-07-14 15:02:13 +08:00