On Fri, Mar 8, 2019 at 11:12 AM Sam Ravnborg <sam@xxxxxxxxxxxx> wrote: > > Hi Thierry. > On Fri, Mar 08, 2019 at 02:39:24PM +0100, Thierry Reding wrote: > > On Fri, Mar 08, 2019 at 02:01:48PM +0100, Sam Ravnborg wrote: > > > > One thing that's not clear to me is whether or not we want to allow > > > > video timings to be specified in DT. I used to think that we didn't, > > > > because the video timings are implied by the specific compatible string > > > > (which we already determined is mandatory anyway), > > > > > > We often have two users of the timings for a simple panel. > > > First we have the bootloader that may present something on the > > > panel - next step it then the kernel. > > > > > > Bootloaders such as U-boot and barebox supports devicetree. > > > So with the timings specified in the devicetree there are three > > > users that can use the timings, and it is simple to share the > > > timing specifications. > > > > I think this is not true in practice. As far as I know U-Boot and Linux > > don't share the device tree. So we wouldn't actually be sharing the > > video timings, we'd be duplicating them. And whether we duplicate them > > in code or DT isn't really all that different. > U-boot copies selected DT files from the kernel to U-boot. > barebox has a (sanitized?) set of DT files from the kernel, with > barebox specifics added on top of it. This receives updates from the kernel > more or less for each kernel rc. > The origin of the DT files are the kernel, but they keep copies > for various reasons. And their update process from the kernel differs. > > In other words - barebox uses the kernel DT files in practice. > U-boot in practice have their own copy (as I see it - did not look to close) While barebox does a more automated sync, u-boot does do ad-hoc copying of dts files from the kernel. And while it's typically a dtb for u-boot and a dtb for the kernel, there is effort to make that be the same dtb. > > > As it is now one has to patch the kernel to add a panel to panel-simple, > > > and add timing to device tree to let barebox use it. > > > > > > So it would be good once and for all to have the rules specified. > > > And the preferred solution is to have timing in the devicetree > > > so we can use it both in the kernel and in the bootloaders. > > > > This is *exactly* the same argument that I've heard many times before. > > And it is still overly simplistic. Video timings are just one part of > > the description of the panel. In most cases you need at least also a > > power sequence. > There are panels that are compatibe with panel-simple and there are the > other panels. > My comment is solely for the panel-simple compatible panels, where > we already know stuff like power sequence and such. > > There are today a lot of panels in that group and in my tree there > is patches waiting to add another three panels. > This is panels that "just works" with barebox with timings(*) specified > in the DT and for the kernel requires a patch to panle-simple. > > There are obviously a lot of panels that have additioanl requirements, > but then this is not "panle-simple" compatible panels and outside the > scope of my request. Part of the problem with panel-simple is that it works at the beginning and not as a platform progresses. Initially perhaps there is no power control, but then that's added later. I've seen all to often folks claiming panels "follow the simple-panel binding" and yet it turns out that the panel has multiple power rails. Rob