Best practice device tree design for display subsystems/DRM
Inki Dae
inki.dae at samsung.com
Wed Jul 3 19:48:41 EST 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 devicetree-discuss
mailing list