linux/drivers/clk/imx
Peng Fan dee1bc9c23 clk: imx: pll14xx: avoid glitch when set rate
According to PLL1443XA and PLL1416X spec,
"When BYPASS is 0 and RESETB is changed from 0 to 1, FOUT starts to
output unstable clock until lock time passes. PLL1416X/PLL1443XA may
generate a glitch at FOUT."

So set BYPASS when RESETB is changed from 0 to 1 to avoid glitch.
In the end of set rate, BYPASS will be cleared.

When prepare clock, also need to take care to avoid glitch. So
we also follow Spec to set BYPASS before RESETB changed from 0 to 1.
And add a check if the RESETB is already 0, directly return 0;

Fixes: 8646d4dcc7 ("clk: imx: Add PLLs driver for imx8mm soc")
Reviewed-by: Leonard Crestez <leonard.crestez@nxp.com>
Signed-off-by: Peng Fan <peng.fan@nxp.com>
Link: https://lkml.kernel.org/r/1568043491-20680-2-git-send-email-peng.fan@nxp.com
Signed-off-by: Stephen Boyd <sboyd@kernel.org>
2019-09-17 22:53:34 -07:00
..
clk-busy.c This round of clk driver and framework updates is heavy on the driver update 2019-07-17 10:07:48 -07:00
clk-composite-7ulp.c clk: imx: add imx7ulp composite clk support 2018-12-03 11:31:36 -08:00
clk-composite-8m.c clk: Remove io.h from clk-provider.h 2019-05-15 13:21:37 -07:00
clk-cpu.c This round of clk driver and framework updates is heavy on the driver update 2019-07-17 10:07:48 -07:00
clk-divider-gate.c clk: core: replace clk_{readl,writel} with {readl,writel} 2019-04-23 10:57:49 -07:00
clk-fixup-div.c This round of clk driver and framework updates is heavy on the driver update 2019-07-17 10:07:48 -07:00
clk-fixup-mux.c This round of clk driver and framework updates is heavy on the driver update 2019-07-17 10:07:48 -07:00
clk-frac-pll.c clk: Remove io.h from clk-provider.h 2019-05-15 13:21:37 -07:00
clk-gate2.c This round of clk driver and framework updates is heavy on the driver update 2019-07-17 10:07:48 -07:00
clk-gate-exclusive.c This round of clk driver and framework updates is heavy on the driver update 2019-07-17 10:07:48 -07:00
clk-imx1.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 336 2019-06-05 17:37:07 +02:00
clk-imx5.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500 2019-06-19 17:09:55 +02:00
clk-imx6q.c This round of clk driver and framework updates is heavy on the driver update 2019-07-17 10:07:48 -07:00
clk-imx6sl.c This round of clk driver and framework updates is heavy on the driver update 2019-07-17 10:07:48 -07:00
clk-imx6sll.c Merge branches 'clk-rpi-cpufreq', 'clk-tegra', 'clk-simplify-provider.h', 'clk-sprd' and 'clk-at91' into clk-next 2019-07-12 11:11:30 -07:00
clk-imx6sx.c This round of clk driver and framework updates is heavy on the driver update 2019-07-17 10:07:48 -07:00
clk-imx6ul.c This round of clk driver and framework updates is heavy on the driver update 2019-07-17 10:07:48 -07:00
clk-imx7d.c This round of clk driver and framework updates is heavy on the driver update 2019-07-17 10:07:48 -07:00
clk-imx7ulp.c clk: imx7ulp: Make sure earlycon's clock is enabled 2019-08-03 10:54:44 +02:00
clk-imx8mm.c clk: imx8mm: Fix incorrect parents 2019-08-19 13:54:30 +02:00
clk-imx8mn.c clk: imx: imx8mn: fix audio pll setting 2019-08-24 21:04:27 +02:00
clk-imx8mq.c clk: imx8mq: Fix sys3 pll references 2019-08-19 13:54:18 +02:00
clk-imx8qxp-lpcg.c clk: imx8: Add DSP related clocks 2019-08-03 09:16:02 +02:00
clk-imx8qxp-lpcg.h clk: imx: add imx8qxp lpcg driver 2018-12-14 13:01:14 -08:00
clk-imx8qxp.c clk: imx: scu: add fallback compatible string support 2019-02-21 12:41:16 -08:00
clk-imx21.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 152 2019-05-30 11:26:32 -07:00
clk-imx25.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 1 2019-05-21 11:28:39 +02:00
clk-imx27.c clk: Remove io.h from clk-provider.h 2019-05-15 13:21:37 -07:00
clk-imx31.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 21 2019-05-21 11:28:47 +02:00
clk-imx35.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500 2019-06-19 17:09:55 +02:00
clk-lpcg-scu.c clk: imx: add lpcg clock support 2018-12-14 13:00:51 -08:00
clk-pfd.c This round of clk driver and framework updates is heavy on the driver update 2019-07-17 10:07:48 -07:00
clk-pfdv2.c clk: Remove io.h from clk-provider.h 2019-05-15 13:21:37 -07:00
clk-pll14xx.c clk: imx: pll14xx: avoid glitch when set rate 2019-09-17 22:53:34 -07:00
clk-pllv1.c We have two changes to the core framework this time around. The first being a 2017-11-17 20:04:24 -08:00
clk-pllv2.c clk: imx: pllv2: avoid using uninitialized values 2018-03-16 15:40:41 -07:00
clk-pllv3.c This round of clk driver and framework updates is heavy on the driver update 2019-07-17 10:07:48 -07:00
clk-pllv4.c clk: Remove io.h from clk-provider.h 2019-05-15 13:21:37 -07:00
clk-sccg-pll.c clk: Remove io.h from clk-provider.h 2019-05-15 13:21:37 -07:00
clk-scu.c clk: imx: scu: add cpu frequency scaling support 2019-02-26 10:03:38 -08:00
clk-scu.h clk: imx: scu: add set parent support 2019-02-21 12:41:16 -08:00
clk-vf610.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 152 2019-05-30 11:26:32 -07:00
clk.c clk: imx: Add API for clk unregister when driver probe fail 2019-08-03 09:16:01 +02:00
clk.h clk: imx: Remove unused function statement 2019-08-03 10:56:37 +02:00
Kconfig clk: imx: Add support for i.MX8MN clock driver 2019-08-03 09:16:02 +02:00
Makefile clk: imx: Add support for i.MX8MN clock driver 2019-08-03 09:16:02 +02:00