[PATCH 1/2] opos6uldev: make the LCD work again

Conor Dooley conor.dooley at microchip.com
Fri Mar 1 14:32:53 CET 2024


Hey,

Replying here because this is only version of this in my inbox atm.

On Fri, Mar 01, 2024 at 10:17:35AM +0100, Sébastien Szymanski wrote:
> On 3/1/24 07:02, Sumit Garg wrote:
> > On Thu, 29 Feb 2024 at 19:31, Tom Rini <trini at konsulko.com> wrote:
> > > On Thu, Feb 29, 2024 at 08:42:42AM -0500, Tom Rini wrote:
> > > > On Thu, Feb 29, 2024 at 11:17:28AM +0530, Sumit Garg wrote:
> > > > > On Wed, 28 Feb 2024 at 20:50, Tom Rini <trini at konsulko.com> wrote:
> > > > > > On Wed, Feb 28, 2024 at 07:44:42PM +0530, Sumit Garg wrote:
> > > > > > > On Wed, 28 Feb 2024 at 18:40, Tom Rini <trini at konsulko.com> wrote:
> > > > > > > > 
> > > > > > > > On Wed, Feb 28, 2024 at 10:09:13AM +0300, Dan Carpenter wrote:
> > > > > > > > > On Tue, Feb 27, 2024 at 04:40:01PM +0100, Sébastien Szymanski wrote:
> > > > > > > > > > Commit 5d7a95f49999 ("imx6ul/imx6ull: synchronise device trees with
> > > > > > > > > > linux") removed the display timings from the board device tree whereas
> > > > > > > > > > they are still needed by the mxsfb driver.
> > > > > > > > > > Add the timings back (the correct ones) in the
> > > > > > > > > > imx6ul-opos6uldev-u-boot.dtsi file and remove them from the
> > > > > > > > > > opos6uldev.env file.
> > > > > > > > > > 
> > > > > > > > > > Update the opos6uldev_defconfig file so that the LCD turns on at boot.
> > > > > > > > > > 
> > > > > > > > > > Fixes: 5d7a95f49999 ("imx6ul/imx6ull: synchronise device trees with linux")
> > > > > > > > > > Signed-off-by: Sébastien Szymanski <sebastien.szymanski at armadeus.com>
> > > > > > > > > 
> > > > > > > > > Huh.  This is the commit that did that upstream.
> > > > > > > > > 
> > > > > > > > > https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=d9aa4d4fca67823838fe9861456201430c545e69
> > > > > > > > > 
> > > > > > > > > It's interesting how the timings in linux were always slightly different
> > > > > > > > > from in u-boot.
> > > > > > > > 
> > > > > > > > Thanks for tracking that down, Dan. I'm adding in Sumit and Rob here
> > > > > > > > because this is a recent (rather than ancient) example of one of the
> > > > > > > > concerns about OF_UPSTREAM.
> > > > > > > 
> > > > > > > I rather think about this as an opportunity to improve with
> > > > > > > OF_UPSTREAM. We can feed these kinds of DT ABI breakages to
> > > > > > > corresponding Linux kernel sub-arch maintainers. Especially once we
> > > > > > > move to OF_UPSTREAM and a sub-arch maintainer profile in Linux kernel
> > > > > > > to keep them aware that U-Boot should be considered too.
> > > > > > 
> > > > > > Yes, a more extensive check around when removing information from dts
> > > > > > files would be good.

Whenever people remove things from bindings (or from being required) we
do ask them "have you checked that there's no users for this outside of
linux" - but for me at least I don't apply that scrutiny for most (read
arm{,64}) devicetrees. There's just too much volume if I went asking
those questions on every removal, it's up to the platform maintainers to
keep an eye on that.

That said, modifications to a devicetree are fixable with a revert,
while modifications to a binding may not really be fixable in a way that
isn't disruptive for some user, so I think that I am spending my time
wisely.

> > > > > > > > I think the commit in question can be
> > > > > > > > summarized as "remove a bunch of explicit HW information because there's
> > > > > > > > now a Linux Kernel driver that determines that dynamically". What do we
> > > > > > > > do next? The old information is in a presumably valid binding still, can
> > > > > > > > we just put it back and comment that consumers outside of Linux use this
> > > > > > > > still so it's not removed again later? Or am I just missing where we can
> > > > > > > > instead get this information from the DT still and not need to come up
> > > > > > > > with a new driver and subsystems?

I don't think this is an accurate summary. The "explict hw information"
was never allowed for an imx6ul, only for some older devices, so "the
old information is in a presumably valid binding" is not accurate.
See 7b920aae917d ("dt-bindings: mxsfb: Add new bindings for the MXSFB
driver") for when doing things that way was deprecated. The imx6ul was
only documented several years after it was introduced (so likely several
years after it started incorrectly using that binding).

Seeing that, I am not sure that I would even question the kernel patch
cited above, the change was done for binding compliance and I would not
be inclined to think twice, given the bindings are the ABI.

Cheers,
Conor.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 228 bytes
Desc: not available
URL: <https://lists.denx.de/pipermail/u-boot/attachments/20240301/f10d801d/attachment.sig>


More information about the U-Boot mailing list