devicetree.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Inki Dae <inki.dae-Sze3O3UU22JBDgjK7y7TUQ@public.gmane.org>
To: 'Sebastian Hesselbarth'
	<sebastian.hesselbarth-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
Cc: 'Jean-Francois Moine' <moinejf-GANU6spQydw@public.gmane.org>,
	'Daniel Drake' <dsd-2X9k7bc8m7Mdnm+yROfE0A@public.gmane.org>,
	devicetree-discuss-uLR06cmDAlY/bJ5BZ2RsiQ@public.gmane.org,
	dri-devel-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org,
	'Sascha Hauer' <s.hauer-bIcnvbaLZ9MEGnE8C9+IrQ@public.gmane.org>,
	'Russell King' <rmk-lFZ/pmaqli7XmaaqVzeoHQ@public.gmane.org>
Subject: RE: Best practice device tree design for display subsystems/DRM
Date: Thu, 04 Jul 2013 16:05:48 +0900	[thread overview]
Message-ID: <000601ce7884$e99ade20$bcd09a60$%dae@samsung.com> (raw)
In-Reply-To: <51D4105C.3070503-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>



> -----Original Message-----
> From: Sebastian Hesselbarth [mailto:sebastian.hesselbarth-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org]
> Sent: Wednesday, July 03, 2013 8:52 PM
> To: Inki Dae
> Cc: 'Russell King'; devicetree-discuss-uLR06cmDAlY/bJ5BZ2RsiQ@public.gmane.org; 'Jean-Francois
> Moine'; 'Sascha Hauer'; 'Daniel Drake'; dri-devel-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org
> Subject: Re: Best practice device tree design for display subsystems/DRM
> 
> On 07/03/13 13:43, Inki Dae wrote:
> >> I do not understand why you keep referring to the SoC dtsi. Im my
> >> example, I said that it is made up and joined from both SoC dtsi and
> >> board dts.
> >>
> >> So, of course, lcd controller nodes and dcon are part of dove.dtsi
> >> because they are physically available on every Dove SoC.
> >>
> >> Also, the connection from lcd0 to the external HDMI encoder node
> >> is in the board dts because you can happily build a Dove SoC board
> >> with a different HDMI encoder or with no encoder at all.
> >>
> >> The video-card super node is not in any way specific to DRM and
> >
> > In case of fbdev, framebuffer driver would use lcd0 or lcd1 driver, or
> lcd0
> > and lcd1 drivers which are placed in drivers/video/backlight/.
> >
> > And let's assume the following:
> >
> > On board A
> >       Display controller ------------- lcd 0
> > On board B
> >       Display controller ------------- lcd 1
> > On board C
> >       Display controller ------------- lcd 0 and lcd 1
> >
> > Without the super node, user could configure Linux kernel through
> menuconfig
> > like below;
> > 	board A:  enabling lcd 0, and disabling lcd 1,
> > 	board B: disabling lcd 0, and enabling lcd 1,
> > 	board C: enabling lcd 0 and lcd 1.
> >
> > All we have to do is to configure menuconfig to enable only drivers for
> > certain board. Why does fbdev need the super node? Please give me
> comments
> > if there is my missing point.
> 
> I assume when you say "configure menuconfig" you mean
> "create a CONFIG_DISPLAY_CONTROLLER_AS_USED_ON_BOARD_A,
> CONFIG_DISPLAY_CONTROLLER_AS_USED_ON_BOARD_B, ..." ?
> 
> This finally will require you to have
> (a) #ifdef mess for every single board _and_ driver above
> (b) new CONFIG_.._BOARD_D plus new #ifdefs in fbdev driver for every
>      new board
> (c) A new set of the above CONFIG_/#ifdef for DRM driver
> 
> This can also be done with device_tree and supernode approach,
> so for your example above:
> 
> BoardA.dts:
> video { card0 { video-devices = <&lcd0>; }; };
> 
> BoardB.dts:
> video { card0 { video-devices = <&lcd1>; }; };
> 
> BoardC.dts:
> video { card0 { video-devices = <&lcd0 &lcd1>; }; };
> 
> and in the driver your are prepared for looping over the video-devices
> property and parsing the compatible string of the nodes passed.
> 

As I mentioned before, fbdev don't need the super node, card0. Please see
the below,

BoardA.dts:
video { dcon: display-controller@830000 { video-devices = <&lcd0>; }; };

BoardB.dts:
video { dcon: display-controller@830000 { video-devices = <&lcd1>; }; };

BoardC.dts:
video { dcon: display-controller@830000 { video-devices = <&lcd0 &lcd1>; };
};

With the above dts file, does the fbdev have any problem? I just changed the
super node to real hardware node. That is why the super node is specific to
DRM.

Thanks,
Inki Dae

> Sebastian

  parent reply	other threads:[~2013-07-04  7:05 UTC|newest]

Thread overview: 67+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-07-02 17:43 Best practice device tree design for display subsystems/DRM Daniel Drake
2013-07-02 18:42 ` Jean-Francois Moine
2013-07-02 19:19   ` Russell King
     [not found]     ` <20130702191923.GD13924-f404yB8NqCZvn6HldHNs0ANdhmdF6hFW@public.gmane.org>
2013-07-02 19:57       ` Sebastian Hesselbarth
     [not found]         ` <51D330AC.5060903-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2013-07-02 20:25           ` Russell King
     [not found]             ` <20130702202548.GE13924-f404yB8NqCZvn6HldHNs0ANdhmdF6hFW@public.gmane.org>
2013-07-02 21:50               ` Sascha Hauer
2013-07-02 22:02                 ` Dave Airlie
     [not found]                   ` <CAPM=9ty8W7wEewLpcKjNV-RXzVnReKVrPu_MGN80=Y-xPr-f+w-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2013-07-02 22:14                     ` Russell King
     [not found]                       ` <20130702221445.GF13924-f404yB8NqCZvn6HldHNs0ANdhmdF6hFW@public.gmane.org>
2013-07-03  7:33                         ` Sascha Hauer
2013-07-03  1:46                     ` Stéphane Marchesin
     [not found]                       ` <CACP_E++-L_Ntv=ZpkrSjB4y4GRc=WNDdXLeQAxb5NWniD3Frfg-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2013-07-03  2:56                         ` Rob Clark
2013-07-03  6:42                         ` Inki Dae
2013-07-03 12:31                       ` Lucas Stach
2013-07-03  6:55                     ` Sascha Hauer
     [not found]                       ` <20130703065559.GJ516-bIcnvbaLZ9MEGnE8C9+IrQ@public.gmane.org>
2013-07-03  8:20                         ` Sebastian Hesselbarth
2013-07-05  8:37               ` Grant Likely
     [not found]                 ` <CACxGe6uTv2yaTH-_JLa=vtgmXwq=++wz3=eDpkRr2GVbKaME1A-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2013-07-05  8:50                   ` Russell King
     [not found]                     ` <20130705085020.GV13924-f404yB8NqCZvn6HldHNs0ANdhmdF6hFW@public.gmane.org>
2013-07-05  9:02                       ` Grant Likely
2013-07-02 21:04           ` Daniel Drake
     [not found]             ` <CAMLZHHTbkfxmzrSrAU586Ywxptk=4Njzb0_puWxhfBcmBB0BWQ-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2013-07-02 21:41               ` Sebastian Hesselbarth
     [not found]                 ` <51D348F5.2080205-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2013-07-03  8:57                   ` Inki Dae
     [not found]                     ` <00ae01ce77cb$524d57f0$f6e807d0$%dae-Sze3O3UU22JBDgjK7y7TUQ@public.gmane.org>
2013-07-03  9:02                       ` Sascha Hauer
     [not found]                         ` <20130703090242.GM516-bIcnvbaLZ9MEGnE8C9+IrQ@public.gmane.org>
2013-07-03  9:08                           ` Sebastian Hesselbarth
     [not found]                             ` <51D3EA0E.2090008-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2013-07-03  9:48                               ` Inki Dae
     [not found]                                 ` <00ba01ce77d2$80285f10$80791d30$%dae-Sze3O3UU22JBDgjK7y7TUQ@public.gmane.org>
2013-07-03  9:53                                   ` Russell King
     [not found]                                     ` <20130703095338.GH13924-f404yB8NqCZvn6HldHNs0ANdhmdF6hFW@public.gmane.org>
2013-07-03 10:52                                       ` Sebastian Hesselbarth
     [not found]                                         ` <51D40275.4020806-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2013-07-03 11:32                                           ` Russell King
     [not found]                                             ` <20130703113224.GI13924-f404yB8NqCZvn6HldHNs0ANdhmdF6hFW@public.gmane.org>
2013-07-03 17:38                                               ` Sebastian Hesselbarth
2013-07-03 11:43                                           ` Inki Dae
     [not found]                                             ` <00cc01ce77e2$844b3a80$8ce1af80$%dae-Sze3O3UU22JBDgjK7y7TUQ@public.gmane.org>
2013-07-03 11:51                                               ` Sebastian Hesselbarth
     [not found]                                                 ` <51D4105C.3070503-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2013-07-04  7:05                                                   ` Inki Dae [this message]
     [not found]                                                     ` <000601ce7884$e99ade20$bcd09a60$%dae-Sze3O3UU22JBDgjK7y7TUQ@public.gmane.org>
2013-07-04  7:25                                                       ` Sebastian Hesselbarth
     [not found]                                                         ` <51D5234C.3070000-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2013-07-04  8:15                                                           ` Inki Dae
2013-07-03 12:04                                               ` Russell King
     [not found]                                                 ` <20130703120458.GJ13924-f404yB8NqCZvn6HldHNs0ANdhmdF6hFW@public.gmane.org>
2013-07-04  2:03                                                   ` Inki Dae
2013-07-03  9:52                           ` Russell King
     [not found]                             ` <20130703095248.GG13924-f404yB8NqCZvn6HldHNs0ANdhmdF6hFW@public.gmane.org>
2013-07-03 11:12                               ` Sebastian Hesselbarth
2013-07-03 11:29                               ` Sascha Hauer
2013-07-04  8:33                             ` Sascha Hauer
     [not found]                               ` <20130704083307.GH10414-bIcnvbaLZ9MEGnE8C9+IrQ@public.gmane.org>
2013-07-04  8:40                                 ` Russell King
     [not found]                                   ` <20130704084052.GP13924-f404yB8NqCZvn6HldHNs0ANdhmdF6hFW@public.gmane.org>
2013-07-04  8:58                                     ` Sascha Hauer
     [not found]                                       ` <20130704085817.GZ516-bIcnvbaLZ9MEGnE8C9+IrQ@public.gmane.org>
2013-07-04  9:11                                         ` Russell King
     [not found]                                           ` <20130704091131.GR13924-f404yB8NqCZvn6HldHNs0ANdhmdF6hFW@public.gmane.org>
2013-07-04  9:30                                             ` Sascha Hauer
     [not found]                                               ` <20130704093047.GJ10414-bIcnvbaLZ9MEGnE8C9+IrQ@public.gmane.org>
2013-07-04  9:44                                                 ` Sebastian Hesselbarth
     [not found]                                                   ` <51D54409.6020608-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2013-07-04 10:09                                                     ` Sascha Hauer
     [not found]                                                       ` <20130704100932.GL10414-bIcnvbaLZ9MEGnE8C9+IrQ@public.gmane.org>
2013-07-04 10:58                                                         ` Sebastian Hesselbarth
2013-07-05 10:07                                                           ` Sascha Hauer
     [not found]                                                             ` <20130705100750.GJ516-bIcnvbaLZ9MEGnE8C9+IrQ@public.gmane.org>
2013-07-05 10:41                                                               ` Grant Likely
2013-07-04  8:45                                 ` Sebastian Hesselbarth
     [not found]                                   ` <51D53634.5040405-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2013-07-04  8:53                                     ` Sascha Hauer
     [not found]                                       ` <20130704085313.GY516-bIcnvbaLZ9MEGnE8C9+IrQ@public.gmane.org>
2013-07-04  9:10                                         ` Sebastian Hesselbarth
     [not found]                                           ` <51D53C0B.6060106-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2013-07-04  9:23                                             ` Sascha Hauer
     [not found]                                               ` <20130704092305.GI10414-bIcnvbaLZ9MEGnE8C9+IrQ@public.gmane.org>
2013-07-04  9:40                                                 ` Sebastian Hesselbarth
     [not found]                                                   ` <51D54301.8080902-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2013-07-04  9:57                                                     ` Sascha Hauer
2013-07-04  9:08                                 ` Russell King
     [not found]                                   ` <20130704090829.GQ13924-f404yB8NqCZvn6HldHNs0ANdhmdF6hFW@public.gmane.org>
2013-07-04  9:51                                     ` Sascha Hauer
2013-07-05  8:43                           ` Grant Likely
     [not found]                             ` <CACxGe6uRJ9B9qnPT_KLNphg-n2WeA9UFO-rvCdKJHijGqJ8SOg-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2013-07-05  9:34                               ` Sebastian Hesselbarth
     [not found]                                 ` <51D69324.90301-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2013-07-05  9:51                                   ` Grant Likely
     [not found]                                     ` <CACxGe6v_oQptLZzgsT_nf-K4680mP1f8sHJHN8AekeEy0_T18w-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2013-07-05 11:16                                       ` Sebastian Hesselbarth
2013-07-04 15:11                         ` Rob Clark
     [not found]                           ` <CAF6AEGuzwNJtuAWS29YvdZ1fiMGk5cuv24n4wxkKsDPT8FrDBw-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2013-07-04 21:28                             ` Dave Airlie
2013-07-05  0:50                               ` Alex Deucher
     [not found] ` <CAMLZHHREVEdRuHaD0imRu4pUv15ZyWYF2J9WCBEw-frxBry-Lw-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2013-07-02 18:43   ` Russell King
     [not found]     ` <20130702184305.GB13924-f404yB8NqCZvn6HldHNs0ANdhmdF6hFW@public.gmane.org>
2013-07-02 18:54       ` Daniel Drake
     [not found]         ` <CAMLZHHSU1OVrQrtucTNn4AmTCiNER19njvQdomxTcXAzqxCi4A-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2013-07-02 19:08           ` Russell King
     [not found]             ` <20130702190809.GC13924-f404yB8NqCZvn6HldHNs0ANdhmdF6hFW@public.gmane.org>
2013-07-03  8:06               ` Inki Dae

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to='000601ce7884$e99ade20$bcd09a60$%dae@samsung.com' \
    --to=inki.dae-sze3o3uu22jbdgjk7y7tuq@public.gmane.org \
    --cc=devicetree-discuss-uLR06cmDAlY/bJ5BZ2RsiQ@public.gmane.org \
    --cc=dri-devel-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org \
    --cc=dsd-2X9k7bc8m7Mdnm+yROfE0A@public.gmane.org \
    --cc=moinejf-GANU6spQydw@public.gmane.org \
    --cc=rmk-lFZ/pmaqli7XmaaqVzeoHQ@public.gmane.org \
    --cc=s.hauer-bIcnvbaLZ9MEGnE8C9+IrQ@public.gmane.org \
    --cc=sebastian.hesselbarth-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).