All of lore.kernel.org
 help / color / mirror / Atom feed
From: Maxime Ripard <maxime@cerno.tech>
To: Kevin Tang <kevin3.tang@gmail.com>
Cc: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>,
	Sean Paul <sean@poorly.run>, David Airlie <airlied@linux.ie>,
	Daniel Vetter <daniel@ffwll.ch>, Rob Herring <robh+dt@kernel.org>,
	Mark Rutland <mark.rutland@arm.com>,
	Orson Zhai <orsonzhai@gmail.com>,
	Chunyan Zhang <zhang.lyra@gmail.com>,
	"Linux-Kernel@Vger. Kernel. Org" <linux-kernel@vger.kernel.org>,
	ML dri-devel <dri-devel@lists.freedesktop.org>,
	devicetree@vger.kernel.org
Subject: Re: [PATCH v4 5/6] dt-bindings: display: add Unisoc's mipi dsi controller bindings
Date: Thu, 15 Apr 2021 10:42:30 +0200	[thread overview]
Message-ID: <20210415084230.moqxuy3caym3kupk@gilmour> (raw)
In-Reply-To: <CAFPSGXaQKeKMKC7MGXhxQErB_yh_eE8khk1hOrjHnuOH20Gg4Q@mail.gmail.com>

[-- Attachment #1: Type: text/plain, Size: 4671 bytes --]

On Fri, Apr 09, 2021 at 08:23:19AM +0800, Kevin Tang wrote:
> Maxime Ripard <maxime@cerno.tech> 于2021年4月7日周三 下午6:46写道:
> 
> > On Wed, Mar 31, 2021 at 09:49:14AM +0800, Kevin Tang wrote:
> > > Hi Maxime,
> > >
> > > Maxime Ripard <maxime@cerno.tech> 于2021年3月24日周三 下午7:13写道:
> > >
> > > > On Mon, Feb 22, 2021 at 09:28:21PM +0800, Kevin Tang wrote:
> > > > > From: Kevin Tang <kevin.tang@unisoc.com>
> > > > >
> > > > > Adds MIPI DSI Controller
> > > > > support for Unisoc's display subsystem.
> > > > >
> > > > > Cc: Orson Zhai <orsonzhai@gmail.com>
> > > > > Cc: Chunyan Zhang <zhang.lyra@gmail.com>
> > > > > Signed-off-by: Kevin Tang <kevin.tang@unisoc.com>
> > > > > Reviewed-by: Rob Herring <robh@kernel.org>
> > > > > ---
> > > > >  .../display/sprd/sprd,sharkl3-dsi-host.yaml   | 102
> > ++++++++++++++++++
> > > > >  1 file changed, 102 insertions(+)
> > > > >  create mode 100644
> > > >
> > Documentation/devicetree/bindings/display/sprd/sprd,sharkl3-dsi-host.yaml
> > > > >
> > > > > diff --git
> > > >
> > a/Documentation/devicetree/bindings/display/sprd/sprd,sharkl3-dsi-host.yaml
> > > >
> > b/Documentation/devicetree/bindings/display/sprd/sprd,sharkl3-dsi-host.yaml
> > > > > new file mode 100644
> > > > > index 000000000..d439f688f
> > > > > --- /dev/null
> > > > > +++
> > > >
> > b/Documentation/devicetree/bindings/display/sprd/sprd,sharkl3-dsi-host.yaml
> > > > > @@ -0,0 +1,102 @@
> > > > > +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
> > > > > +%YAML 1.2
> > > > > +---
> > > > > +$id:
> > > > http://devicetree.org/schemas/display/sprd/sprd,sharkl3-dsi-host.yaml#
> > > > > +$schema: http://devicetree.org/meta-schemas/core.yaml#
> > > > > +
> > > > > +title: Unisoc MIPI DSI Controller
> > > > > +
> > > > > +maintainers:
> > > > > +  - Kevin Tang <kevin.tang@unisoc.com>
> > > > > +
> > > > > +properties:
> > > > > +  compatible:
> > > > > +    const: sprd,sharkl3-dsi-host
> > > > > +
> > > > > +  reg:
> > > > > +    maxItems: 1
> > > > > +
> > > > > +  interrupts:
> > > > > +    maxItems: 2
> > > > > +
> > > > > +  clocks:
> > > > > +    minItems: 1
> > > > > +
> > > > > +  clock-names:
> > > > > +    items:
> > > > > +      - const: clk_src_96m
> > > > > +
> > > > > +  power-domains:
> > > > > +    maxItems: 1
> > > > > +
> > > > > +  ports:
> > > > > +    type: object
> > > > > +
> > > > > +    properties:
> > > > > +      "#address-cells":
> > > > > +        const: 1
> > > > > +
> > > > > +      "#size-cells":
> > > > > +        const: 0
> > > > > +
> > > > > +      port@0:
> > > > > +        type: object
> > > > > +        description:
> > > > > +          A port node with endpoint definitions as defined in
> > > > > +
> > Documentation/devicetree/bindings/media/video-interfaces.txt.
> > > > > +          That port should be the input endpoint, usually coming
> > from
> > > > > +          the associated DPU.
> > > > > +      port@1:
> > > > > +        type: object
> > > > > +        description:
> > > > > +          A port node with endpoint definitions as defined in
> > > > > +
> > Documentation/devicetree/bindings/media/video-interfaces.txt.
> > > > > +          That port should be the output endpoint, usually output to
> > > > > +          the associated panel.
> > > >
> > > > The DSI generic binding asks that peripherals that are controlled
> > > > through a DCS be a subnode of the MIPI-DSI bus, not through a port
> > > > endpoint.
> > > >
> > >  Our DSI controller don't support DCS now...
> >
> > I'm not sure I follow you, you mentionned in the patch 4 that you were
> > testing for a device to be in command mode, how would that work without
> > DCS support?
> >
> Sorry, I see DCS as DSC, pls ignore my previous comments.
> 
> dsi input node is display controller and dsi output node is panel,
> I still don't understand what it has to do with dcs? and it seems that
> other vendors also like this.
> 
> can you help provide some cases?

So the device tree is a tree organized through which bus controls which
device: Your DSI controller is accessed through a memory-mapped region
and is thus a child node of the main bus (I guess?) and then, since the
DSI panel is going to be controlled through the DSI controller and
MIPI-DCS, it needs to be a child of the display controller.

This is exactly what is being described here:
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/Documentation/devicetree/bindings/display/mipi-dsi-bus.txt#n42

The second port is thus not needed at all

Maxime

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 228 bytes --]

WARNING: multiple messages have this Message-ID (diff)
From: Maxime Ripard <maxime@cerno.tech>
To: Kevin Tang <kevin3.tang@gmail.com>
Cc: Mark Rutland <mark.rutland@arm.com>,
	devicetree@vger.kernel.org, David Airlie <airlied@linux.ie>,
	Chunyan Zhang <zhang.lyra@gmail.com>,
	"Linux-Kernel@Vger. Kernel. Org" <linux-kernel@vger.kernel.org>,
	ML dri-devel <dri-devel@lists.freedesktop.org>,
	Rob Herring <robh+dt@kernel.org>,
	Orson Zhai <orsonzhai@gmail.com>, Sean Paul <sean@poorly.run>
Subject: Re: [PATCH v4 5/6] dt-bindings: display: add Unisoc's mipi dsi controller bindings
Date: Thu, 15 Apr 2021 10:42:30 +0200	[thread overview]
Message-ID: <20210415084230.moqxuy3caym3kupk@gilmour> (raw)
In-Reply-To: <CAFPSGXaQKeKMKC7MGXhxQErB_yh_eE8khk1hOrjHnuOH20Gg4Q@mail.gmail.com>


[-- Attachment #1.1: Type: text/plain, Size: 4671 bytes --]

On Fri, Apr 09, 2021 at 08:23:19AM +0800, Kevin Tang wrote:
> Maxime Ripard <maxime@cerno.tech> 于2021年4月7日周三 下午6:46写道:
> 
> > On Wed, Mar 31, 2021 at 09:49:14AM +0800, Kevin Tang wrote:
> > > Hi Maxime,
> > >
> > > Maxime Ripard <maxime@cerno.tech> 于2021年3月24日周三 下午7:13写道:
> > >
> > > > On Mon, Feb 22, 2021 at 09:28:21PM +0800, Kevin Tang wrote:
> > > > > From: Kevin Tang <kevin.tang@unisoc.com>
> > > > >
> > > > > Adds MIPI DSI Controller
> > > > > support for Unisoc's display subsystem.
> > > > >
> > > > > Cc: Orson Zhai <orsonzhai@gmail.com>
> > > > > Cc: Chunyan Zhang <zhang.lyra@gmail.com>
> > > > > Signed-off-by: Kevin Tang <kevin.tang@unisoc.com>
> > > > > Reviewed-by: Rob Herring <robh@kernel.org>
> > > > > ---
> > > > >  .../display/sprd/sprd,sharkl3-dsi-host.yaml   | 102
> > ++++++++++++++++++
> > > > >  1 file changed, 102 insertions(+)
> > > > >  create mode 100644
> > > >
> > Documentation/devicetree/bindings/display/sprd/sprd,sharkl3-dsi-host.yaml
> > > > >
> > > > > diff --git
> > > >
> > a/Documentation/devicetree/bindings/display/sprd/sprd,sharkl3-dsi-host.yaml
> > > >
> > b/Documentation/devicetree/bindings/display/sprd/sprd,sharkl3-dsi-host.yaml
> > > > > new file mode 100644
> > > > > index 000000000..d439f688f
> > > > > --- /dev/null
> > > > > +++
> > > >
> > b/Documentation/devicetree/bindings/display/sprd/sprd,sharkl3-dsi-host.yaml
> > > > > @@ -0,0 +1,102 @@
> > > > > +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
> > > > > +%YAML 1.2
> > > > > +---
> > > > > +$id:
> > > > http://devicetree.org/schemas/display/sprd/sprd,sharkl3-dsi-host.yaml#
> > > > > +$schema: http://devicetree.org/meta-schemas/core.yaml#
> > > > > +
> > > > > +title: Unisoc MIPI DSI Controller
> > > > > +
> > > > > +maintainers:
> > > > > +  - Kevin Tang <kevin.tang@unisoc.com>
> > > > > +
> > > > > +properties:
> > > > > +  compatible:
> > > > > +    const: sprd,sharkl3-dsi-host
> > > > > +
> > > > > +  reg:
> > > > > +    maxItems: 1
> > > > > +
> > > > > +  interrupts:
> > > > > +    maxItems: 2
> > > > > +
> > > > > +  clocks:
> > > > > +    minItems: 1
> > > > > +
> > > > > +  clock-names:
> > > > > +    items:
> > > > > +      - const: clk_src_96m
> > > > > +
> > > > > +  power-domains:
> > > > > +    maxItems: 1
> > > > > +
> > > > > +  ports:
> > > > > +    type: object
> > > > > +
> > > > > +    properties:
> > > > > +      "#address-cells":
> > > > > +        const: 1
> > > > > +
> > > > > +      "#size-cells":
> > > > > +        const: 0
> > > > > +
> > > > > +      port@0:
> > > > > +        type: object
> > > > > +        description:
> > > > > +          A port node with endpoint definitions as defined in
> > > > > +
> > Documentation/devicetree/bindings/media/video-interfaces.txt.
> > > > > +          That port should be the input endpoint, usually coming
> > from
> > > > > +          the associated DPU.
> > > > > +      port@1:
> > > > > +        type: object
> > > > > +        description:
> > > > > +          A port node with endpoint definitions as defined in
> > > > > +
> > Documentation/devicetree/bindings/media/video-interfaces.txt.
> > > > > +          That port should be the output endpoint, usually output to
> > > > > +          the associated panel.
> > > >
> > > > The DSI generic binding asks that peripherals that are controlled
> > > > through a DCS be a subnode of the MIPI-DSI bus, not through a port
> > > > endpoint.
> > > >
> > >  Our DSI controller don't support DCS now...
> >
> > I'm not sure I follow you, you mentionned in the patch 4 that you were
> > testing for a device to be in command mode, how would that work without
> > DCS support?
> >
> Sorry, I see DCS as DSC, pls ignore my previous comments.
> 
> dsi input node is display controller and dsi output node is panel,
> I still don't understand what it has to do with dcs? and it seems that
> other vendors also like this.
> 
> can you help provide some cases?

So the device tree is a tree organized through which bus controls which
device: Your DSI controller is accessed through a memory-mapped region
and is thus a child node of the main bus (I guess?) and then, since the
DSI panel is going to be controlled through the DSI controller and
MIPI-DCS, it needs to be a child of the display controller.

This is exactly what is being described here:
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/Documentation/devicetree/bindings/display/mipi-dsi-bus.txt#n42

The second port is thus not needed at all

Maxime

[-- Attachment #1.2: signature.asc --]
[-- Type: application/pgp-signature, Size: 228 bytes --]

[-- Attachment #2: Type: text/plain, Size: 160 bytes --]

_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel

  reply	other threads:[~2021-04-15  8:42 UTC|newest]

Thread overview: 64+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-02-22 13:28 [PATCH v4 0/6] Add Unisoc's drm kms module Kevin Tang
2021-02-22 13:28 ` Kevin Tang
2021-02-22 13:28 ` [PATCH v4 1/6] dt-bindings: display: add Unisoc's drm master bindings Kevin Tang
2021-02-22 13:28   ` Kevin Tang
2021-02-22 13:28 ` [PATCH v4 2/6] drm/sprd: add Unisoc's drm kms master Kevin Tang
2021-02-22 13:28   ` Kevin Tang
2021-02-22 20:55   ` Orson Zhai
2021-02-22 20:55     ` Orson Zhai
2021-03-21 19:26   ` Kevin Tang
2021-03-24 10:53   ` Maxime Ripard
2021-03-24 10:53     ` Maxime Ripard
2021-03-31  1:20     ` Kevin Tang
2021-04-08 10:21   ` Thomas Zimmermann
2021-04-08 10:21     ` Thomas Zimmermann
2021-04-09 13:50     ` Kevin Tang
2021-04-09 13:57       ` Thomas Zimmermann
2021-04-09 13:57         ` Thomas Zimmermann
2021-02-22 13:28 ` [PATCH v4 3/6] dt-bindings: display: add Unisoc's dpu bindings Kevin Tang
2021-02-22 13:28   ` Kevin Tang
2021-02-22 13:28 ` [PATCH v4 4/6] drm/sprd: add Unisoc's drm display controller driver Kevin Tang
2021-02-22 13:28   ` Kevin Tang
2021-03-24 11:10   ` Maxime Ripard
2021-03-24 11:10     ` Maxime Ripard
2021-03-31  1:21     ` Kevin Tang
2021-04-07 10:45       ` Maxime Ripard
2021-04-07 10:45         ` Maxime Ripard
2021-04-08  3:05         ` Chunyan Zhang
2021-04-08  3:05           ` Chunyan Zhang
2021-04-09 13:35         ` Kevin Tang
2021-04-15  9:09           ` Maxime Ripard
2021-04-15  9:09             ` Maxime Ripard
2021-04-15  0:18     ` Kevin Tang
2021-04-15  0:18       ` Kevin Tang
2021-04-15  9:03       ` Maxime Ripard
2021-04-15  9:03         ` Maxime Ripard
2021-04-18 23:01         ` Kevin Tang
2021-04-18 23:01           ` Kevin Tang
2021-04-21 10:00           ` Maxime Ripard
2021-04-21 10:00             ` Maxime Ripard
2021-04-08 10:53   ` Thomas Zimmermann
2021-04-08 10:53     ` Thomas Zimmermann
2021-04-12  4:44     ` Kevin Tang
2021-02-22 13:28 ` [PATCH v4 5/6] dt-bindings: display: add Unisoc's mipi dsi controller bindings Kevin Tang
2021-02-22 13:28   ` Kevin Tang
2021-03-24 11:13   ` Maxime Ripard
2021-03-24 11:13     ` Maxime Ripard
2021-03-31  1:49     ` Kevin Tang
2021-04-07 10:46       ` Maxime Ripard
2021-04-07 10:46         ` Maxime Ripard
2021-04-09  0:23         ` Kevin Tang
2021-04-15  8:42           ` Maxime Ripard [this message]
2021-04-15  8:42             ` Maxime Ripard
2021-04-18 16:33             ` Kevin Tang
2021-04-18 16:33               ` Kevin Tang
2021-04-21  9:38               ` Maxime Ripard
2021-04-21  9:38                 ` Maxime Ripard
2021-02-22 13:28 ` [PATCH v4 6/6] drm/sprd: add Unisoc's drm mipi dsi&dphy driver Kevin Tang
2021-02-22 13:28   ` Kevin Tang
2021-03-24 11:27   ` Maxime Ripard
2021-03-31  1:47     ` Kevin Tang
2021-04-07 10:48       ` Maxime Ripard
2021-04-07 10:48         ` Maxime Ripard
2021-04-15  0:19         ` Kevin Tang
2021-04-15  0:19           ` Kevin Tang

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=20210415084230.moqxuy3caym3kupk@gilmour \
    --to=maxime@cerno.tech \
    --cc=airlied@linux.ie \
    --cc=daniel@ffwll.ch \
    --cc=devicetree@vger.kernel.org \
    --cc=dri-devel@lists.freedesktop.org \
    --cc=kevin3.tang@gmail.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=maarten.lankhorst@linux.intel.com \
    --cc=mark.rutland@arm.com \
    --cc=orsonzhai@gmail.com \
    --cc=robh+dt@kernel.org \
    --cc=sean@poorly.run \
    --cc=zhang.lyra@gmail.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 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.