Thread (1 message) 1 message, 1 author, 2012-07-05

Re: [PATCH v2] of: Add videomode helper

From: Sascha Hauer <s.hauer@pengutronix.de>
Date: 2012-07-05 18:39:45
Also in: dri-devel, linux-devicetree

On Thu, Jul 05, 2012 at 09:51:39AM -0500, Rob Herring wrote:
On 07/04/2012 02:56 AM, Sascha Hauer wrote:
quoted
+
+There are different ways of describing a display mode. The devicetree representation
+corresponds to the one used by the Linux Framebuffer framework described here in
+Documentation/fb/framebuffer.txt. This representation has been chosen because it's
+the only format which does not allow for inconsistent parameters.Unlike the Framebuffer
+framework the devicetree has the clock in Hz instead of ps.
This implies you are putting linux settings into DT rather than
describing the h/w. I'm not saying the binding is wrong, but documenting
it this way makes it seem so.
The major reason to use these values was that they do not allow for
inconsistent values (as opposed to for example with hsync_start which you
would have to check for hsync_start >= xres).
I could rephrase this if it looks too much like modelled-after-Linux
instead of modelled-after-hardware.
One important piece missing (and IIRC linux doesn't really support) is
defining the pixel format of the interface.
I could use this aswell. I think this can be specified as additional
properties later, right? I'm afraid this needs a lot of discussion so
we should delay this to the next round.
quoted
+Example:
+
+	display@0 {
+		/* 1920x1080p24 */
+		clock = <52000000>;
Should this use the clock binding? You probably need both constraints
and clock binding though.
Is the clock binding suitable for this? Here we are not interested where
the clock comes from, but instead which range is allowed.
Often you don't know the frequency up front and/or have limited control
of the frequency (i.e. integer dividers). Then you have to adjust the
margins to get the desired refresh rate. To do that, you need to know
the ranges of values a panel can support. Perhaps you just assume you
can increase the right-margin and lower-margins as I think you will hit
pixel clock frequency max before any limit on margins.
Most datasheets specify min,typ,max triplets. We could do this instead
of using single fixed values for the margins:

	left_margin = <0 10 40>;

Right now we have nothing in the kernel that could handle this, but
getting the interface to the devicetree right seems indeed important.

Sascha

-- 
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 |
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help