public inbox for dri-devel@lists.freedesktop.org
 help / color / mirror / Atom feed
From: Andrzej Hajda <a.hajda@samsung.com>
To: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Cc: mark.rutland@arm.com, devicetree@vger.kernel.org,
	linux-samsung-soc@vger.kernel.org, pawel.moll@arm.com,
	ijc+devicetree@hellion.org.uk, sw0312.kim@samsung.com,
	dri-devel@lists.freedesktop.org, sachin.kamat@linaro.org,
	kyungmin.park@samsung.com, robh+dt@kernel.org,
	galak@codeaurora.org, kgene.kim@samsung.com
Subject: Re: [RFC v2 PATCH v4 09/14] ARM: dts: s6e3fa0: add DT bindings
Date: Wed, 23 Apr 2014 15:33:38 +0200	[thread overview]
Message-ID: <5357C132.9000107@samsung.com> (raw)
In-Reply-To: <2706453.n69EBJuI3j@avalon>

On 04/23/2014 02:55 PM, Laurent Pinchart wrote:
> Hi Andrzej,
>
> On Wednesday 23 April 2014 14:48:31 Andrzej Hajda wrote:
>> On 04/23/2014 01:34 PM, Laurent Pinchart wrote:
>>> On Wednesday 23 April 2014 11:02:21 Andrzej Hajda wrote:
>>>> On 04/21/2014 02:28 PM, YoungJun Cho wrote:
>>>>> This patch adds DT bindings for s6e3fa0 panel.
>>>>> The bindings describes panel resources, display timings and cpu timings.
>>>>>
>>>>> Changelog v2:
>>>>> - Adds unit address (commented by Sachin Kamat)
>>>>> Changelog v3:
>>>>> - Removes optional delay, size properties (commented by Laurent
>>>>> Pinchart)
>>>>> - Adds OLED detection, TE gpio properties
>>>>> Changelog v4:
>>>>> - Moves CPU timings relevant properties from FIMD DT
>>>>>
>>>>>   (commeted by Laurent Pinchart, Andrzej Hajda)
>>>>>
>>>>> Signed-off-by: YoungJun Cho <yj44.cho@samsung.com>
>>>>> Acked-by: Inki Dae <inki.dae@samsung.com>
>>>>> Acked-by: Kyungmin Park <kyungmin.park@samsung.com>
>>>>> ---
>>>>>
>>>>>  .../devicetree/bindings/panel/samsung,s6e3fa0.txt  |   63
>>>>>  +++++++++++++++
>>>>>
>>>>> 1 file changed, 63 insertions(+)
>>>>>
>>>>>  create mode 100644
>>>>>  Documentation/devicetree/bindings/panel/samsung,s6e3fa0.txt>
>>>>>
>>>>> diff --git a/Documentation/devicetree/bindings/panel/samsung,s6e3fa0.txt
>>>>> b/Documentation/devicetree/bindings/panel/samsung,s6e3fa0.txt new file
>>>>> mode 100644
>>>>> index 0000000..9eeb38b
>>>>> --- /dev/null
>>>>> +++ b/Documentation/devicetree/bindings/panel/samsung,s6e3fa0.txt
>>>>> @@ -0,0 +1,63 @@
>>>>> +Samsung S6E3FA0 AMOLED LCD 5.7 inch panel
>>>>> +
>>>>> +Required properties:
>>>>> +  - compatible: "samsung,s6e3fa0"
>>>>> +  - reg: the virtual channel number of a DSI peripheral
>>>>> +  - vdd3-supply: core voltage supply
>>>>> +  - vci-supply: voltage supply for analog circuits
>>>>> +  - reset-gpio: a GPIO spec for the reset pin
>>>>> +  - det-gpio: a GPIO spec for the OLED detection pin
>>>>> +  - te-gpio: a GPIO spec for the TE pin
>>>>> +  - display-timings: timings for the connected panel as described by
>>>>> [1]
>>>> Which properties of display-timings are relevant for CPU mode?
>>>> I guess width and height. Anything more?
>>>>
>>>>> +  - cpu-timings: CPU interface timings for the connected panel, and it
>>>>> contains
>>>>> +        following optional properties.
>>>>> +          - cs-setup: clock cycles for the active period of address
>>>>> signal
>>>>> +                enable until chip select is enable in CPU interface
>>>>> +          - wr-setup: clock cycles for the active period of CS signal
>>>>> enable
>>>>> +                until write signal is enable in CPU interface
>>>>> +          - wr-act: clock cycles for the active period of CS enable in
>>>>> CPU
>>>>> +                interface
>>> What about calling this property wr-active ? I had called this wr-cycle in
>>> a previous implementation, that could be an option as well.
>>>
>>>>> +          - wr-hold: clock cycles for the active period of CS disable
>>>>> until
>>>>> +                write signal is disable in CPU interface
>>>> cpu-timings name does not sound to be related to display.
>>>> I wonder if it would not be better to merge cpu-timings into
>>>> display-timings but this will require more discussion I guess.
>>> The panel has a memory-like interface with chip select, read/write and
>>> access strobe, address (1 bit) and data signals. The interface is defined
>>> in the MIPI DBI specification (a quick search turned up
>>> http://www.scribd.com/doc/206899854/MIPI-DPI-Specification-v2, there might
>>> be direct PDF downloads available), even if some panels implement a
>>> similar interface that predates MIPI DBI (with names such as i80 or
>>> SYS-80 probably due to the similarities with the 8051 external bus).
>>>
>>> The cpu-timings properties describe the read and write access timings for
>>> those signals, unrelated to the display video timings. I thus believe that
>>> they should be separate from the display timings. We will probably need to
>>> add properties for the read signal as well, but that can be done later.
>> cpu-timings suggests these timings are for CPU, but they are for display
>> panel in CPU mode.
>> I though rather about something like display-cpu-timings or i80-timings,
>> just to avoid confusion.
> mipi-dbi-timings maybe ?

It looks OK.

I guess only hactive, and vactive props of display-timings are used,
maybe some flags?
I wonder if it would not be better to drop display-timings node
and place all props into mipi-dbi-timings or mipi-dbi-settings node.
Or rather all timings props should be put into port/endpoint node with
or without
any container node.

Regards
Andrzej

>
>>>> If you want to stay with separate node please consider to make it
>>>> optional as whole node or make some properties required. Making node
>>>> required with all sub-properties optional is weird.
>>>> By the way I hope all timings properties are generic for CPU mode,
>>>> if not they should be prefixed by vendor or model.
>>> The timings description should be pretty generic I believe, especially
>>> given that the interface is standardized by the MIPI alliance. Could you
>>> have a quick look at the spec and share your opinion ?
>>>
>>>>> +
>>>>> +Optional properties:
>>>>> +
>>>>> +The device node can contain one 'port' child node with one child
>>>>> +'endpoint' node, according to the bindings defined in [2]. This
>>>>> +node should describe panel's video bus.
>>>>> +
>>>>> +[1]: Documentation/devicetree/bindings/video/display-timing.txt
>>>>> +[2]: Documentation/devicetree/bindings/media/video-interfaces.txt
>>>>> +
>>>>> +Example:
>>>>> +
>>>>> +	panel@0 {
>>>>> +		compatible = "samsung,s6e3fa0";
>>>>> +		reg = <0>;
>>>>> +		vdd3-supply = <&vcclcd_reg>;
>>>>> +		vci-supply = <&vlcd_reg>;
>>>>> +		reset-gpio = <&gpy7 4 0>;
>>>>> +		det-gpio = <&gpg0 6 0>;
>>>>> +		te-gpio = <&gpd1 7 0>;
>>>>> +
>>>>> +		display-timings {
>>>>> +			timing0: timing-0 {
>>>>> +				clock-frequency = <0>;
>>>>> +				hactive = <1080>;
>>>>> +				vactive = <1920>;
>>>>> +				hfront-porch = <2>;
>>>>> +				hback-porch = <2>;
>>>>> +				hsync-len = <1>;
>>>>> +				vfront-porch = <1>;
>>>>> +				vback-porch = <4>;
>>>>> +				vsync-len = <1>;
>>>>> +			};
>>>>> +		};
>>>>> +
>>>>> +		cpu-timings {
>>>>> +			cs-setup = <0>;
>>>>> +			wr-setup = <0>;
>>>>> +			wr-act = <1>;
>>>>> +			wr-hold = <0>;
>>>>> +		};
>>>>> +	};

  reply	other threads:[~2014-04-23 13:33 UTC|newest]

Thread overview: 49+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-04-21 12:28 [RFC v2 PATCH 00/14] drm/exynos: support MIPI DSI command mode display YoungJun Cho
2014-04-21 12:28 ` [RFC v2 PATCH 01/14] drm/exynos: dsi: move the Eot packets configuration point YoungJun Cho
2014-04-21 12:28 ` [RFC v2 PATCH 02/14] drm/exynos: dsi: delay setting clocks after reset YoungJun Cho
2014-04-22 12:15   ` Andrzej Hajda
2014-04-23  1:01     ` YoungJun Cho
2014-04-23  3:45       ` YoungJun Cho
2014-04-23  7:37         ` Andrzej Hajda
2014-04-24  0:54           ` YoungJun Cho
     [not found] ` <1398083321-8668-1-git-send-email-yj44.cho-Sze3O3UU22JBDgjK7y7TUQ@public.gmane.org>
2014-04-21 12:28   ` [RFC v2 PATCH 03/14] drm/exynos: use wait_event_timeout() for safety usage YoungJun Cho
2014-04-21 12:28 ` [RFC v2 PATCH v2 04/14] ARM: dts: sysreg: add exynos5 compatible to DT bindings YoungJun Cho
2014-04-21 12:28 ` [RFC v2 PATCH v3 05/14] ARM: dts: samsung-fimd: add I80 specific properties YoungJun Cho
2014-04-21 12:28 ` [RFC v2 PATCH v2 06/14] drm/exynos: support MIPI DSI command mode YoungJun Cho
2014-04-21 22:52   ` Laurent Pinchart
2014-04-22  1:06     ` YoungJun Cho
2014-04-22  7:34   ` Thierry Reding
2014-04-23  1:18     ` YoungJun Cho
2014-04-21 12:28 ` [RFC v2 PATCH v2 07/14] ARM: dts: exynos_dsim: add exynos5420 compatible to DT bindings YoungJun Cho
2014-04-21 12:28 ` [RFC v2 PATCH 08/14] drm/exynos: dsi: add driver data to support Exynos5420 YoungJun Cho
2014-04-23  8:29   ` Andrzej Hajda
2014-04-24  1:23     ` YoungJun Cho
2014-04-27  1:53       ` YoungJun Cho
2014-04-21 12:28 ` [RFC v2 PATCH v4 09/14] ARM: dts: s6e3fa0: add DT bindings YoungJun Cho
2014-04-22 14:02   ` Andrzej Hajda
2014-04-23  1:26     ` YoungJun Cho
2014-04-23  7:33       ` Thierry Reding
2014-04-23  9:02   ` Andrzej Hajda
2014-04-23 11:34     ` Laurent Pinchart
2014-04-23 12:48       ` Andrzej Hajda
2014-04-23 12:55         ` Laurent Pinchart
2014-04-23 13:33           ` Andrzej Hajda [this message]
2014-04-24  3:34             ` YoungJun Cho
2014-04-24  3:15       ` YoungJun Cho
2014-04-24  1:31     ` YoungJun Cho
2014-04-21 12:28 ` [RFC v2 PATCH v3 10/14] drm/panel: add S6E3FA0 driver YoungJun Cho
2014-04-21 23:00   ` Laurent Pinchart
2014-04-22  1:24     ` YoungJun Cho
2014-04-28 15:05       ` Laurent Pinchart
2014-04-28 21:25         ` Thierry Reding
2014-04-29  6:11           ` YoungJun Cho
2014-04-30 18:20           ` Laurent Pinchart
2014-04-29  6:02         ` YoungJun Cho
2014-04-29  8:35           ` YoungJun Cho
2014-04-29 12:45             ` YoungJun Cho
2014-04-23 10:16   ` Andrzej Hajda
2014-04-24  4:04     ` YoungJun Cho
2014-04-21 12:28 ` [RFC v2 PATCH 11/14] ARM: dts: exynos4: add system register node YoungJun Cho
2014-04-21 12:28 ` [RFC v2 PATCH 12/14] ARM: dts: exynos5: add system register support YoungJun Cho
2014-04-21 12:28 ` [RFC v2 PATCH 13/14] ARM: dts: exynos5420: add mipi-phy node YoungJun Cho
2014-04-21 12:28 ` [RFC v2 PATCH 14/14] ARM: dts: exynos5420: add dsi node YoungJun Cho

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=5357C132.9000107@samsung.com \
    --to=a.hajda@samsung.com \
    --cc=devicetree@vger.kernel.org \
    --cc=dri-devel@lists.freedesktop.org \
    --cc=galak@codeaurora.org \
    --cc=ijc+devicetree@hellion.org.uk \
    --cc=kgene.kim@samsung.com \
    --cc=kyungmin.park@samsung.com \
    --cc=laurent.pinchart@ideasonboard.com \
    --cc=linux-samsung-soc@vger.kernel.org \
    --cc=mark.rutland@arm.com \
    --cc=pawel.moll@arm.com \
    --cc=robh+dt@kernel.org \
    --cc=sachin.kamat@linaro.org \
    --cc=sw0312.kim@samsung.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox