From: Maxime Ripard <maxime.ripard@free-electrons.com>
To: "Jernej Škrabec" <jernej.skrabec@siol.net>
Cc: Rob Herring <robh@kernel.org>,
airlied@linux.ie, mark.rutland@arm.com, wens@csie.org,
architt@codeaurora.org, a.hajda@samsung.com,
Laurent.pinchart@ideasonboard.com, mturquette@baylibre.com,
sboyd@codeaurora.org, Jose.Abreu@synopsys.com,
narmstrong@baylibre.com, dri-devel@lists.freedesktop.org,
devicetree@vger.kernel.org, linux-arm-kernel@lists.infradead.org,
linux-kernel@vger.kernel.org, linux-clk@vger.kernel.org,
linux-sunxi@googlegroups.com
Subject: Re: [PATCH 06/11] dt-bindings: display: sun4i-drm: Add A83T HDMI pipeline
Date: Thu, 4 Jan 2018 19:52:10 +0100 [thread overview]
Message-ID: <20180104185210.afsvsofq7q35psa6@flea.lan> (raw)
In-Reply-To: <1645801.yZU0HLsLbk@jernej-laptop>
On Wed, Jan 03, 2018 at 10:32:26PM +0100, Jernej =C5=A0krabec wrote:
> Hi Rob,
>=20
> 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.
> > >=20
> > > Mixer is already properly described, so only compatible is added.
> > >=20
> > > 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.
> > >=20
> > > A83T features Synopsys DW HDMI controller with a custom PHY which loo=
ks
> > > like Synopsys Gen2 PHY with few additions. Since there is no
> > > documentation, needed properties were found out through experimentati=
on
> > > and reading BSP code.
> > >=20
> > > At the end, example is added for newer SoCs, which features DE2 and DW
> > > HDMI.
> > >=20
> > > Signed-off-by: Jernej Skrabec <jernej.skrabec@siol.net>
> > > ---
> > >=20
> > > .../bindings/display/sunxi/sun4i-drm.txt | 188
> > > ++++++++++++++++++++- 1 file changed, 181 insertions(+), 7 deletions=
(-)
> > >=20
> > > diff --git a/Documentation/devicetree/bindings/display/sunxi/sun4i-dr=
m.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
> > >=20
> > > @@ -64,6 +64,40 @@ Required properties:
> > > first port should be the input endpoint. The second should be the
> > > output, usually to an HDMI connector.
> > >=20
> > > +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.
> >=20
> > 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...
>=20
> Unfortunately, it's not so straighforward. Phy is actually accessed throu=
gh=20
> I2C implemented in HDMI controller. Second memory region in this case has=
=20
> small influence on phy. However, it has big influence on controller. For=
=20
> example, magic number has to be written in one register in second memory=
=20
> region in order to unlock read access to any register from first memory r=
egion=20
> (controller). However, they shouldn't be merged to one region, because fi=
rst=20
> memory region requires byte access while second memory region can be acce=
ssed=20
> per byte or word.
>=20
> To complicate things more, later I want to add support for another SoC wh=
ich=20
> has same glue layer (unlocking read access, etc.) and uses memory mapped =
phy=20
> registers in second memory region.
>=20
> 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 :)
Maxime
--=20
Maxime Ripard, Free Electrons
Embedded Linux and Kernel engineering
http://free-electrons.com
WARNING: multiple messages have this Message-ID (diff)
From: maxime.ripard@free-electrons.com (Maxime Ripard)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH 06/11] dt-bindings: display: sun4i-drm: Add A83T HDMI pipeline
Date: Thu, 4 Jan 2018 19:52:10 +0100 [thread overview]
Message-ID: <20180104185210.afsvsofq7q35psa6@flea.lan> (raw)
In-Reply-To: <1645801.yZU0HLsLbk@jernej-laptop>
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 :)
Maxime
--
Maxime Ripard, Free Electrons
Embedded Linux and Kernel engineering
http://free-electrons.com
WARNING: multiple messages have this Message-ID (diff)
From: Maxime Ripard <maxime.ripard@free-electrons.com>
To: "Jernej Škrabec" <jernej.skrabec@siol.net>
Cc: Rob Herring <robh@kernel.org>,
airlied@linux.ie, mark.rutland@arm.com, wens@csie.org,
architt@codeaurora.org, a.hajda@samsung.com,
Laurent.pinchart@ideasonboard.com, mturquette@baylibre.com,
sboyd@codeaurora.org, Jose.Abreu@synopsys.com,
narmstrong@baylibre.com, dri-devel@lists.freedesktop.org,
devicetree@vger.kernel.org, linux-arm-kernel@lists.infradead.org,
linux-kernel@vger.kernel.org, linux-clk@vger.kernel.org,
linux-sunxi@googlegroups.com
Subject: Re: [PATCH 06/11] dt-bindings: display: sun4i-drm: Add A83T HDMI pipeline
Date: Thu, 4 Jan 2018 19:52:10 +0100 [thread overview]
Message-ID: <20180104185210.afsvsofq7q35psa6@flea.lan> (raw)
In-Reply-To: <1645801.yZU0HLsLbk@jernej-laptop>
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 :)
Maxime
--
Maxime Ripard, Free Electrons
Embedded Linux and Kernel engineering
http://free-electrons.com
next prev parent reply other threads:[~2018-01-04 18:52 UTC|newest]
Thread overview: 104+ 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
2017-12-30 21:01 ` Jernej Skrabec
2017-12-30 21:01 ` Jernej Skrabec
2017-12-30 21:01 ` [PATCH 01/11] clk: sunxi-ng: Don't set k if width is 0 for nkmp plls Jernej Skrabec
2017-12-30 21:01 ` Jernej Skrabec
2017-12-30 21:01 ` Jernej Skrabec
2018-01-04 14:25 ` maxime.ripard
2018-01-04 14:25 ` maxime.ripard-wi1+55ScJUtKEb57/3fJTNBPR1lH4CV8
2018-01-04 14:25 ` maxime.ripard at free-electrons.com
2018-01-04 14:45 ` Chen-Yu Tsai
2018-01-04 14:45 ` Chen-Yu Tsai
2018-01-04 14:45 ` Chen-Yu Tsai
2018-01-04 19:28 ` Jernej Škrabec
2018-01-04 19:28 ` Jernej Škrabec
2018-01-04 19:28 ` Jernej Škrabec
2018-01-08 9:19 ` [linux-sunxi] " Chen-Yu Tsai
2018-01-08 9:19 ` Chen-Yu Tsai
2018-01-08 9:19 ` Chen-Yu Tsai
2018-01-08 9:19 ` [linux-sunxi] " Chen-Yu Tsai
2018-01-09 15:54 ` Jernej Škrabec
2018-01-09 15:54 ` Jernej Škrabec
2018-01-09 15:54 ` Jernej Škrabec
2017-12-30 21:01 ` [PATCH 02/11] clk: sunxi-ng: a83t: Add M divider to TCON1 clock Jernej Skrabec
2017-12-30 21:01 ` Jernej Skrabec
2017-12-30 21:01 ` Jernej Skrabec
2018-01-03 5:46 ` Chen-Yu Tsai
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
2017-12-30 21:01 ` Jernej Skrabec
2017-12-30 21:01 ` Jernej Skrabec
2018-01-09 12:56 ` Laurent Pinchart
2018-01-09 12:56 ` Laurent Pinchart
2018-01-09 15:29 ` Neil Armstrong
2018-01-09 15:29 ` Neil Armstrong
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
2017-12-30 21:01 ` Jernej Skrabec
2017-12-30 21:01 ` Jernej Skrabec
2018-01-09 10:43 ` Archit Taneja
2018-01-09 10:43 ` Archit Taneja
2018-01-09 10:43 ` Archit Taneja
2018-01-09 15:58 ` Jernej Škrabec
2018-01-09 15:58 ` Jernej Škrabec
2018-01-09 15:58 ` Jernej Škrabec
2018-01-09 16:08 ` Laurent Pinchart
2018-01-09 16:08 ` Laurent Pinchart
2018-01-09 16:08 ` Laurent Pinchart
2018-01-09 16:33 ` Jernej Škrabec
2018-01-09 16:33 ` Jernej Škrabec
2018-01-09 16:33 ` Jernej Škrabec
2018-01-09 18:42 ` Jernej Škrabec
2018-01-09 18:42 ` Jernej Škrabec
2018-01-09 18:42 ` Jernej Škrabec
2018-01-09 18:42 ` Jernej Škrabec
2018-01-09 13:30 ` Laurent Pinchart
2018-01-09 13:30 ` Laurent Pinchart
2018-01-09 16:02 ` Jernej Škrabec
2018-01-09 16:02 ` Jernej Škrabec
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 ` Jernej Skrabec
2017-12-30 21:01 ` Jernej Skrabec
2017-12-30 21:01 ` [PATCH 06/11] dt-bindings: display: sun4i-drm: Add A83T HDMI pipeline Jernej Skrabec
2017-12-30 21:01 ` Jernej Skrabec
2017-12-30 21:01 ` Jernej Skrabec
2018-01-03 20:21 ` Rob Herring
2018-01-03 20:21 ` Rob Herring
2018-01-03 20:21 ` Rob Herring
2018-01-03 21:32 ` Jernej Škrabec
2018-01-03 21:32 ` Jernej Škrabec
2018-01-03 21:32 ` Jernej Škrabec
2018-01-04 18:52 ` Maxime Ripard [this message]
2018-01-04 18:52 ` Maxime Ripard
2018-01-04 18:52 ` Maxime Ripard
2018-01-05 2:49 ` Icenowy Zheng
2018-01-05 2:49 ` Icenowy Zheng
2018-01-05 6:20 ` [linux-sunxi] " Jernej Škrabec
2018-01-05 6:20 ` Jernej Škrabec
2018-01-05 6:20 ` Jernej Škrabec
2018-01-05 6:20 ` [linux-sunxi] " Jernej Škrabec
2018-01-05 2:50 ` Icenowy Zheng
2018-01-05 2:50 ` Icenowy Zheng
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
2017-12-30 21:01 ` Jernej Skrabec
2017-12-30 21:01 ` Jernej Skrabec
2018-01-04 15:50 ` Maxime Ripard
2018-01-04 15:50 ` Maxime Ripard
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
2017-12-30 21:02 ` Jernej Skrabec
2017-12-30 21:02 ` Jernej Skrabec
2018-01-04 15:50 ` Maxime Ripard
2018-01-04 15:50 ` Maxime Ripard
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 ` Jernej Skrabec
2017-12-30 21:02 ` 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 ` Jernej Skrabec
2017-12-30 21:02 ` Jernej Skrabec
2017-12-30 21:02 ` [PATCH 11/11] ARM: dts: sun8i: a83t: Enable HDMI on BananaPi M3 Jernej Skrabec
2017-12-30 21:02 ` Jernej Skrabec
2017-12-30 21:02 ` 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=20180104185210.afsvsofq7q35psa6@flea.lan \
--to=maxime.ripard@free-electrons.com \
--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=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 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.