From: Pin-yen Lin <treapking@chromium.org>
To: Rob Herring <robh@kernel.org>
Cc: "Andrzej Hajda" <andrzej.hajda@intel.com>,
"Neil Armstrong" <neil.armstrong@linaro.org>,
"Robert Foss" <robert.foss@linaro.org>,
"Laurent Pinchart" <Laurent.pinchart@ideasonboard.com>,
"Jonas Karlman" <jonas@kwiboo.se>,
"Jernej Skrabec" <jernej.skrabec@gmail.com>,
"David Airlie" <airlied@gmail.com>,
"Daniel Vetter" <daniel@ffwll.ch>,
"Krzysztof Kozlowski" <krzysztof.kozlowski+dt@linaro.org>,
"Andy Shevchenko" <andriy.shevchenko@linux.intel.com>,
"Daniel Scally" <djrscally@gmail.com>,
"Heikki Krogerus" <heikki.krogerus@linux.intel.com>,
"Sakari Ailus" <sakari.ailus@linux.intel.com>,
"Greg Kroah-Hartman" <gregkh@linuxfoundation.org>,
"Rafael J . Wysocki" <rafael@kernel.org>,
"Prashant Malani" <pmalani@chromium.org>,
"Benson Leung" <bleung@chromium.org>,
"Guenter Roeck" <groeck@chromium.org>,
linux-kernel@vger.kernel.org,
"Nícolas F . R . A . Prado" <nfraprado@collabora.com>,
"Hsin-Yi Wang" <hsinyi@chromium.org>,
devicetree@vger.kernel.org, "Allen Chen" <allen.chen@ite.com.tw>,
"Lyude Paul" <lyude@redhat.com>,
linux-acpi@vger.kernel.org, dri-devel@lists.freedesktop.org,
"Marek Vasut" <marex@denx.de>, "Xin Ji" <xji@analogixsemi.com>,
"Stephen Boyd" <swboyd@chromium.org>,
"AngeloGioacchino Del Regno"
<angelogioacchino.delregno@collabora.com>,
"Thomas Zimmermann" <tzimmermann@suse.de>,
"Javier Martinez Canillas" <javierm@redhat.com>,
chrome-platform@lists.linux.dev
Subject: Re: [PATCH v11 7/9] dt-bindings: display: bridge: it6505: Add mode-switch support
Date: Fri, 10 Feb 2023 16:43:01 +0800 [thread overview]
Message-ID: <CAEXTbpcoS6us6Qz4UmdR8zC7n-euLQr25dv4Hg2JkqVL2pX5LA@mail.gmail.com> (raw)
In-Reply-To: <CAL_JsqJ35gJnpwfOtW8jQP2RmzJtLG2YdTC6dt7pf-GjJggORw@mail.gmail.com>
On Thu, Feb 9, 2023 at 9:58 PM Rob Herring <robh@kernel.org> wrote:
>
> On Wed, Feb 8, 2023 at 10:00 PM Pin-yen Lin <treapking@chromium.org> wrote:
> >
> > Hi Rob,
> >
> > Thanks for the review.
> >
> > On Wed, Feb 8, 2023 at 4:52 AM Rob Herring <robh@kernel.org> wrote:
> > >
> > > On Sat, Feb 04, 2023 at 09:30:38PM +0800, Pin-yen Lin wrote:
> > > > ITE IT6505 can be used in systems to switch the DP traffic between
> > > > two downstreams, which can be USB Type-C DisplayPort alternate mode
> > > > lane or regular DisplayPort output ports.
> > > >
> > > > Update the binding to accommodate this usage by introducing a
> > > > data-lanes and a mode-switch property on endpoints.
> > > >
> > > > Signed-off-by: Pin-yen Lin <treapking@chromium.org>
> > > >
> > > > ---
> > > >
> > > > Changes in v11:
> > > > - Updated the description of the endpoints in the bindings
> > > > - Referenced video-interfaces.yaml instead for the endpoints binding
> > > > - Removed duplicated definitions from inherited schema
> > > >
> > > > Changes in v9:
> > > > - Fixed subject prefix again
> > > > - Changed the naming of the example node for it6505
> > > >
> > > > Changes in v8:
> > > > - Updated bindings for data-lanes property
> > > > - Fixed subject prefix
> > > >
> > > > Changes in v7:
> > > > - Fixed issues reported by dt_binding_check.
> > > > - Updated the schema and the example dts for data-lanes.
> > > > - Changed to generic naming for the example dts node.
> > > >
> > > > Changes in v6:
> > > > - Remove switches node and use endpoints and data-lanes property to
> > > > describe the connections.
> > > >
> > > > .../bindings/display/bridge/ite,it6505.yaml | 101 +++++++++++++++---
> > > > 1 file changed, 88 insertions(+), 13 deletions(-)
> > > >
> > > > diff --git a/Documentation/devicetree/bindings/display/bridge/ite,it6505.yaml b/Documentation/devicetree/bindings/display/bridge/ite,it6505.yaml
> > > > index b16a9d9127dd..8ae9c5cba22c 100644
> > > > --- a/Documentation/devicetree/bindings/display/bridge/ite,it6505.yaml
> > > > +++ b/Documentation/devicetree/bindings/display/bridge/ite,it6505.yaml
> > > > @@ -75,22 +75,49 @@ properties:
> > > > port@1:
> > > > $ref: /schemas/graph.yaml#/$defs/port-base
> > > > unevaluatedProperties: false
> > > > - description: Video port for DP output
> > > > + description:
> > > > + Video port for DP output. Each endpoint connects to a video output
> > > > + downstream, and the "data-lanes" property is used to describe the pin
> > > > + connections. 0, 1, 2, 3 in "data-lanes" maps to TX0, TX1, TX2, TX3,
> > > > + respectively.
> > > >
> > > > - properties:
> > > > - endpoint:
> > > > - $ref: /schemas/graph.yaml#/$defs/endpoint-base
> > > > +
> > > > + patternProperties:
> > > > + "^endpoint@[01]$":
> > > > + $ref: /schemas/media/video-interfaces.yaml#
> > > > unevaluatedProperties: false
> > > >
> > > > properties:
> > > > + reg: true
> > > > +
> > > > + remote-endpoint: true
> > > > +
> > > > data-lanes:
> > > > - minItems: 1
> > > > - uniqueItems: true
> > > > - items:
> > > > - - enum: [ 0, 1 ]
> > > > - - const: 1
> > > > - - const: 2
> > > > - - const: 3
> > > > + oneOf:
> > > > + - items:
> > > > + - enum: [0, 1, 2, 3]
> > > > +
> > > > + - items:
> > > > + - const: 0
> > > > + - const: 1
> > > > +
> > > > + - items:
> > > > + - const: 2
> > > > + - const: 3
> > > > +
> > > > + - items:
> > > > + - const: 0
> > > > + - const: 1
> > > > + - const: 2
> > > > + - const: 3
> > > > +
> > > > + mode-switch:
> > > > + type: boolean
> > > > + description: Register this node as a Type-C mode switch or not.
> > >
> > > Existing users put this property in the device's node, not the endpoint.
> > > That seems more like a property of the device, than the DP link.
> >
> > In our use case, we want to register two mode switches for the same
> > device. That's why we put the "mode-switch" property in the endpoints
> > instead of the device node.
>
> Then do that. Register a mode switch for each endpoint connected to a
> USB-C connector. You can walk the graph to see what type of connector.
>
> The only way I could see this as an issue is you have 2 USB-C
> connectors and one is a mode switch and one is not. Not sure if such a
> scenario is likely or possible. If it is, please educate me.
We can know which endpoints should be registered as a MUX by walking
through the graph, but the typec_mux_match[1] checks if the node
explicitly specifies a "mode-switch" property. So we still have to put
the property in the endpoints.
[1]: https://elixir.bootlin.com/linux/latest/source/drivers/usb/typec/mux.c#L265
>
> > > You are using fwnode_typec_mux_get(), right?
> >
> > Yes. This is called by cros_ec_typec.c[1] in our use case.
>
> That code looks for 'mode-switch' in the device's node, not the
> endpoint. So how does it work for you?
We modified the function in patch 1/9 of this series to make it also
look for endpoints.
>
> Rob
Regards,
Pin-yen
next prev parent reply other threads:[~2023-02-10 8:43 UTC|newest]
Thread overview: 28+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-02-04 13:30 [PATCH v11 0/9] Register Type-C mode-switch in DP bridge endpoints Pin-yen Lin
2023-02-04 13:30 ` [PATCH v11 1/9] device property: Add remote endpoint to devcon matcher Pin-yen Lin
2023-02-05 21:11 ` Sakari Ailus
2023-02-09 4:28 ` Pin-yen Lin
2023-02-09 8:24 ` Sakari Ailus
2023-02-04 13:30 ` [PATCH v11 2/9] platform/chrome: cros_ec_typec: Purge blocking switch devlinks Pin-yen Lin
2023-02-04 13:30 ` [PATCH v11 3/9] drm/display: Add Type-C switch helpers Pin-yen Lin
2023-02-06 12:08 ` Andy Shevchenko
2023-02-06 12:15 ` Jani Nikula
2023-02-07 21:25 ` Andi Shyti
[not found] ` <CAEXTbpfxJVyL_TT7j1J0tbEjWnzj6JYOrEJZLa14OdHZQhYopg@mail.gmail.com>
2023-02-20 9:02 ` Pin-yen Lin
2023-02-04 13:30 ` [PATCH v11 4/9] dt-bindings: display: bridge: anx7625: Add mode-switch support Pin-yen Lin
2023-02-06 8:43 ` Chen-Yu Tsai
2023-02-04 13:30 ` [PATCH v11 5/9] drm/bridge: anx7625: Check for Type-C during panel registration Pin-yen Lin
2023-02-06 12:11 ` Andy Shevchenko
2023-02-04 13:30 ` [PATCH v11 6/9] drm/bridge: anx7625: Register Type C mode switches Pin-yen Lin
2023-02-06 12:16 ` Andy Shevchenko
2023-02-17 15:31 ` Nícolas F. R. A. Prado
2023-02-04 13:30 ` [PATCH v11 7/9] dt-bindings: display: bridge: it6505: Add mode-switch support Pin-yen Lin
2023-02-06 10:22 ` Chen-Yu Tsai
2023-02-07 20:52 ` Rob Herring
2023-02-09 3:59 ` Pin-yen Lin
2023-02-09 13:58 ` Rob Herring
2023-02-10 8:43 ` Pin-yen Lin [this message]
2023-02-04 13:30 ` [PATCH v11 8/9] drm/bridge: it6505: Fix Kconfig indentation Pin-yen Lin
2023-02-04 13:30 ` [PATCH v11 9/9] drm/bridge: it6505: Register Type C mode switches Pin-yen Lin
2023-02-06 12:17 ` Andy Shevchenko
2023-02-06 8:40 ` [PATCH v11 0/9] Register Type-C mode-switch in DP bridge endpoints Chen-Yu Tsai
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=CAEXTbpcoS6us6Qz4UmdR8zC7n-euLQr25dv4Hg2JkqVL2pX5LA@mail.gmail.com \
--to=treapking@chromium.org \
--cc=Laurent.pinchart@ideasonboard.com \
--cc=airlied@gmail.com \
--cc=allen.chen@ite.com.tw \
--cc=andriy.shevchenko@linux.intel.com \
--cc=andrzej.hajda@intel.com \
--cc=angelogioacchino.delregno@collabora.com \
--cc=bleung@chromium.org \
--cc=chrome-platform@lists.linux.dev \
--cc=daniel@ffwll.ch \
--cc=devicetree@vger.kernel.org \
--cc=djrscally@gmail.com \
--cc=dri-devel@lists.freedesktop.org \
--cc=gregkh@linuxfoundation.org \
--cc=groeck@chromium.org \
--cc=heikki.krogerus@linux.intel.com \
--cc=hsinyi@chromium.org \
--cc=javierm@redhat.com \
--cc=jernej.skrabec@gmail.com \
--cc=jonas@kwiboo.se \
--cc=krzysztof.kozlowski+dt@linaro.org \
--cc=linux-acpi@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=lyude@redhat.com \
--cc=marex@denx.de \
--cc=neil.armstrong@linaro.org \
--cc=nfraprado@collabora.com \
--cc=pmalani@chromium.org \
--cc=rafael@kernel.org \
--cc=robert.foss@linaro.org \
--cc=robh@kernel.org \
--cc=sakari.ailus@linux.intel.com \
--cc=swboyd@chromium.org \
--cc=tzimmermann@suse.de \
--cc=xji@analogixsemi.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).