[PATCH v3 14/17] dt-bindings: usb: Add ports to google,cros-ec-typec for DP altmode
Rob Herring (Arm)
robh at kernel.org
Wed Aug 21 00:34:47 UTC 2024
On Mon, 19 Aug 2024 15:38:28 -0700, Stephen Boyd wrote:
> Add a DT graph binding to google,cros-ec-typec so that it can combine
> DisplayPort (DP) and USB SuperSpeed (SS) data into a USB type-c endpoint
> that is connected to the usb-c-connector node's SS endpoint. This also
> allows us to connect the DP and USB nodes in the graph to the USB type-c
> connectors, providing the full picture of the USB type-c data flows in
> the system.
>
> Allow there to be multiple typec nodes underneath the EC node so that
> one DT graph exists per DP bridge. The EC is actually controlling TCPCs
> and redrivers that combine the DP and USB signals together so this more
> accurately reflects the hardware design without introducing yet another
> DT node underneath the EC for USB type-c.
>
> If the type-c ports are being shared between a single DP controller then
> the ports need to know about each other and determine a policy to drive
> DP to one type-c port. If the type-c ports each have their own dedicated
> DP controller then they're able to operate independently and enter/exit
> DP altmode independently as well. We can't connect the DP controller's
> endpoint to one usb-c-connector port at 1 endpoint and the USB controller's
> endpoint to another usb-c-connector port at 1 endpoint either because the
> DP muxing case would have DP connected to two usb-c-connector endpoints
> which the graph binding doesn't support.
>
> Therefore, one typec node is required per the capabilities of the type-c
> port(s) being managed. This also lets us indicate which type-c ports the
> DP controller is wired to. For example, if DP was connected to ports 0
> and 2, while port 1 was connected to another DP controller we wouldn't
> be able to implement that without having some other DT property to
> indicate which output ports are connected to the DP endpoint.
>
> Cc: Rob Herring <robh+dt at kernel.org>
> Cc: Krzysztof Kozlowski <krzysztof.kozlowski+dt at linaro.org>
> Cc: Conor Dooley <conor+dt at kernel.org>
> Cc: Lee Jones <lee at kernel.org>
> Cc: Benson Leung <bleung at chromium.org>
> Cc: Guenter Roeck <groeck at chromium.org>
> Cc: Prashant Malani <pmalani at chromium.org>
> Cc: Tzung-Bi Shih <tzungbi at kernel.org>
> Cc: <devicetree at vger.kernel.org>
> Cc: <chrome-platform at lists.linux.dev>
> Cc: Pin-yen Lin <treapking at chromium.org>
> Signed-off-by: Stephen Boyd <swboyd at chromium.org>
> ---
> .../bindings/mfd/google,cros-ec.yaml | 7 +-
> .../bindings/usb/google,cros-ec-typec.yaml | 229 ++++++++++++++++++
> 2 files changed, 233 insertions(+), 3 deletions(-)
>
Reviewed-by: Rob Herring (Arm) <robh at kernel.org>
More information about the dri-devel
mailing list