From: Boris Brezillon <boris.brezillon@free-electrons.com>
To: Archit Taneja <architt@codeaurora.org>
Cc: Mark Rutland <mark.rutland@arm.com>,
devicetree@vger.kernel.org, Cyprian Wronka <cwronka@cadence.com>,
Thomas Petazzoni <thomas.petazzoni@free-electrons.com>,
Pawel Moll <pawel.moll@arm.com>,
Ian Campbell <ijc+devicetree@hellion.org.uk>,
Simon Hatliff <hatliff@cadence.com>,
dri-devel@lists.freedesktop.org,
Alan Douglas <adouglas@cadence.com>,
Rob Herring <robh+dt@kernel.org>,
Kumar Gala <galak@codeaurora.org>,
Maxime Ripard <maxime.ripard@free-electrons.com>,
Richard Sproul <sproul@cadence.com>,
Neil Webb <neilw@cadence.com>
Subject: Re: [PATCH v2 2/2] dt-bindings: drm/bridge: Document Cadence DSI bridge bindings
Date: Tue, 6 Jun 2017 11:35:45 +0200 [thread overview]
Message-ID: <20170606113545.3a9ab2d0@bbrezillon> (raw)
In-Reply-To: <60f8b8ec-c83b-0609-c5e5-44b3f9302808@codeaurora.org>
On Sat, 3 Jun 2017 23:43:17 +0530
Archit Taneja <architt@codeaurora.org> wrote:
> Hi,
>
> On 06/02/2017 05:34 PM, Boris Brezillon wrote:
> > Document the bindings used for the Cadence DSI bridge.
> >
> > Signed-off-by: Boris Brezillon <boris.brezillon@free-electrons.com>
> > ---
> > .../bindings/display/bridge/cdns,dsi.txt | 55 ++++++++++++++++++++++
> > 1 file changed, 55 insertions(+)
> > create mode 100644 Documentation/devicetree/bindings/display/bridge/cdns,dsi.txt
> >
> > diff --git a/Documentation/devicetree/bindings/display/bridge/cdns,dsi.txt b/Documentation/devicetree/bindings/display/bridge/cdns,dsi.txt
> > new file mode 100644
> > index 000000000000..770c5c5b1e93
> > --- /dev/null
> > +++ b/Documentation/devicetree/bindings/display/bridge/cdns,dsi.txt
> > @@ -0,0 +1,55 @@
> > +Cadence DSI bridge
> > +==================
> > +
> > +The Cadence DSI bridge is a DPI to DSI bridge supporting up to 4 DSI lanes.
>
> Is this a separate chip, or an IP integrated into SoCs?
It's supposed to be integrated into SoCs.
> If it's the
> latter, I don't think DPI on the its input side is the right term to
> use. Maybe RGB would be more appropriate here.
Well, the datasheet explicitly mentions DPI, and you can also send
pixels in YUV422 and YUV420 format on this bus, so I don't think RGB is
appropriate, but if you really want me to use RGB I can change that.
BTW, can you detail why DPI is not appropriate for internal parallel
busses. I don't understand why it makes a difference when the bus is exposed
through external pins.
>
> > +
> > +Required properties:
> > +- compatible: should be set to "cdns,dsi".
>
> Would it be better to take a dw-hdmi like approach here? I.e, the
> binding should be specific to the SoC that integrates this DSI
> bridge?
Hm, I was considering something slightly different: adding new compat
strings to the DSI bridge driver and keep the interface to the display
controller drivers as simple as possible to avoid duplicating the glue
used to bind the component in all display controller drivers embedding
this bridge.
Note that right now we don't have any SoC embedding this IP. It has
been tested on an FPGA with a very basic display controller (designed
for testing purpose only). By exposing this IP as a simple bridge, we
can easily attach it to any kind of display controller, and if we ever
need to use the component framework, then it should be pretty easy to
add support for this feature as a follow-up patch.
>
> > +- reg: physical base address and length of the controller's registers.
> > +- interrupts: interrupt line connected to the DSI bridge.
> > +- clocks: DSI bridge clocks.
> > +- clock-names: must contain "pclk" and "sysclk".
> > +- phys: phandle link to the MIPI D-PHY controller.
> > +- phy-names: must contain "dphy".
> > +- #address-cells: must be set to 1.
> > +- #size-cells: must be set to 0.
> > +
> > +Required subnodes:
> > +- ports: Ports as described in Documentation/devicetree/bindings/graph.txt.
> > + Currently contains a single input port at address 0 representing the DPI
> > + input. Other ports will be added later to support the SDI inputs.
> > + Port 0 should be connected to a DPI encoder output.
>
> The output of the DSI bridge may be another bridge, which could be i2c
> controlled. In that case, it won't be a child of the DSI bridge. For
> such scenarios, we might want to define an output port for the bridge.
Hm, okay. IIRC, this is something you mentioned when I asked how to
describe input/output ports for a DSI bridge a while ago.
I'm still not sure how the links between input and output endpoint are
supposed to be described.
For example, if you take the case where you have the DSI device
directly described under the DSI host controller, should I create
another node for this output port? Something like the following?
dsi@xxx {
#address-cells = <1>;
#size-cells = <0>;
ports {
#address-cells = <1>;
#size-cells = <0>;
dpi_in: port@0 {
reg = <0>;
#address-cells = <1>;
#size-cells = <0>;
endpoint@0 {
remote-endpoint = <&dpi_out>;
};
};
dsi_out0: port@1 {
reg = <1>;
#address-cells = <1>;
#size-cells = <0>;
dsi_out0: endpoint@0 {
remote-endpoint = <&dsi_panel0_in>;
};
};
dsi_out0: port@2 {
reg = <2>;
#address-cells = <1>;
#size-cells = <0>;
dsi_out1: endpoint@0 {
remote-endpoint = <&dsi_panel1_in>;
};
};
};
panel@0 {
compatible = "...";
reg = <0>;
#address-cells = <1>;
#size-cells = <0>;
port@0 {
#address-cells = <1>;
#size-cells = <0>;
reg = <0>;
dsi_panel0_in: endpoint@0 {
remote-endpoint = <&dsi_out0>;
};
};
};
panel@1 {
compatible = "...";
reg = <1>;
#address-cells = <1>;
#size-cells = <0>;
port@0 {
#address-cells = <1>;
#size-cells = <0>;
reg = <0>;
dsi_panel1_in: endpoint@0 {
remote-endpoint = <&dsi_out1>;
};
};
};
};
Thanks for the review,
Boris
_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel
next prev parent reply other threads:[~2017-06-06 9:35 UTC|newest]
Thread overview: 21+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-06-02 12:04 [PATCH v2 1/2] drm/bridge: Add Cadence DSI driver Boris Brezillon
[not found] ` <1496405096-18275-1-git-send-email-boris.brezillon-wi1+55ScJUtKEb57/3fJTNBPR1lH4CV8@public.gmane.org>
2017-06-02 12:04 ` [PATCH v2 2/2] dt-bindings: drm/bridge: Document Cadence DSI bridge bindings Boris Brezillon
2017-06-03 18:13 ` Archit Taneja
2017-06-06 9:35 ` Boris Brezillon [this message]
2017-06-06 12:40 ` Tomi Valkeinen
[not found] ` <902ba6cf-4125-fac6-62dd-6b6198f541f3-l0cyMroinI0@public.gmane.org>
2017-06-06 12:48 ` Boris Brezillon
2017-06-06 12:58 ` Tomi Valkeinen
[not found] ` <9ca829e6-4696-7c3a-aed3-6a2af3161557-l0cyMroinI0@public.gmane.org>
2017-06-13 9:02 ` Andrzej Hajda
[not found] ` <cb4c3bc1-5c61-25dd-a229-64753de68af4-Sze3O3UU22JBDgjK7y7TUQ@public.gmane.org>
2017-06-19 10:12 ` Boris Brezillon
2017-06-20 6:56 ` Archit Taneja
[not found] ` <44b693f5-152e-cb0c-4a99-c8d1b0d8e3d9-sgV2jX0FEOL9JmXXK+q4OQ@public.gmane.org>
2017-06-20 7:22 ` Andrzej Hajda
2017-06-14 3:44 ` Archit Taneja
[not found] ` <1496405096-18275-2-git-send-email-boris.brezillon-wi1+55ScJUtKEb57/3fJTNBPR1lH4CV8@public.gmane.org>
2017-06-06 12:30 ` Tomi Valkeinen
[not found] ` <62284d00-c204-dc2e-a780-0357b2094b62-l0cyMroinI0@public.gmane.org>
2017-06-06 12:37 ` Boris Brezillon
2017-06-06 13:01 ` Tomi Valkeinen
[not found] ` <99525652-0270-4eb0-73bc-c65ac51bc39e-l0cyMroinI0@public.gmane.org>
2017-06-06 13:06 ` Boris Brezillon
2017-06-03 18:50 ` [PATCH v2 1/2] drm/bridge: Add Cadence DSI driver Archit Taneja
[not found] ` <29776d56-b6ae-9f92-0b94-8c55b46169fd-sgV2jX0FEOL9JmXXK+q4OQ@public.gmane.org>
2017-06-06 10:20 ` Boris Brezillon
2017-06-14 4:02 ` Archit Taneja
2017-06-06 13:30 ` Tomi Valkeinen
2017-06-06 14:08 ` Boris Brezillon
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=20170606113545.3a9ab2d0@bbrezillon \
--to=boris.brezillon@free-electrons.com \
--cc=adouglas@cadence.com \
--cc=architt@codeaurora.org \
--cc=cwronka@cadence.com \
--cc=devicetree@vger.kernel.org \
--cc=dri-devel@lists.freedesktop.org \
--cc=galak@codeaurora.org \
--cc=hatliff@cadence.com \
--cc=ijc+devicetree@hellion.org.uk \
--cc=mark.rutland@arm.com \
--cc=maxime.ripard@free-electrons.com \
--cc=neilw@cadence.com \
--cc=pawel.moll@arm.com \
--cc=robh+dt@kernel.org \
--cc=sproul@cadence.com \
--cc=thomas.petazzoni@free-electrons.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;
as well as URLs for NNTP newsgroup(s).