devicetree.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Icenowy Zheng <icenowy@aosc.io>
To: linux-arm-kernel@lists.infradead.org,
	"Maxime Ripard" <maxime.ripard@free-electrons.com>,
	"Jernej Škrabec" <jernej.skrabec@siol.net>
Cc: mark.rutland@arm.com, Rob Herring <robh@kernel.org>,
	architt@codeaurora.org, narmstrong@baylibre.com,
	airlied@linux.ie, mturquette@baylibre.com,
	linux-sunxi@googlegroups.com, sboyd@codeaurora.org,
	linux-kernel@vger.kernel.org, dri-devel@lists.freedesktop.org,
	a.hajda@samsung.com, wens@csie.org,
	Laurent.pinchart@ideasonboard.com, Jose.Abreu@synopsys.com,
	linux-clk@vger.kernel.org, devicetree@vger.kernel.org
Subject: Re: [PATCH 06/11] dt-bindings: display: sun4i-drm: Add A83T HDMI pipeline
Date: Fri, 05 Jan 2018 10:49:09 +0800	[thread overview]
Message-ID: <4B652FB5-08B2-416B-ABA9-08E12112087D@aosc.io> (raw)
In-Reply-To: <20180104185210.afsvsofq7q35psa6@flea.lan>



于 2018年1月5日 GMT+08:00 上午2:52:10, Maxime Ripard <maxime.ripard@free-electrons.com> 写到:
>On Wed, Jan 03, 2018 at 10:32:26PM +0100, Jernej Škrabec wrote:
>> Hi Rob,
>> 
>> Dne sreda, 03. januar 2018 ob 21:21:54 CET je Rob Herring napisal(a):
>> > On Sat, Dec 30, 2017 at 10:01:58PM +0100, Jernej Skrabec wrote:
>> > > This commit adds all necessary compatibles and descriptions
>needed to
>> > > implement A83T HDMI pipeline.
>> > > 
>> > > Mixer is already properly described, so only compatible is added.
>> > > 
>> > > However, A83T TCON1, which is connected to HDMI, doesn't have
>channel 0,
>> > > contrary to all TCONs currently described. Because of that, TCON
>> > > documentation is extended.
>> > > 
>> > > A83T features Synopsys DW HDMI controller with a custom PHY which
>looks
>> > > like Synopsys Gen2 PHY with few additions. Since there is no
>> > > documentation, needed properties were found out through
>experimentation
>> > > and reading BSP code.
>> > > 
>> > > At the end, example is added for newer SoCs, which features DE2
>and DW
>> > > HDMI.
>> > > 
>> > > Signed-off-by: Jernej Skrabec <jernej.skrabec@siol.net>
>> > > ---
>> > > 
>> > >  .../bindings/display/sunxi/sun4i-drm.txt           | 188
>> > >  ++++++++++++++++++++- 1 file changed, 181 insertions(+), 7
>deletions(-)
>> > > 
>> > > diff --git
>a/Documentation/devicetree/bindings/display/sunxi/sun4i-drm.txt
>> > > b/Documentation/devicetree/bindings/display/sunxi/sun4i-drm.txt
>index
>> > > 9f073af4c711..3eca258096a5 100644
>> > > ---
>a/Documentation/devicetree/bindings/display/sunxi/sun4i-drm.txt
>> > > +++
>b/Documentation/devicetree/bindings/display/sunxi/sun4i-drm.txt
>> > > 
>> > > @@ -64,6 +64,40 @@ Required properties:
>> > >      first port should be the input endpoint. The second should
>be the
>> > >      output, usually to an HDMI connector.
>> > > 
>> > > +DWC HDMI TX Encoder
>> > > +-----------------------------
>> > > +
>> > > +The HDMI transmitter is a Synopsys DesignWare HDMI 1.4 TX
>controller IP
>> > > +with Allwinner's own PHY IP. It supports audio and video outputs
>and CEC.
>> > > +
>> > > +These DT bindings follow the Synopsys DWC HDMI TX bindings
>defined in
>> > > +Documentation/devicetree/bindings/display/bridge/dw_hdmi.txt
>with the
>> > > +following device-specific properties.
>> > > +
>> > > +Required properties:
>> > > +
>> > > +  - compatible: value must be one of:
>> > > +    * "allwinner,sun8i-a83t-dw-hdmi"
>> > > +  - reg: two pairs of base address and size of memory-mapped
>region,
>> > > first
>> > > +    for controller and second for PHY
>> > > +    registers.
>> > 
>> > Seems like the phy should be a separate node and use the phy
>binding.
>> > You can use the phy binding even if you don't use the kernel phy
>> > framework...
>> 
>> Unfortunately, it's not so straighforward. Phy is actually accessed
>through 
>> I2C implemented in HDMI controller. Second memory region in this case
>has 
>> small influence on phy. However, it has big influence on controller.
>For 
>> example, magic number has to be written in one register in second
>memory 
>> region in order to unlock read access to any register from first
>memory region 
>> (controller). However, they shouldn't be merged to one region,
>because first 
>> memory region requires byte access while second memory region can be
>accessed 
>> per byte or word.
>> 
>> To complicate things more, later I want to add support for another
>SoC which 
>> has same glue layer (unlocking read access, etc.) and uses memory
>mapped phy 
>> registers in second memory region.
>> 
>> I think current binding is the least complicated way to represent
>this.
>
>I agree with Rob here. I did a similar thing for the DSI patches I've
>sent a few monthes ago and it turned out to not be that difficult, so
>I'm sure you can come up with something :)

In A83T/H3/A64/H5/R40 this part is not purely a PHY.
It controls the access of main controller's register (e.g. read/write
lock and register obfuscation). So it should be called a "glue"
with PHY part (and on A83T seems a pure glue) but not a simple
 PHY.

>
>Maxime
>
>-- 
>Maxime Ripard, Free Electrons
>Embedded Linux and Kernel engineering
>http://free-electrons.com
>
>_______________________________________________
>linux-arm-kernel mailing list
>linux-arm-kernel@lists.infradead.org
>http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

  reply	other threads:[~2018-01-05  2:49 UTC|newest]

Thread overview: 35+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-12-30 21:01 [PATCH 00/11] drm/sun4i: Add A83T HDMI support Jernej Skrabec
     [not found] ` <20171230210203.24115-1-jernej.skrabec-gGgVlfcn5nU@public.gmane.org>
2017-12-30 21:01   ` [PATCH 01/11] clk: sunxi-ng: Don't set k if width is 0 for nkmp plls Jernej Skrabec
     [not found]     ` <20171230210203.24115-2-jernej.skrabec-gGgVlfcn5nU@public.gmane.org>
2018-01-04 14:25       ` maxime.ripard-wi1+55ScJUtKEb57/3fJTNBPR1lH4CV8
2018-01-04 14:45     ` Chen-Yu Tsai
2018-01-04 19:28       ` Jernej Škrabec
2018-01-08  9:19         ` Chen-Yu Tsai
2018-01-09 15:54           ` [linux-sunxi] " Jernej Škrabec
2017-12-30 21:01   ` [PATCH 02/11] clk: sunxi-ng: a83t: Add M divider to TCON1 clock Jernej Skrabec
2018-01-03  5:46     ` Chen-Yu Tsai
2017-12-30 21:01   ` [PATCH 03/11] drm/bridge/synopsys: dw-hdmi: Enable workaround for v1.32a Jernej Skrabec
2018-01-09 12:56     ` Laurent Pinchart
2018-01-09 15:29       ` Neil Armstrong
2017-12-30 21:01   ` [PATCH 04/11] drm/bridge/synopsys: dw-hdmi: Export some PHY related functions Jernej Skrabec
2018-01-09 10:43     ` Archit Taneja
     [not found]       ` <6b454804-e910-e8e8-6d2b-5bc25c7a4d4c-sgV2jX0FEOL9JmXXK+q4OQ@public.gmane.org>
2018-01-09 15:58         ` Jernej Škrabec
2018-01-09 16:08           ` Laurent Pinchart
2018-01-09 16:33             ` Jernej Škrabec
2018-01-09 18:42             ` Jernej Škrabec
2018-01-09 13:30     ` Laurent Pinchart
2018-01-09 16:02       ` Jernej Škrabec
2017-12-30 21:01   ` [PATCH 05/11] drm/bridge/synopsys: dw-hdmi: Add deinit callback Jernej Skrabec
2017-12-30 21:01   ` [PATCH 06/11] dt-bindings: display: sun4i-drm: Add A83T HDMI pipeline Jernej Skrabec
     [not found]     ` <20171230210203.24115-7-jernej.skrabec-gGgVlfcn5nU@public.gmane.org>
2018-01-03 20:21       ` Rob Herring
2018-01-03 21:32         ` Jernej Škrabec
2018-01-04 18:52           ` Maxime Ripard
2018-01-05  2:49             ` Icenowy Zheng [this message]
     [not found]               ` <4B652FB5-08B2-416B-ABA9-08E12112087D-h8G6r0blFSE@public.gmane.org>
2018-01-05  6:20                 ` Jernej Škrabec
2018-01-05  2:50           ` Icenowy Zheng
2017-12-30 21:01   ` [PATCH 07/11] drm/sun4i: Add support for A83T second TCON Jernej Skrabec
     [not found]     ` <20171230210203.24115-8-jernej.skrabec-gGgVlfcn5nU@public.gmane.org>
2018-01-04 15:50       ` Maxime Ripard
2017-12-30 21:02   ` [PATCH 08/11] drm/sun4i: Add support for A83T second DE2 mixer Jernej Skrabec
     [not found]     ` <20171230210203.24115-9-jernej.skrabec-gGgVlfcn5nU@public.gmane.org>
2018-01-04 15:50       ` Maxime Ripard
2017-12-30 21:02   ` [PATCH 09/11] drm/sun4i: Implement A83T HDMI driver Jernej Skrabec
2017-12-30 21:02   ` [PATCH 10/11] ARM: dts: sun8i: a83t: Add HDMI display pipeline Jernej Skrabec
2017-12-30 21:02   ` [PATCH 11/11] ARM: dts: sun8i: a83t: Enable HDMI on BananaPi M3 Jernej Skrabec

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=4B652FB5-08B2-416B-ABA9-08E12112087D@aosc.io \
    --to=icenowy@aosc.io \
    --cc=Jose.Abreu@synopsys.com \
    --cc=Laurent.pinchart@ideasonboard.com \
    --cc=a.hajda@samsung.com \
    --cc=airlied@linux.ie \
    --cc=architt@codeaurora.org \
    --cc=devicetree@vger.kernel.org \
    --cc=dri-devel@lists.freedesktop.org \
    --cc=jernej.skrabec@siol.net \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-clk@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-sunxi@googlegroups.com \
    --cc=mark.rutland@arm.com \
    --cc=maxime.ripard@free-electrons.com \
    --cc=mturquette@baylibre.com \
    --cc=narmstrong@baylibre.com \
    --cc=robh@kernel.org \
    --cc=sboyd@codeaurora.org \
    --cc=wens@csie.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).