devicetree.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Adrian Ratiu <adrian.ratiu@collabora.com>
To: Laurent Pinchart <laurent.pinchart@ideasonboard.com>,
	Adrian Ratiu <adrian.ratiu@collabora.com>
Cc: linux-arm-kernel@lists.infradead.org, devicetree@vger.kernel.org,
	linux-rockchip@lists.infradead.org,
	Jernej Skrabec <jernej.skrabec@siol.net>,
	Heiko Stuebner <heiko@sntech.de>, Jonas Karlman <jonas@kwiboo.se>,
	linux-kernel@vger.kernel.org, dri-devel@lists.freedesktop.org,
	Andrzej Hajda <a.hajda@samsung.com>,
	kernel@collabora.com, linux-stm32@st-md-mailman.stormreply.com,
	linux-imx@nxp.com, Rob Herring <robh@kernel.org>,
	Neil Armstrong <narmstrong@baylibre.com>,
	Fabio Estevam <festevam@gmail.com>,
	Adrian Pop <pop.adrian61@gmail.com>,
	Arnaud Ferraris <arnaud.ferraris@collabora.com>,
	Sjoerd Simons <sjoerd.simons@collabora.com>,
	Martyn Welch <martyn.welch@collabora.com>
Subject: Re: [PATCH v7 5/8] dt-bindings: display: add i.MX6 MIPI DSI host controller doc
Date: Wed, 22 Apr 2020 13:15:41 +0300	[thread overview]
Message-ID: <877dy7ker6.fsf@collabora.com> (raw)
In-Reply-To: <20200422010155.GL5983@pendragon.ideasonboard.com>

On Wed, 22 Apr 2020, Laurent Pinchart 
<laurent.pinchart@ideasonboard.com> wrote:
> Hi Adrian, 
>

Hi Laurent,
 
> On Wed, Apr 22, 2020 at 03:58:33AM +0300, Laurent Pinchart 
> wrote: 
>> On Tue, Apr 21, 2020 at 07:16:07PM +0300, Adrian Ratiu wrote: 
>> > This provides an example DT binding for the MIPI DSI host 
>> > controller present on the i.MX6 SoC based on Synopsis 
>> > DesignWare v1.01 IP.   Cc: Rob Herring <robh@kernel.org> Cc: 
>> > Neil Armstrong <narmstrong@baylibre.com> Cc: Fabio Estevam 
>> > <festevam@gmail.com> Cc: Laurent Pinchart 
>> > <laurent.pinchart@ideasonboard.com> Cc: 
>> > devicetree@vger.kernel.org Tested-by: Adrian Pop 
>> > <pop.adrian61@gmail.com> Tested-by: Arnaud Ferraris 
>> > <arnaud.ferraris@collabora.com> Signed-off-by: Sjoerd Simons 
>> > <sjoerd.simons@collabora.com> Signed-off-by: Martyn Welch 
>> > <martyn.welch@collabora.com> Signed-off-by: Adrian Ratiu 
>> > <adrian.ratiu@collabora.com> --- Changes since v6: 
>> >   - Added ref to the newly created snps,dw-mipi-dsi.yaml 
>> >   (Laurent) - Moved *-cells properties outside 
>> >   patternProperties (Laurent) - Removed the panel port 
>> >   documentation (Laurent) - Wrapped lines at 80 chars, typo 
>> >   fixes, sort includes (Laurent) 
>> >  Changes since v5: 
>> >   - Fixed missing reg warning (Fabio) - Updated dt-schema and 
>> >   fixed warnings (Rob) 
>> >  Changes since v4: 
>> >   - Fixed yaml binding to pass `make dt_binding_check 
>> >   dtbs_check` and addressed received binding feedback (Rob) 
>> >  Changes since v3: 
>> >   - Added commit message (Neil) - Converted to yaml format 
>> >   (Neil) - Minor dt node + driver fixes (Rob) - Added small 
>> >   panel example to the host controller binding 
>> >  Changes since v2: 
>> >   - Fixed commit tags (Emil) 
>> > --- 
>> >  .../display/imx/fsl,mipi-dsi-imx6.yaml        | 135 
>> >  ++++++++++++++++++ 1 file changed, 135 insertions(+) create 
>> >  mode 100644 
>> >  Documentation/devicetree/bindings/display/imx/fsl,mipi-dsi-imx6.yaml 
>> >  diff --git 
>> > a/Documentation/devicetree/bindings/display/imx/fsl,mipi-dsi-imx6.yaml 
>> > b/Documentation/devicetree/bindings/display/imx/fsl,mipi-dsi-imx6.yaml 
>> > new file mode 100644 index 0000000000000..b73e3ae33a852 --- 
>> > /dev/null +++ 
>> > b/Documentation/devicetree/bindings/display/imx/fsl,mipi-dsi-imx6.yaml 
>> > @@ -0,0 +1,135 @@ +# SPDX-License-Identifier: (GPL-2.0-only 
>> > OR BSD-2-Clause) +%YAML 1.2 +--- +$id: 
>> > http://devicetree.org/schemas/display/imx/fsl,mipi-dsi-imx6.yaml# 
>> > +$schema: http://devicetree.org/meta-schemas/core.yaml# + 
>> > +title: Freescale i.MX6 DW MIPI DSI Host Controller + 
>> > +maintainers: +  - Adrian Ratiu <adrian.ratiu@collabora.com> 
>> > + +description: | +  The i.MX6 DSI host controller is a 
>> > Synopsys DesignWare MIPI DSI v1.01 +  IP block with a 
>> > companion PHY IP. 
> 
> I forgot to mention, if there's a companion PHY, shouldn't it be 
> referenced from the DT bindings ? 
>

I don't think so, that description was copied verbatim from the 
imx6 ref manual IIRC, the physical layer is the same for MIPI DSI 
which does TX as for MIPI CSI which does RX, but looking at the 
ref manual and how drivers are written I don't think it's 
necessary.

This might change if we wanted to unify the DSI and CSI drivers a 
bit, but considering the scope already associated with this patch 
series I'm a bit afraid to open a subject like that =)

>> > +
>> > +  These DT bindings follow the Synopsys DW MIPI DSI bindings defined in
>> > +  Documentation/devicetree/bindings/display/bridge/dw_mipi_dsi.txt with
>> > +  the following device-specific properties.
>> > +
>> > +allOf:
>> > +  - $ref: ../bridge/snps,dw-mipi-dsi.yaml#
>> > +
>> > +properties:
>> > +  '#address-cells':
>> > +    const: 1
>> > +
>> > +  '#size-cells':
>> > +    const: 0
>> > +
>> > +  compatible:
>> > +    items:
>> > +      - const: fsl,imx6q-mipi-dsi
>> > +      - const: snps,dw-mipi-dsi
>> > +
>> > +  reg:
>> > +    maxItems: 1
>> > +
>> > +  interrupts:
>> > +    maxItems: 1
>> > +
>> > +  clocks:
>> > +    items:
>> > +      - description: Module Clock
>> > +      - description: DSI bus clock
>> > +
>> > +  clock-names:
>> > +    items:
>> > +      - const: ref
>> > +      - const: pclk
>> > +
>> > +  fsl,gpr:
>> > +    description:
>> > +      Phandle to the iomuxc-gpr region containing the multiplexer ctrl register.
>> > +    $ref: /schemas/types.yaml#/definitions/phandle
>> > +
>> > +  ports:
>> > +    type: object
>> > +    description: |
>> > +      A node containing DSI input & output port nodes with endpoint
>> > +      definitions as documented in
>> > +      Documentation/devicetree/bindings/media/video-interfaces.txt
>> > +      Documentation/devicetree/bindings/graph.txt
>> > +    properties:
>> > +      port@0:
>> > +        type: object
>> > +        description:
>> > +          DSI input port node, connected to the ltdc rgb output port.
>> > +
>> > +      port@1:
>> > +        type: object
>> > +        description:
>> > +          RGB output port node, connected to a panel or a bridge input port.
>> 
>> Isn't it the other way around, doesn't the bridge take RGB input and
>> output DSI ? And to be precise, it's not about RGB, but about the input
>> being parallel interface (DSI will also carry RGB).
>> 
>> I would add
>> 
>>     required:
>>       - port@0
>>       - port@1
>> 
>> > +
>> > +additionalProperties: false
>> > +
>> > +patternProperties:
>> > +  "^panel@[0-3]$":
>> > +    type: object
>> > +
>> > +required:
>> > +  - "#address-cells"
>> > +  - "#size-cells"
>> > +  - compatible
>> > +  - reg
>> > +  - interrupts
>> > +  - clocks
>> > +  - clock-names
>> > +  - ports
>> > +
>> > +examples:
>> > +  - |+
>> > +    #include <dt-bindings/clock/imx6qdl-clock.h>
>> > +    #include <dt-bindings/gpio/gpio.h>
>> > +    #include <dt-bindings/interrupt-controller/arm-gic.h>
>> > +
>> > +    dsi: dsi@21e0000 {
>> > +        #address-cells = <1>;
>> > +        #size-cells = <0>;
>> > +        compatible = "fsl,imx6q-mipi-dsi", "snps,dw-mipi-dsi";
>> > +        reg = <0x021e0000 0x4000>;
>> > +        interrupts = <0 102 IRQ_TYPE_LEVEL_HIGH>;
>> > +        fsl,gpr = <&gpr>;
>> > +        clocks = <&clks IMX6QDL_CLK_MIPI_CORE_CFG>,
>> > +                 <&clks IMX6QDL_CLK_MIPI_IPG>;
>> > +        clock-names = "ref", "pclk";
>> > +
>> > +        ports {
>> > +            #address-cells = <1>;
>> > +            #size-cells = <0>;
>> 
>> port@0 is missing.
>> 
>> > +            port@1 {
>> > +                reg = <1>;
>> > +                dsi_out: endpoint {
>> > +                    remote-endpoint = <&panel_in>;
>> > +                };
>> > +            };
>> > +        };
>> > +
>> > +        panel@0 {
>> > +            compatible = "sharp,ls032b3sx01";
>> > +            reg = <0>;
>> > +            reset-gpios = <&gpio6 8 GPIO_ACTIVE_LOW>;
>> > +            ports {
>> > +                #address-cells = <1>;
>> > +                #size-cells = <0>;
>> > +                port@0 {
>> > +                    reg = <0>;
>> > +                    panel_in: endpoint {
>> > +                        remote-endpoint = <&dsi_out>;
>> > +                    };
>> > +                };
>> > +            };
>> > +        };
>> > +    };
>> > +
>> > +...
>
> -- 
> Regards,
>
> Laurent Pinchart

  reply	other threads:[~2020-04-22 10:48 UTC|newest]

Thread overview: 24+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-04-21 16:16 [PATCH v7 0/8] Genericize DW MIPI DSI bridge and add i.MX 6 driver Adrian Ratiu
2020-04-21 16:16 ` [PATCH v7 1/8] drm: bridge: dw_mipi_dsi: add initial regmap infrastructure Adrian Ratiu
2020-04-21 16:16 ` [PATCH v7 2/8] drm: bridge: dw_mipi_dsi: abstract register access using reg_fields Adrian Ratiu
2020-04-21 16:16 ` [PATCH v7 3/8] drm: bridge: synopsis: add dsi v1.01 support Adrian Ratiu
2020-04-21 16:16 ` [PATCH v7 4/8] drm: imx: Add i.MX 6 MIPI DSI host platform driver Adrian Ratiu
2020-04-22  1:07   ` Laurent Pinchart
2020-04-22  9:33     ` Adrian Ratiu
2020-04-22 15:20       ` Laurent Pinchart
2020-04-28 14:30     ` Daniel Vetter
2020-04-28 19:08       ` Adrian Ratiu
2020-04-30 13:58         ` Daniel Vetter
2020-04-30 15:11           ` Angelo Ribeiro
2020-04-21 16:16 ` [PATCH v7 5/8] dt-bindings: display: add i.MX6 MIPI DSI host controller doc Adrian Ratiu
2020-04-22  0:58   ` Laurent Pinchart
2020-04-22  1:01     ` Laurent Pinchart
2020-04-22 10:15       ` Adrian Ratiu [this message]
2020-04-22 15:29         ` Laurent Pinchart
2020-04-22 16:19           ` Adrian Ratiu
2020-04-22 18:07     ` Adrian Ratiu
2020-04-22 19:42   ` Rob Herring
2020-04-21 16:16 ` [PATCH v7 6/8] drm: stm: dw-mipi-dsi: let the bridge handle the HW version check Adrian Ratiu
2020-04-21 16:16 ` [PATCH v7 7/8] drm: bridge: dw-mipi-dsi: split low power cfg register into fields Adrian Ratiu
2020-04-21 16:16 ` [PATCH v7 8/8] drm: bridge: dw-mipi-dsi: fix bad register field offsets Adrian Ratiu
2020-04-23  7:31 ` [PATCH v7 0/8] Genericize DW MIPI DSI bridge and add i.MX 6 driver Neil Armstrong

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=877dy7ker6.fsf@collabora.com \
    --to=adrian.ratiu@collabora.com \
    --cc=a.hajda@samsung.com \
    --cc=arnaud.ferraris@collabora.com \
    --cc=devicetree@vger.kernel.org \
    --cc=dri-devel@lists.freedesktop.org \
    --cc=festevam@gmail.com \
    --cc=heiko@sntech.de \
    --cc=jernej.skrabec@siol.net \
    --cc=jonas@kwiboo.se \
    --cc=kernel@collabora.com \
    --cc=laurent.pinchart@ideasonboard.com \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-imx@nxp.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-rockchip@lists.infradead.org \
    --cc=linux-stm32@st-md-mailman.stormreply.com \
    --cc=martyn.welch@collabora.com \
    --cc=narmstrong@baylibre.com \
    --cc=pop.adrian61@gmail.com \
    --cc=robh@kernel.org \
    --cc=sjoerd.simons@collabora.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).