[PATCH v3 0/3] i.MX6 LDB mux/divider glitch workaround
Philipp Zabel
p.zabel at pengutronix.de
Fri Jan 22 03:11:25 PST 2016
Hi,
The previous version was broken for i.MX6S/DL since
disable_anatop_clocks() would try to check the parent of clk_periph_pre,
but it was called before clk_periph_pre was registered.
disable_anatop_clocks() then went on and failed to not disable the
memory clock.
So it appears there is a yet unreleased ERR009219, which I have not yet
seen, that supposedly describes the LDB mux glitch issue, and a draft
engineering bulletin EB821 that describes the clock switching procedure.
Shawn, do you have access to these documents?
Especially the comment explaining init_ldb_clks() should be double checked
against the erratum once available, as that contains my interpretation of
the original patch comment.
regards
Philipp
Changes since v2:
- Fix DL/S support. disable_anatop_clocks() checks whether pll2_pfd2_396m
is the parent of clk_periph_pre to avoid disabling the memory clock.
For this to work, disable_anatop_clocks() must be called only after
clk_periph_pre is registered.
- Replace magic numbers with #defines
- Improve the comment describing init_ldb_di_clks()
- Improve selection checking and error messages
Fabio Estevam (1):
ARM: imx6: Fix procedure to switch the parent of LDB_DI_CLK
Philipp Zabel (2):
ARM: imx6: Mask mmdc_ch1 handshake for periph2_sel and
mmdc_ch1_axi_podf
ARM: imx6: Make the LDB_DI0 and LDB_DI1 clocks read-only.
drivers/clk/imx/clk-imx6q.c | 294 ++++++++++++++++++++++++++++++++++++++++++--
drivers/clk/imx/clk.h | 8 ++
2 files changed, 292 insertions(+), 10 deletions(-)
--
2.7.0.rc3
More information about the linux-arm-kernel
mailing list