From: Archit Taneja <archit@ti.com>
To: Tomi Valkeinen <tomi.valkeinen@ti.com>,
linux-omap@vger.kernel.org, linux-fbdev@vger.kernel.org,
devicetree@vger.kernel.org
Cc: Darren Etheridge <detheridge@ti.com>, Tony Lindgren <tony@atomide.com>
Subject: Re: [PATCH 16/26] ARM: omap4-sdp.dts: add display information
Date: Fri, 13 Dec 2013 09:58:54 +0000 [thread overview]
Message-ID: <52AADA55.20309@ti.com> (raw)
In-Reply-To: <52AAD5CE.3010609@ti.com>
On Friday 13 December 2013 03:09 PM, Tomi Valkeinen wrote:
> On 2013-12-13 11:27, Archit Taneja wrote:
>> On Wednesday 04 December 2013 05:58 PM, Tomi Valkeinen wrote:
>>> Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
>>> ---
>>> arch/arm/boot/dts/omap4-sdp.dts | 91
>>> +++++++++++++++++++++++++++++++++++++++++
>>> 1 file changed, 91 insertions(+)
>>>
>>> diff --git a/arch/arm/boot/dts/omap4-sdp.dts
>>> b/arch/arm/boot/dts/omap4-sdp.dts
>>> index 5fc3f43c5a81..e3048f849612 100644
>>> --- a/arch/arm/boot/dts/omap4-sdp.dts
>>> +++ b/arch/arm/boot/dts/omap4-sdp.dts
>>> @@ -550,3 +550,94 @@
>>> mode = <3>;
>>> power = <50>;
>>> };
>>> +
>>> +&dsi1 {
>>> + vdds_dsi-supply = <&vcxio>;
>>> +
>>> + dsi1_out_ep: endpoint {
>>> + remote-endpoint = <&lcd0_in>;
>>> + lanes = <0 1 2 3 4 5>;
>>
>> In the previous revision omapdss DT patchset, the lanes node was a
>> member of the panel DT node, and not the dsi DT node. Any reason to
>> change this? Does it make more sense this way?
>
> Well, the lane configuration is programmed into the DSI HW. So DSI needs
> to know them. Thus the lanes can be considered a property of the DSI.
>
> In some cases, the external encoder or panel also needs to know about
> the lanes. In that case, both DSI and the encoder/panel would contain
> the same data.
>
> My reasoning where a property belongs to:
>
> If a property is clearly internal to a device, it belongs there. For
> example, in this case vdds_dsi-supply is clearly a property of the DSI.
>
> If a property is about the link between two devices, like "lanes" here,
> it belongs to both devices. If a device does not need that data for
> anything, it can be omitted.
>
>> I suppose it's more suitable for dsi to hold the property if 2 panels
>> are connected on the same bus. Say, one with 4 data lanes, and other
>> with 2. It would be tricky for the dsi driver to get lane params from 2
>> different places and merge them somehow.
>
> It doesn't matter, both would work fine. If the lanes property is in the
> DSI node, then the DSI driver finds out the lane config by finding out
> which endpoint is used for the panel that's being enabled.
>
> If the lanes property would be in the panel, the panel would pass the
> lane config to the DSI when it's enabled.
>
> But I think passing the lane config from panel to DSI (like we do
> currently) is not so nice.
Okay, that makes sense.
>
>>> + };
>>> +
>>> + lcd0: display@0 {
>>> + compatible = "tpo,taal", "panel-dsi-cm";
>>> +
>>> + gpios = <&gpio4 6 0>; /* 102, reset */
>>> +
>>> + lcd0_in: endpoint {
>>> + remote-endpoint = <&dsi1_out_ep>;
>>> + };
>>> + };
>>
>> Is there a reason why lcd0 and lcd1 are children nodes of dsi1 and dsi2
>> respectively? I don't see this for panels on other boards.
>
> Yes. The panels are _controlled_ with DSI. We model the child-parent
> relationships in DT data based on the control. So an i2c peripheral is
> controlled via i2c master, and is thus a child of the i2c master. Same
> here. The ports/endpoints are used to define the data path, which is
> separate thing from the control path.
>
> DPI panels which don't have any way to control them (except basic things
> like gpios) are platform devices without any parent.
>
> If the DPI panel would be controlled with i2c, it'd be a child of an i2c
> master.
Ah, I thought the port/endpoint stuff had something to do with this. I
forgot about the parent-child relationship for the control path.
In that case, for the sake of accuracy, the dsi-cm panel could get the
"in" parameter via the parent node wherever it's used for control, like
setting a DCS command for sleep out. And via
omapdss_of_find_source_for_first_ep() when it's used to start data
transfer, even though both the "in's" are finally the same dsi device?
Archit
WARNING: multiple messages have this Message-ID (diff)
From: Archit Taneja <archit@ti.com>
To: Tomi Valkeinen <tomi.valkeinen@ti.com>,
linux-omap@vger.kernel.org, linux-fbdev@vger.kernel.org,
devicetree@vger.kernel.org
Cc: Darren Etheridge <detheridge@ti.com>, Tony Lindgren <tony@atomide.com>
Subject: Re: [PATCH 16/26] ARM: omap4-sdp.dts: add display information
Date: Fri, 13 Dec 2013 15:28:45 +0530 [thread overview]
Message-ID: <52AADA55.20309@ti.com> (raw)
In-Reply-To: <52AAD5CE.3010609@ti.com>
On Friday 13 December 2013 03:09 PM, Tomi Valkeinen wrote:
> On 2013-12-13 11:27, Archit Taneja wrote:
>> On Wednesday 04 December 2013 05:58 PM, Tomi Valkeinen wrote:
>>> Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
>>> ---
>>> arch/arm/boot/dts/omap4-sdp.dts | 91
>>> +++++++++++++++++++++++++++++++++++++++++
>>> 1 file changed, 91 insertions(+)
>>>
>>> diff --git a/arch/arm/boot/dts/omap4-sdp.dts
>>> b/arch/arm/boot/dts/omap4-sdp.dts
>>> index 5fc3f43c5a81..e3048f849612 100644
>>> --- a/arch/arm/boot/dts/omap4-sdp.dts
>>> +++ b/arch/arm/boot/dts/omap4-sdp.dts
>>> @@ -550,3 +550,94 @@
>>> mode = <3>;
>>> power = <50>;
>>> };
>>> +
>>> +&dsi1 {
>>> + vdds_dsi-supply = <&vcxio>;
>>> +
>>> + dsi1_out_ep: endpoint {
>>> + remote-endpoint = <&lcd0_in>;
>>> + lanes = <0 1 2 3 4 5>;
>>
>> In the previous revision omapdss DT patchset, the lanes node was a
>> member of the panel DT node, and not the dsi DT node. Any reason to
>> change this? Does it make more sense this way?
>
> Well, the lane configuration is programmed into the DSI HW. So DSI needs
> to know them. Thus the lanes can be considered a property of the DSI.
>
> In some cases, the external encoder or panel also needs to know about
> the lanes. In that case, both DSI and the encoder/panel would contain
> the same data.
>
> My reasoning where a property belongs to:
>
> If a property is clearly internal to a device, it belongs there. For
> example, in this case vdds_dsi-supply is clearly a property of the DSI.
>
> If a property is about the link between two devices, like "lanes" here,
> it belongs to both devices. If a device does not need that data for
> anything, it can be omitted.
>
>> I suppose it's more suitable for dsi to hold the property if 2 panels
>> are connected on the same bus. Say, one with 4 data lanes, and other
>> with 2. It would be tricky for the dsi driver to get lane params from 2
>> different places and merge them somehow.
>
> It doesn't matter, both would work fine. If the lanes property is in the
> DSI node, then the DSI driver finds out the lane config by finding out
> which endpoint is used for the panel that's being enabled.
>
> If the lanes property would be in the panel, the panel would pass the
> lane config to the DSI when it's enabled.
>
> But I think passing the lane config from panel to DSI (like we do
> currently) is not so nice.
Okay, that makes sense.
>
>>> + };
>>> +
>>> + lcd0: display@0 {
>>> + compatible = "tpo,taal", "panel-dsi-cm";
>>> +
>>> + gpios = <&gpio4 6 0>; /* 102, reset */
>>> +
>>> + lcd0_in: endpoint {
>>> + remote-endpoint = <&dsi1_out_ep>;
>>> + };
>>> + };
>>
>> Is there a reason why lcd0 and lcd1 are children nodes of dsi1 and dsi2
>> respectively? I don't see this for panels on other boards.
>
> Yes. The panels are _controlled_ with DSI. We model the child-parent
> relationships in DT data based on the control. So an i2c peripheral is
> controlled via i2c master, and is thus a child of the i2c master. Same
> here. The ports/endpoints are used to define the data path, which is
> separate thing from the control path.
>
> DPI panels which don't have any way to control them (except basic things
> like gpios) are platform devices without any parent.
>
> If the DPI panel would be controlled with i2c, it'd be a child of an i2c
> master.
Ah, I thought the port/endpoint stuff had something to do with this. I
forgot about the parent-child relationship for the control path.
In that case, for the sake of accuracy, the dsi-cm panel could get the
"in" parameter via the parent node wherever it's used for control, like
setting a DCS command for sleep out. And via
omapdss_of_find_source_for_first_ep() when it's used to start data
transfer, even though both the "in's" are finally the same dsi device?
Archit
next prev parent reply other threads:[~2013-12-13 9:58 UTC|newest]
Thread overview: 183+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-12-04 12:28 [PATCH 00/26] OMAPDSS: DT support (Christmas edition) Tomi Valkeinen
2013-12-04 12:28 ` Tomi Valkeinen
2013-12-04 12:28 ` [PATCH 01/26] OMAPDSS: rename display-sysfs 'name' entry Tomi Valkeinen
2013-12-04 12:28 ` Tomi Valkeinen
2013-12-04 12:28 ` [PATCH 02/26] OMAPDSS: DSI: fix fifosize Tomi Valkeinen
2013-12-04 12:28 ` Tomi Valkeinen
2013-12-04 12:28 ` [PATCH 03/26] ARM: OMAP: remove DSS DT hack Tomi Valkeinen
2013-12-04 12:28 ` Tomi Valkeinen
2013-12-04 12:28 ` [PATCH 04/26] OMAPDSS: remove DT hacks for regulators Tomi Valkeinen
2013-12-04 12:28 ` Tomi Valkeinen
2013-12-04 12:28 ` [PATCH 05/26] ARM: OMAP2+: add omapdss_init_of() Tomi Valkeinen
2013-12-04 12:28 ` Tomi Valkeinen
2013-12-11 23:10 ` Laurent Pinchart
2013-12-11 23:10 ` Laurent Pinchart
2013-12-12 7:30 ` Tomi Valkeinen
2013-12-12 7:30 ` Tomi Valkeinen
2013-12-13 8:32 ` Archit Taneja
2013-12-13 8:44 ` Archit Taneja
2013-12-13 8:40 ` Tomi Valkeinen
2013-12-13 8:40 ` Tomi Valkeinen
2013-12-13 17:07 ` Tony Lindgren
2013-12-13 17:07 ` Tony Lindgren
2013-12-04 12:28 ` [PATCH 06/26] OMAPDSS: if dssdev->name==NULL, use alias Tomi Valkeinen
2013-12-04 12:28 ` Tomi Valkeinen
2013-12-11 23:13 ` Laurent Pinchart
2013-12-11 23:13 ` Laurent Pinchart
2013-12-11 23:56 ` Laurent Pinchart
2013-12-11 23:56 ` Laurent Pinchart
2013-12-12 7:41 ` Tomi Valkeinen
2013-12-12 7:41 ` Tomi Valkeinen
[not found] ` <52A968BD.20304-l0cyMroinI0@public.gmane.org>
2013-12-12 10:05 ` Sebastian Reichel
2013-12-12 10:05 ` Sebastian Reichel
2013-12-12 13:22 ` Laurent Pinchart
2013-12-12 13:22 ` Laurent Pinchart
2013-12-12 14:13 ` Tomi Valkeinen
2013-12-12 14:13 ` Tomi Valkeinen
2013-12-12 14:15 ` Laurent Pinchart
2013-12-12 14:15 ` Laurent Pinchart
2013-12-12 14:19 ` Tomi Valkeinen
2013-12-12 14:19 ` Tomi Valkeinen
2013-12-12 17:31 ` Sebastian Reichel
2013-12-12 17:31 ` Sebastian Reichel
2013-12-13 12:01 ` Tomi Valkeinen
2013-12-13 12:01 ` Tomi Valkeinen
2013-12-04 12:28 ` [PATCH 07/26] OMAPDSS: get dssdev->alias from DT alias Tomi Valkeinen
2013-12-04 12:28 ` Tomi Valkeinen
2013-12-04 12:28 ` [PATCH 08/26] OMAPFB: clean up default display search Tomi Valkeinen
2013-12-04 12:28 ` Tomi Valkeinen
2013-12-04 12:28 ` [PATCH 09/26] OMAPFB: search for default display with DT alias Tomi Valkeinen
2013-12-04 12:28 ` Tomi Valkeinen
2013-12-04 12:28 ` [PATCH 10/26] OMAPDSS: add of helpers Tomi Valkeinen
2013-12-04 12:28 ` Tomi Valkeinen
2013-12-11 23:19 ` Laurent Pinchart
2013-12-11 23:19 ` Laurent Pinchart
2013-12-12 7:48 ` Tomi Valkeinen
2013-12-12 7:48 ` Tomi Valkeinen
2013-12-13 2:37 ` Laurent Pinchart
2013-12-13 2:37 ` Laurent Pinchart
2013-12-04 12:28 ` [PATCH 11/26] OMAPDSS: Add DT support to DSS, DISPC, DPI, HDMI, VENC Tomi Valkeinen
2013-12-04 12:28 ` Tomi Valkeinen
2013-12-04 12:28 ` [PATCH 12/26] OMAPDSS: Add DT support to DSI Tomi Valkeinen
2013-12-04 12:28 ` Tomi Valkeinen
2013-12-04 12:28 ` [PATCH 13/26] ARM: omap3.dtsi: add omapdss information Tomi Valkeinen
2013-12-04 12:28 ` Tomi Valkeinen
2013-12-05 17:05 ` Tony Lindgren
2013-12-05 17:05 ` Tony Lindgren
2013-12-09 12:45 ` Tomi Valkeinen
2013-12-09 12:45 ` Tomi Valkeinen
2013-12-09 18:04 ` Tony Lindgren
2013-12-09 18:04 ` Tony Lindgren
2013-12-11 23:44 ` Laurent Pinchart
2013-12-11 23:44 ` Laurent Pinchart
2013-12-12 8:38 ` Tomi Valkeinen
2013-12-12 8:38 ` Tomi Valkeinen
2013-12-12 21:59 ` Tony Lindgren
2013-12-13 3:27 ` Laurent Pinchart
2013-12-13 3:27 ` Laurent Pinchart
2013-12-13 10:18 ` Tomi Valkeinen
2013-12-13 10:18 ` Tomi Valkeinen
[not found] ` <52AADEF3.9040808-l0cyMroinI0@public.gmane.org>
2013-12-13 17:10 ` Tony Lindgren
2013-12-13 17:10 ` Tony Lindgren
2013-12-13 3:24 ` Laurent Pinchart
2013-12-13 3:24 ` Laurent Pinchart
2013-12-13 9:29 ` Tomi Valkeinen
2013-12-13 9:29 ` Tomi Valkeinen
2013-12-16 10:49 ` Tomi Valkeinen
2013-12-16 10:49 ` Tomi Valkeinen
[not found] ` <52AEDA9F.2020609-l0cyMroinI0@public.gmane.org>
2013-12-16 13:55 ` Laurent Pinchart
2013-12-16 13:55 ` Laurent Pinchart
2013-12-04 12:28 ` [PATCH 14/26] ARM: omap4.dtsi: " Tomi Valkeinen
2013-12-04 12:28 ` Tomi Valkeinen
2013-12-04 12:28 ` [PATCH 15/26] ARM: omap4-panda.dts: add display information Tomi Valkeinen
2013-12-04 12:28 ` Tomi Valkeinen
2013-12-06 8:57 ` Javier Martinez Canillas
2013-12-06 8:57 ` Javier Martinez Canillas
2013-12-09 12:56 ` Tomi Valkeinen
2013-12-09 12:56 ` Tomi Valkeinen
2013-12-09 15:09 ` Javier Martinez Canillas
2013-12-09 15:09 ` Javier Martinez Canillas
2013-12-09 15:30 ` Tomi Valkeinen
2013-12-09 15:30 ` Tomi Valkeinen
2013-12-09 16:53 ` Javier Martinez Canillas
2013-12-09 16:53 ` Javier Martinez Canillas
2013-12-10 10:56 ` Enric Balletbo Serra
2013-12-10 10:56 ` Enric Balletbo Serra
2013-12-10 12:10 ` Tomi Valkeinen
2013-12-10 12:10 ` Tomi Valkeinen
2013-12-04 12:28 ` [PATCH 16/26] ARM: omap4-sdp.dts: " Tomi Valkeinen
2013-12-04 12:28 ` Tomi Valkeinen
2013-12-13 9:27 ` Archit Taneja
2013-12-13 9:39 ` Archit Taneja
2013-12-13 9:39 ` Tomi Valkeinen
2013-12-13 9:39 ` Tomi Valkeinen
2013-12-13 9:58 ` Archit Taneja [this message]
2013-12-13 9:58 ` Archit Taneja
2013-12-13 10:15 ` Tomi Valkeinen
2013-12-13 10:15 ` Tomi Valkeinen
2013-12-04 12:28 ` [PATCH 17/26] ARM: omap3-tobi.dts: add lcd (TEST) Tomi Valkeinen
2013-12-04 12:28 ` Tomi Valkeinen
2013-12-06 10:18 ` Florian Vaussard
2013-12-06 10:18 ` Florian Vaussard
2013-12-10 12:18 ` Tomi Valkeinen
2013-12-10 12:18 ` Tomi Valkeinen
2013-12-04 12:28 ` [PATCH 18/26] ARM: omap3-beagle.dts: add display information Tomi Valkeinen
2013-12-04 12:28 ` Tomi Valkeinen
2013-12-06 8:41 ` Javier Martinez Canillas
2013-12-06 8:41 ` Javier Martinez Canillas
2013-12-09 12:06 ` Tomi Valkeinen
2013-12-09 12:06 ` Tomi Valkeinen
2013-12-09 12:16 ` Javier Martinez Canillas
2013-12-09 12:16 ` Javier Martinez Canillas
2013-12-04 12:28 ` [PATCH 19/26] ARM: omap3-beagle-xm.dts: " Tomi Valkeinen
2013-12-04 12:28 ` Tomi Valkeinen
2013-12-04 12:28 ` [PATCH 20/26] OMAPDSS: panel-dsi-cm: Add DT support Tomi Valkeinen
2013-12-04 12:28 ` Tomi Valkeinen
2013-12-04 12:28 ` [PATCH 21/26] OMAPDSS: encoder-tfp410: " Tomi Valkeinen
2013-12-04 12:28 ` Tomi Valkeinen
2013-12-04 12:28 ` [PATCH 22/26] OMAPDSS: connector-dvi: " Tomi Valkeinen
2013-12-04 12:28 ` Tomi Valkeinen
2013-12-04 12:28 ` [PATCH 23/26] OMAPDSS: encoder-tpd12s015: " Tomi Valkeinen
2013-12-04 12:28 ` Tomi Valkeinen
2013-12-04 12:28 ` [PATCH 24/26] OMAPDSS: hdmi-connector: " Tomi Valkeinen
2013-12-04 12:28 ` Tomi Valkeinen
2013-12-04 12:28 ` [PATCH 25/26] OMAPDSS: panel-dpi: " Tomi Valkeinen
2013-12-04 12:28 ` Tomi Valkeinen
2013-12-04 12:28 ` [PATCH 26/26] OMAPDSS: connector-analog-tv: " Tomi Valkeinen
2013-12-04 12:28 ` Tomi Valkeinen
[not found] ` <1386160133-24026-1-git-send-email-tomi.valkeinen-l0cyMroinI0@public.gmane.org>
2013-12-04 16:01 ` [PATCH 00/26] OMAPDSS: DT support (Christmas edition) Sebastian Reichel
2013-12-04 16:01 ` Sebastian Reichel
2013-12-05 9:41 ` Tomi Valkeinen
2013-12-05 9:41 ` Tomi Valkeinen
2013-12-07 3:48 ` Javier Martinez Canillas
2013-12-07 3:48 ` Javier Martinez Canillas
2013-12-07 4:28 ` Javier Martinez Canillas
2013-12-07 4:28 ` Javier Martinez Canillas
2013-12-09 12:01 ` Tomi Valkeinen
2013-12-09 12:01 ` Tomi Valkeinen
2013-12-09 12:23 ` Javier Martinez Canillas
2013-12-09 12:23 ` Javier Martinez Canillas
2013-12-12 0:39 ` Laurent Pinchart
2013-12-12 0:39 ` Laurent Pinchart
2013-12-12 8:54 ` Tomi Valkeinen
2013-12-12 8:54 ` Tomi Valkeinen
2013-12-13 3:45 ` Laurent Pinchart
2013-12-13 3:45 ` Laurent Pinchart
2013-12-13 8:16 ` Geert Uytterhoeven
2013-12-13 8:16 ` Geert Uytterhoeven
2013-12-13 10:05 ` Tomi Valkeinen
2013-12-13 10:05 ` Tomi Valkeinen
2013-12-13 14:37 ` Laurent Pinchart
2013-12-13 14:37 ` Laurent Pinchart
2013-12-13 15:47 ` Tomi Valkeinen
2013-12-13 15:47 ` Tomi Valkeinen
2013-12-13 17:22 ` Tony Lindgren
2013-12-13 17:22 ` Tony Lindgren
2013-12-14 7:34 ` Tomi Valkeinen
2013-12-14 7:34 ` Tomi Valkeinen
2013-12-14 14:09 ` Tony Lindgren
2013-12-14 14:09 ` Tony Lindgren
2013-12-16 7:24 ` Tomi Valkeinen
2013-12-16 7:24 ` Tomi Valkeinen
2013-12-18 0:30 ` Tony Lindgren
2013-12-18 0:30 ` Tony Lindgren
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=52AADA55.20309@ti.com \
--to=archit@ti.com \
--cc=detheridge@ti.com \
--cc=devicetree@vger.kernel.org \
--cc=linux-fbdev@vger.kernel.org \
--cc=linux-omap@vger.kernel.org \
--cc=tomi.valkeinen@ti.com \
--cc=tony@atomide.com \
/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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.