Best practice device tree design for display subsystems/DRM

Inki Dae inki.dae at samsung.com
Wed Jul 3 02:48:41 PDT 2013



> -----Original Message-----
> From: Sebastian Hesselbarth [mailto:sebastian.hesselbarth at gmail.com]
> Sent: Wednesday, July 03, 2013 6:09 PM
> To: Sascha Hauer
> Cc: Inki Dae; 'Daniel Drake'; 'Jean-Francois Moine'; devicetree-
> discuss at lists.ozlabs.org; 'Russell King'; dri-devel at lists.freedesktop.org
> Subject: Re: Best practice device tree design for display subsystems/DRM
> 
> On 07/03/13 11:02, Sascha Hauer wrote:
> > On Wed, Jul 03, 2013 at 05:57:18PM +0900, Inki Dae wrote:
> >>> video {
> >>> 	/* Single video card w/ multiple lcd controllers */
> >>> 	card0 {
> >>> 		compatible = "marvell,armada-510-display";
> >>> 		reg = <0 0x3f000000 0x1000000>; /* video-mem hole */
> >>> 		/* later: linux,video-memory-size = <0x1000000>; */
> >>> 		marvell,video-devices = <&lcd0 &lcd1 &dcon>;
> >>> 	};
> >>>
> >>> 	/* OR: Multiple video card w/ single lcd controllers */
> >>> 	card0 {
> >>> 		compatible = "marvell,armada-510-display";
> >>> 		...
> >>> 		marvell,video-devices = <&lcd0>;
> >>> 	};
> >>>
> >>> 	card1 {
> >>> 		compatible = "marvell,armada-510-display";
> >>> 		...
> >>> 		marvell,video-devices = <&lcd1>;
> >>> 	};
> >>> };
> >>
> >> Sorry but I'd like to say that this cannot be used commonly. Shouldn't
> you
> >> really consider Linux framebuffer or other subsystems? The above dtsi
> file
> >> is specific to DRM subsystem. And I think the dtsi file has no any
> >> dependency on certain subsystem so board dtsi file should be considered
> for
> >> all device drivers based on other subsystems: i.e., Linux framebuffer,
> DRM,
> >> and so no. So I *strongly* object to it. All we have to do is to keep
> the
> >> dtsi file as is, and to find other better way that can be used commonly
> in
> >> DRM.
> 
> Sascha, Inki,
> 
> can you clarify how the above will _not_ allow you to write a fb driver
> exploiting the cardX nodes?
> 

That's not whether we can write device driver or not. dtsi is common spot in
other subsystems. Do you think the cardX node is meaningful to other
subsystems?

Thanks,
Inki Dae

> While lcd controller and dcon are physically available, the video card
> is just a virtual combination of those.
> 
> > +1 for not encoding the projected usecase of the graphics subsystem into
> > the devicetree. Whether the two LCD controllers shall be used together
> > or separately should not affect the devicetree. devicetree is about
> > hardware description, not configuration.
> 
> Have you had a look at gpio-leds? It _is_ actually a configuration of
> GPIO to be used as LED triggers. IMHO DT is just fine for describing
> even "virtual" hardware you make up out of existing devices. Without it
> there is no way for the subsystems to determine the configuration.
> 
> Regarding gpio-leds, how should the driver know the single gpio line
> out of tens of available lines, if you do not use a virtual gpio led
> node to describe it?
> 
> Sebastian



More information about the dri-devel mailing list