mail archive of the barebox mailing list
 help / color / mirror / Atom feed
* [PATCH v3 0/6] clk: imx6: work around LDB hang caused by ERR009219
@ 2019-07-17 17:05 Ahmad Fatoum
  2019-07-17 17:05 ` [PATCH v3 1/6] clk: imx6: fix use of cpu_is_mx6* before they are initialized Ahmad Fatoum
                   ` (5 more replies)
  0 siblings, 6 replies; 15+ messages in thread
From: Ahmad Fatoum @ 2019-07-17 17:05 UTC (permalink / raw)
  To: barebox; +Cc: Andrey Smirnov

Short version:

barebox always reparents the ldb_di[01] clocks to pll5_video_div.
Due to a hardware erratum, this can trigger a glitch that causes
LDB lock up.

Thus:

1) remove the automatic reparenting, like the kernel now does and
   mark the affected clocks read only, so assigned-clock-parents
   can't affect them
2) parse assigned-clock-parents in the clk-imx6 code as well, but
   there use a convoluted non-glitchy work around to apply them

Long version available alongside v1 here:
https://www.spinics.net/lists/u-boot-v2/msg37658.html
and in the commit messages of the patches.
v2 is available here:
https://www.spinics.net/lists/u-boot-v2/msg37970.html

Changes since v2:
 - reordered commits to avoid intermittent breakage, final
   diff unaffected
 - prepended a commit fixing premature use of cpu_is_mx6
 - fixed brace placement of cpu_(mx6_)?has_err009219
 - changed commits to use cpu_mx6_is_mx6*, all suggested by Andrey
 - updated commit messages, collected Andrey's Tested-By and
   Philipp's Reviewed-By

Changes since v1:
 - reordered/squashed commits after discussion with Sascha and Phillip
 - removed superfluous comment
 - add MUX_READ_ONLY at the correct place in the MUX_READ_ONLY arguments

Except for the last two, the total diff, is exactly the same
as v1's.

Ahmad Fatoum (3):
  clk: imx6: fix use of cpu_is_mx6* before they are initialized
  clk: imx6: remove quirky clk_set_parent(LDB_diN_sel, pll5_video_div)
  clk: imx6: define an enum for ldb mux inputs

Fabio Estevam (1):
  clk: imx6: Fix procedure to switch the parent of LDB_DI_CLK

Philipp Zabel (2):
  clk: imx6: Mask mmdc_ch1 handshake for periph2_sel and
    mmdc_ch1_axi_podf
  clk: imx6: Make the LDB_DI0 and LDB_DI1 clocks read-only

 drivers/clk/imx/clk-imx6.c | 329 ++++++++++++++++++++++++++++++++++---
 drivers/clk/imx/clk.h      |   8 +
 2 files changed, 317 insertions(+), 20 deletions(-)

-- 
2.20.1


_______________________________________________
barebox mailing list
barebox@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/barebox

^ permalink raw reply	[flat|nested] 15+ messages in thread

end of thread, other threads:[~2019-09-10 14:07 UTC | newest]

Thread overview: 15+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-07-17 17:05 [PATCH v3 0/6] clk: imx6: work around LDB hang caused by ERR009219 Ahmad Fatoum
2019-07-17 17:05 ` [PATCH v3 1/6] clk: imx6: fix use of cpu_is_mx6* before they are initialized Ahmad Fatoum
2019-07-17 17:10   ` Ahmad Fatoum
2019-07-18 15:51     ` Ahmad Fatoum
2019-07-17 17:06 ` [PATCH v3 2/6] clk: imx6: Mask mmdc_ch1 handshake for periph2_sel and mmdc_ch1_axi_podf Ahmad Fatoum
2019-07-17 17:06 ` [PATCH v3 3/6] clk: imx6: remove quirky clk_set_parent(LDB_diN_sel, pll5_video_div) Ahmad Fatoum
2019-07-17 17:06 ` [PATCH v3 4/6] clk: imx6: Make the LDB_DI0 and LDB_DI1 clocks read-only Ahmad Fatoum
2019-07-18  8:19   ` Roland Hieber
2019-07-18  8:25     ` Ahmad Fatoum
2019-07-18  8:33       ` Roland Hieber
2019-08-05 10:22       ` Sascha Hauer
2019-07-17 17:06 ` [PATCH v3 5/6] clk: imx6: Fix procedure to switch the parent of LDB_DI_CLK Ahmad Fatoum
2019-09-10 13:15   ` Sascha Hauer
2019-09-10 14:07     ` Ahmad Fatoum
2019-07-17 17:06 ` [PATCH v3 6/6] clk: imx6: define an enum for ldb mux inputs Ahmad Fatoum

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox