From: Ahmad Fatoum <a.fatoum@pengutronix.de>
To: Philipp Zabel <p.zabel@pengutronix.de>, barebox@lists.infradead.org
Cc: Andrey Smirnov <andrew.smirnov@gmail.com>,
pza@pengutronix.de, Raphael Poggi <poggi.raph@gmail.com>
Subject: Re: [PATCH v2 1/5] clk: imx6: remove quirky clk_set_parent(LDB_diN_sel, pll5_video_div)
Date: Thu, 23 May 2019 12:28:54 +0200 [thread overview]
Message-ID: <2b0a2e0d-e2f2-de05-de37-c4c0e41b2b37@pengutronix.de> (raw)
In-Reply-To: <1558605680.5135.4.camel@pengutronix.de>
On 23/5/19 12:01, Philipp Zabel wrote:
> On Tue, 2019-05-21 at 17:56 +0200, Ahmad Fatoum wrote:
>> barebox has inherited the clk_set_parent(ldb_diN_sel, pll5_video_div)
>> from upstream kernel commit 32f3b8da22 ("ARM i.MX6q: set the LDB serial
>> clock parent to the video PLL"), where it was enabled for all i.MX6Q
>> revisions after 1.0. It was applied whenever CONFIG_DRIVER_VIDEO_IMX_IPUV3
>> was defined.
>>
>> The kernel removed this reparenting again as a preventive measure
>> against ERR009219 in 03d576f202 ("clk: imx6: Make the LDB_DI0 and
>> LDB_DI1 clocks read-only").
>>
>> As the kernel used the device tree compatible, which is the same
>> for e.g. i.MX6Solo and DualLite, but barebox queried ANATOP which
>> lists different CPU types for i.MX6Solo and DualLite and because
>> i.MX6QuadPlus wasn't supported at first, barebox grew to do
>> the reparenting on the odd set of:
>> - Quad and Dual rev >1.0
>> - DualLite
>> - Solo rev >1.0
>> - QuadPlus and DualPlus rev >1.0
>>
>> On all of these, except for the QuadPlus and the DualPlus, this
>> reparenting may glitch the LDB so that it permanently locks up.
>>
>> By removing the reparenting in this commit, producing this glitch is
>> avoided, unless the device tree[1] reinstates the old behavior:
>>
>> &clks {
>> assigned-clocks = <&clks IMX6QDL_CLK_LDB_DI0_SEL>,
>> <&clks IMX6QDL_CLK_LDB_DI1_SEL>;
>> assigned-clock-parents = <&clks IMX6QDL_CLK_PLL5_VIDEO_DIV>,
>> <&clks IMX6QDL_CLK_PLL5_VIDEO_DIV>;
>> };
>>
>> Follow-up patches will explicitly check for this and do the reparenting
>> in a glitch-free manner.
>>
>> As of v2019.03.0, following mainline boards are potentially broken
> ^^^^^^^^^^
> This Barebox version is out of date.
git diff --name-status v2019.03.0..upstream/next arch/arm/dts | grep ^A.*imx6
reports only one i.MX6UL board, so the list is still accurate,
just the header isn't.
>
>> by this (i.e. they're supported by barebox, are in the list above,
>> had a LDB enabled and might be defining CONFIG_DRIVER_VIDEO_IMX_IPUV3):
>> - imx6qdl-zii-rdu2.dtsi
>> - imx6qdl-udoo.dtsi
>> - imx6qdl-mba6x.dtsi
>> - imx6q-var-custom.dts
>> - imx6q-guf-santaro.dts
>> - imx6q-embedsky-e9.dtsi
>
> Besides RDU2 and Santaro these are all development boards.
> UDOO, E9, and MBa6x have monitor connectors, so using PLL5 for LVDS may
> be the wrong thing anyway, depending on the connected panel, and on
> whether the HDMI/DVI connector is going to be used.
>
> For RDU2 and Santaro I think we need the above DT change. Both don't
> have HDMI connectors, which makes PLL5 the correct clock to use, and I
> can't see any other place where LDB_DI clocks are switched to it.
I see. Andrey and Sascha added those, so I'll leave it to them to decide.
>
>> [1]: If barebox is configured to show a boot splash screen, this snippet
>> should exist in the barebox device tree. If barebox acts on it, the
>> kernel will show following warning:
>> ccm: ldb_di0_sel already changed from reset value: 0
>> ccm: ldb_di1_sel already changed from reset value: 0
>> This warning is safe to ignore.
>>
>> Cc: Andrey Smirnov <andrew.smirnov@gmail.com>
>> Cc: Raphael Poggi <poggi.raph@gmail.com>
>> Cc: Sascha Hauer <s.hauer@pengutronix.de>
>> Cc: Lucas Stach <l.stach@pengutronix.de>
>> Cc: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
>> Signed-off-by: Ahmad Fatoum <a.fatoum@pengutronix.de>
>
> Apart from that,
> Reviewed-by: Philipp Zabel <p.zabel@pengutronix.de>
Thanks for the review!
Cheers
Ahmad
>
> regards
> Philipp
>
--
Pengutronix e.K. | |
Industrial Linux Solutions | http://www.pengutronix.de/ |
Peiner Str. 6-8, 31137 Hildesheim, Germany | Phone: +49-5121-206917-0 |
Amtsgericht Hildesheim, HRA 2686 | Fax: +49-5121-206917-5555 |
_______________________________________________
barebox mailing list
barebox@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/barebox
next prev parent reply other threads:[~2019-05-23 10:29 UTC|newest]
Thread overview: 28+ messages / expand[flat|nested] mbox.gz Atom feed top
2019-05-21 15:56 [PATCH v2 0/5] clk: imx6: work around LDB hang caused by ERR009219 Ahmad Fatoum
2019-05-21 15:56 ` [PATCH v2 1/5] clk: imx6: remove quirky clk_set_parent(LDB_diN_sel, pll5_video_div) Ahmad Fatoum
2019-05-23 10:01 ` Philipp Zabel
2019-05-23 10:28 ` Ahmad Fatoum [this message]
2019-05-26 21:55 ` Andrey Smirnov
2019-05-27 6:29 ` Ahmad Fatoum
2019-05-27 6:50 ` Andrey Smirnov
2019-05-27 7:23 ` Ahmad Fatoum
2019-05-27 7:28 ` Andrey Smirnov
2019-05-27 7:49 ` Ahmad Fatoum
2019-05-27 8:02 ` Andrey Smirnov
2019-05-27 9:19 ` Ahmad Fatoum
2019-05-27 7:25 ` Andrey Smirnov
2019-05-27 7:39 ` Ahmad Fatoum
2019-05-21 15:56 ` [PATCH v2 2/5] clk: imx6: Make the LDB_DI0 and LDB_DI1 clocks read-only Ahmad Fatoum
2019-05-23 10:01 ` Philipp Zabel
2019-05-27 7:01 ` Andrey Smirnov
2019-05-27 7:38 ` Ahmad Fatoum
2019-05-21 15:56 ` [PATCH v2 3/5] clk: imx6: Mask mmdc_ch1 handshake for periph2_sel and mmdc_ch1_axi_podf Ahmad Fatoum
2019-05-23 10:01 ` Philipp Zabel
2019-05-21 15:56 ` [PATCH v2 4/5] clk: imx6: Fix procedure to switch the parent of LDB_DI_CLK Ahmad Fatoum
2019-05-23 10:03 ` Philipp Zabel
2019-05-26 21:58 ` Andrey Smirnov
2019-05-27 7:04 ` Andrey Smirnov
2019-05-21 15:56 ` [PATCH v2 5/5] clk: imx6: define an enum for ldb mux inputs Ahmad Fatoum
2019-05-23 10:03 ` Philipp Zabel
2019-05-23 10:35 ` Ahmad Fatoum
2019-05-26 21:59 ` [PATCH v2 0/5] clk: imx6: work around LDB hang caused by ERR009219 Andrey Smirnov
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=2b0a2e0d-e2f2-de05-de37-c4c0e41b2b37@pengutronix.de \
--to=a.fatoum@pengutronix.de \
--cc=andrew.smirnov@gmail.com \
--cc=barebox@lists.infradead.org \
--cc=p.zabel@pengutronix.de \
--cc=poggi.raph@gmail.com \
--cc=pza@pengutronix.de \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox