From nobody Sun Dec 7 02:48:44 2025 Received: from mail-wm1-f46.google.com (mail-wm1-f46.google.com [209.85.128.46]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id CDE3D2D3228 for ; Mon, 6 Oct 2025 13:55:14 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.128.46 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1759758916; cv=none; b=fRMEbKYEjEez+EKQTm1SEub+lE8sQTmHT03sPKdvMHnnjI98CvsChKvStTUL6NWY/IpXS7virVfwLWZdx9O+4u1vuZUWIB6uyHNqaD3qHv+5VAbL9lObHgiorrLBiHowbqAJ4g62rimNRcYvi3DiVSDOPImAH6j+SwrSwG11Aio= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1759758916; c=relaxed/simple; bh=ig9cw+e18YkGbrrRMzN7pt/NQWzGPEArmv/nwOMwc4w=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=UmaikugfyNPO/ydne8iuMZHz96pso+F76tNjxjQc2kbTzMTLohKLWpEJ7QmzGzhtn9ckkpb8ctX5AX5YXMGq7wdiAGSWb7ft72lA2SSW/xPLDflbxKLyc8TdVEprUvZoy0V3PRMS3HqhOkO8xA9YZfGZEnbme9loK34X2Ya3E14= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linaro.org; spf=pass smtp.mailfrom=linaro.org; dkim=pass (2048-bit key) header.d=linaro.org header.i=@linaro.org header.b=p/ENZx0/; arc=none smtp.client-ip=209.85.128.46 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linaro.org Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=linaro.org Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=linaro.org header.i=@linaro.org header.b="p/ENZx0/" Received: by mail-wm1-f46.google.com with SMTP id 5b1f17b1804b1-46e42deffa8so51651415e9.0 for ; Mon, 06 Oct 2025 06:55:14 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1759758913; x=1760363713; darn=vger.kernel.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:from:to:cc:subject:date:message-id :reply-to; bh=P4SGKCFckOQgp39YYXuF7yxGe4SGyUZQGQh+LAC3kGk=; b=p/ENZx0/+FUJ4wDqnfC+45QhE/BMxDrnLIqc5ODDTsUsEaWAjWjDIJqy1+E0JVb/Ew we7brFQzQgLekOKfczkbyuGYAe9mgLIOy4l0kJ97ym8kGu5lp2p1BDkSXlb2JVy+MvAU vHTTsA+4sP9vFc6zhfM905GdKD5mTvQ5zN2T8ysAz0Ib5xQGbHWdKpyK6hY9WtDCLvAm q176MLIDFjIPCd7IgumSfi6x9w3WNzOxeKOjLSYJejofP/v3ppig6WcLj4uOYjuziCmH Wc5eeFl8jHWA1+6oenbUcqspoTCLxjUZbKqEeTxTG5BuLrfDbrvr3BZLw2cp66Uqden8 i7LA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1759758913; x=1760363713; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=P4SGKCFckOQgp39YYXuF7yxGe4SGyUZQGQh+LAC3kGk=; b=YvYGGtEjxQ23MttCo0A060OBSjPAeWOQDRIJpQP7roBojMCaUI+QDNqfHGjhkdWhTS +7Q87v3pfXKhEVtEa9gjL0/L1sym47kMfLU2JdLKkEFbUu0HdZfqK0ty6ou3aC8IgOmR lK8jf4REjSd/gL7KrY2oCG7NPn8XRQBRaQcE9A+DIK/vzpnVUL6EuDKZkf/ZRQcWG6Mm orqwVUI+cRoRjU6jiM7pOM+O4Jhg2f8KzH34P3411x1RjgfGKJeodNd642lWnRe+xNvr QC29eN/Ea2C6IqwUitg1bpSxOuqC3VH15aiMeVagMbWtO7GHbO5WV9g6+Qj0wuP1AXAf NSOQ== X-Forwarded-Encrypted: i=1; AJvYcCXw7WRdwZlwBcjUb76HzIR42kHIRliH0m/4dAem/FJlmyIxQByQoUUwmiPKLQm9BY9F10JMn46EhNuPFBE=@vger.kernel.org X-Gm-Message-State: AOJu0YwqKJRbT6F2bSMyqkUiiXOj9EQep/wr3+Qwosv0/g6/K+UMEXzU 3bBwbBY7HGQj3cRmHm1ExYesE+csL9OSif+FwkzRB6UPoFKDWej3QNcyAqnyU+VzTn7gpjym3xU 9tXfjRjA= X-Gm-Gg: ASbGnctiVSvpMaCxkdlTPgVPwZ10m4r3s+xmJoySyebel6uwOmFxuHvy7K9bkZOuZHJ ulhtO1r7wpP+o1jzhF2ZOBvydCERuoa1rmtVv0HRnGFE5TeuMvkPJ1ZeY+SeVYhizu12WwfXeod 8JafQad42VjBsXN/dNrGYzTdptiJE/LCM5ssUqXkFtWnRJeaHywyzPARH29s18YDclLGpM5O7PH zAM6nuDwhk3RJD9PZLnZjgZ93RG/VoWGeBY0gcgPCyzLAOR0IpX/5nEEIx8/ufPLXDf7CVQ1ZIV 9GnAUPMKzHux6rodxSYdrhzmHmKpuHQSunOdGTo9+Q/W27wId0BQMzgwiGXD5lIc+IUm/78m8zH E/Du7ZKDmRlTF/XzJYV4HAJZ+sDOP2Q+kBHla9KKlNdI8yxkNcWOIbDAeK5+nG44XbQVSWovA/G sclYkg+Q== X-Google-Smtp-Source: AGHT+IH498SCQSHRD5QBtiH0GzayP2zorpnGqsmS7Xs+r/EO/ywbcVtnGFGeiuDisgdYoPwCAuEGTA== X-Received: by 2002:a05:6000:310a:b0:425:7f11:3159 with SMTP id ffacd0b85a97d-4257f113337mr1545279f8f.63.1759758912941; Mon, 06 Oct 2025 06:55:12 -0700 (PDT) Received: from arrakeen.starnux.net ([2a01:e0a:3d9:2080:52eb:f6ff:feb3:451a]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-4255d8a6daasm21291921f8f.7.2025.10.06.06.55.12 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 06 Oct 2025 06:55:12 -0700 (PDT) From: Neil Armstrong Date: Mon, 06 Oct 2025 15:55:03 +0200 Subject: [PATCH v5 1/3] dt-bindings: phy: qcom,sc8280xp-qmp-usb43dp-phy: Document lanes mapping when not using in USB-C complex Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20251006-topic-x1e80100-hdmi-v5-1-c006311d59d7@linaro.org> References: <20251006-topic-x1e80100-hdmi-v5-0-c006311d59d7@linaro.org> In-Reply-To: <20251006-topic-x1e80100-hdmi-v5-0-c006311d59d7@linaro.org> To: Vinod Koul , Kishon Vijay Abraham I , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Bjorn Andersson , Konrad Dybcio Cc: Xilin Wu , linux-arm-msm@vger.kernel.org, linux-phy@lists.infradead.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, Neil Armstrong X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=openpgp-sha256; l=4554; i=neil.armstrong@linaro.org; h=from:subject:message-id; bh=ig9cw+e18YkGbrrRMzN7pt/NQWzGPEArmv/nwOMwc4w=; b=owEBbQKS/ZANAwAKAXfc29rIyEnRAcsmYgBo48o+B4CiSwu7YrbOdHvfZcOGv5M4a9CHW+igZHX8 DNr8JL2JAjMEAAEKAB0WIQQ9U8YmyFYF/h30LIt33NvayMhJ0QUCaOPKPgAKCRB33NvayMhJ0ahwD/ 9Z0aYNK6A9RsTZP8ZIKhV4EhhQy2+Ml9Yyh7IvaphAJwyByCVUSvVD5oWeu9oFnBghX4c7ICldUAbF R7QMTt6r205kTteHuZ2gWsinO6k+CGdsvzlNv3laMptrsEfErxAEf7+lB9kzZ34q9aXCrlstxuSqmP EZbZ0k/1HQ/zDkvuNY9MgI3LeuZ7lvXjixOzOC6WN7P51mxBRCtNANaNJ6vm7Y1Q9UikBWez7LPDjv xGTqKo44vOW7IWdZJTcb0dGbs0dGciXnNVREqBGJoSs3wJ0UJy6EmM58M6UNPXNz8c5EFRBcI9N3ph o0GbuMrDUrsKfAcDdV4lMlcdPSwP64qWnStcxEMT13q82gnCf6gsIgw+3EQcupxdZAiR4rdm1mo+iC 0naPN0CM7/WCkImYjwrypmThNs/wiH2IFdGcCLQKdaS9XHdrI3onZQJfLC3982v9WAQ6da4ZrOdltL 83+uSHKy6b5iYS81aOj78QcxZfWSv3d1khCqAZ61CfWrkXC/QKgVnXb6jXKneZo4HWVWSUS1nFzQd/ v+HTy4yRTBnsGWZD8v1nnK2VvPWrpDVJpPjtAZL52VJjbqGRnHz17M/Ausr2paNuL8LQKOLYAXIu9d XZ4pEU8FJFt4M8vyxQ+2h9CpUyYEaLdVv3Iooe2RDgaJrNM1bsg9F4IO2rGA== X-Developer-Key: i=neil.armstrong@linaro.org; a=openpgp; fpr=89EC3D058446217450F22848169AB7B1A4CFF8AE The QMP USB3/DP Combo PHY hosts an USB3 phy and a DP PHY on top of a combo glue to route either lanes to the 4 shared physical lanes. The routing of the lanes can be: - 2 DP + 2 USB3 - 4 DP - 2 USB3 The layout of the lanes was designed to be mapped and swapped related to the USB-C Power Delivery negociation, so it supports a finite set of mappings inherited by the USB-C Altmode layouts. Nevertheless those QMP Comby PHY can be used to drive a DisplayPort connector, DP->HDMI bridge, USB3 A Connector, etc... without an USB-C connector and no PD events. Document the data-lanes on numbered port@0 out endpoints, allowing us to document the lanes mapping to DisplayPort and/or USB3 connectors/peripherals. Signed-off-by: Neil Armstrong Reviewed-by: Rob Herring (Arm) --- .../phy/qcom,sc8280xp-qmp-usb43dp-phy.yaml | 69 ++++++++++++++++++= +++- 1 file changed, 68 insertions(+), 1 deletion(-) diff --git a/Documentation/devicetree/bindings/phy/qcom,sc8280xp-qmp-usb43d= p-phy.yaml b/Documentation/devicetree/bindings/phy/qcom,sc8280xp-qmp-usb43d= p-phy.yaml index bdf7894ff84869030252f64f20acb4f920fd19e9..1d7a7f0f356b11e080fc8d6c88a= 0c97be88a25a4 100644 --- a/Documentation/devicetree/bindings/phy/qcom,sc8280xp-qmp-usb43dp-phy.y= aml +++ b/Documentation/devicetree/bindings/phy/qcom,sc8280xp-qmp-usb43dp-phy.y= aml @@ -85,10 +85,77 @@ properties: =20 ports: $ref: /schemas/graph.yaml#/properties/ports + properties: port@0: - $ref: /schemas/graph.yaml#/properties/port + $ref: /schemas/graph.yaml#/$defs/port-base description: Output endpoint of the PHY + unevaluatedProperties: false + + properties: + endpoint: + $ref: /schemas/graph.yaml#/$defs/endpoint-base + unevaluatedProperties: false + + endpoint@0: + $ref: /schemas/graph.yaml#/$defs/endpoint-base + description: Display Port Output lanes of the PHY when used wi= th static mapping, + The entry index is the DP lanes index, and the nu= mber is the PHY + signal in the order RX0, TX0, TX1, RX1. + unevaluatedProperties: false + + properties: + # Static lane mappings are mutually exclusive with typec-mux= /orientation-mux + data-lanes: + $ref: /schemas/types.yaml#/definitions/uint32-array + minItems: 2 + maxItems: 4 + oneOf: + - items: # DisplayPort 1 lane, normal orientation + - const: 3 + - items: # DisplayPort 1 lane, flipped orientation + - const: 0 + - items: # DisplayPort 2 lanes, normal orientation + - const: 3 + - const: 2 + - items: # DisplayPort 2 lanes, flipped orientation + - const: 0 + - const: 1 + - items: # DisplayPort 4 lanes, normal orientation + - const: 3 + - const: 2 + - const: 1 + - const: 0 + - items: # DisplayPort 4 lanes, flipped orientation + - const: 0 + - const: 1 + - const: 2 + - const: 3 + required: + - data-lanes + + endpoint@1: + $ref: /schemas/graph.yaml#/$defs/endpoint-base + description: USB Output lanes of the PHY when used with static= mapping. + The entry index is the USB3 lane in the order TX = then RX, and the + number is the PHY signal in the order RX0, TX0, T= X1, RX1. + unevaluatedProperties: false + + properties: + # Static lane mappings are mutually exclusive with typec-mux= /orientation-mux + data-lanes: + $ref: /schemas/types.yaml#/definitions/uint32-array + minItems: 2 + oneOf: + - items: # USB3, normal orientation + - const: 1 + - const: 0 + - items: # USB3, flipped orientation + - const: 2 + - const: 3 + + required: + - data-lanes =20 port@1: $ref: /schemas/graph.yaml#/properties/port --=20 2.34.1 From nobody Sun Dec 7 02:48:44 2025 Received: from mail-wm1-f44.google.com (mail-wm1-f44.google.com [209.85.128.44]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id A83E72D3750 for ; Mon, 6 Oct 2025 13:55:15 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.128.44 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1759758917; cv=none; b=RO03Muj1y+kJn5IBvVqONrW2NxP7aecTAHJ8geGmcgiTGeAv4Xx2KyD7a1D+BDMoNmXrebYUFp6vjJNKzlT6a6F4x7Dj/Iq4f5eUM4EETgSgiANqW/lN5zP9/wyrua7y6GaT+FTTFLBVx6q+ywXOAj6w9ukUH4QrBozL2BXW4xU= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1759758917; c=relaxed/simple; bh=Jvq57DphFi7wtmww07r08dRLu0LQHutOYqaDw8wnv1Q=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=LKsX4xrJ7V2VoBtDK5WhwdFKvpW0ZQG6FW84bJ/t1LQ2h9cHbFbDYfAWFgI3THK1vhawXWXI+Qg+Y6pSTKCIQ5F6/nTr4sBBHU6OOVaY9OkwgTCQkTNrZzEOLOFv1G2/giOfvGZg6xpGQt8PWDQYS/hnATOkZQaVJW88Bo3rpTw= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linaro.org; spf=pass smtp.mailfrom=linaro.org; dkim=pass (2048-bit key) header.d=linaro.org header.i=@linaro.org header.b=cMLvpT2W; arc=none smtp.client-ip=209.85.128.44 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linaro.org Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=linaro.org Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=linaro.org header.i=@linaro.org header.b="cMLvpT2W" Received: by mail-wm1-f44.google.com with SMTP id 5b1f17b1804b1-46e42deffa8so51651635e9.0 for ; Mon, 06 Oct 2025 06:55:15 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1759758914; x=1760363714; darn=vger.kernel.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:from:to:cc:subject:date:message-id :reply-to; bh=+3PwY2Su8FGUm8I2o7iZNHQaUPPiuR6Gy8cotqp3czU=; b=cMLvpT2WFGB+xfYwfvbGSxh50j9y00BKrLzeAFuuXMwxOePU2p3HgXbp2n9DYmswea LyZy37sK9HOdVXOI+sk1Kt/YB+9uJ5NRgdcEfawh72FOo+T67hJF1muVHAe3C+9EWUYc Gcqec8wDKAv58xxN3COICmoLWzb63DVnTs1hCWrM6J71ZYIzmkiKUlYXBzWdZNQAkcXL 2r3zm9H1QXaeIKqecluFgKjyTV9AxP46LA3Y/Yy63YFEBj6bgQ2K7e05NzCUt8e1e3Vx iP2A6e5V2Zx5iPzE5Hi1Xw9hZeZHTNgqBREc57NY1edEb52+kt8EYY+u1Vi8RdUXHc4D GCSA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1759758914; x=1760363714; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=+3PwY2Su8FGUm8I2o7iZNHQaUPPiuR6Gy8cotqp3czU=; b=qFphKjuv2szSnCOkur2wUD8xrocrGoZBLlH939AZTF0Hptmmy6dD1ULxNMgdK0A8bO C8o0r/ZsGZfWZfxonT3QpKCu+JY3s2QA7flYSzm7hZNQIe/2O888wRJMo9QFl5WjHQ3s 18WlbwzCmnak6pI+vw0g4C/MMEAvvl/j5rL9Es5OEOraN4P+uzjVq50onfln+SkIly32 YkeqyQdlQpktvSFMYxj5t0YWQXDg0xze18hKBwQfUz+rQDGa7ZtjVocFPVgRbMCrFQtN pktHcvEOru7xgHqyOq6nahqyd9y/KPRXWBJYtIG0x8rA2TsDuHNwQGvRtcN8vsAJyHpo 9LNQ== X-Forwarded-Encrypted: i=1; AJvYcCWCtldChDPH8wYe8KODqzVuLEPKE2j/9b5VUNqt96xX2dxKIODoGDY0SuU7qWeChg6M/BxhC/GYa4R7/b4=@vger.kernel.org X-Gm-Message-State: AOJu0YyUHFbBm8g4+S0jWMamKJiknpSVXHabvRJlIC2CirpuBsVHuhrV LJc9SS9lnak1bKo0KmYUCFWhxHVjAIplyAoUEiV49gC+ipcxiA6DypKdNPP5RoflyNHkzOKEA8b I6bxsX7U= X-Gm-Gg: ASbGncvrVLwNmF2adWwnw7epCLuKoncEJX0MHXCp2Z6tGqnaIKXqOWudMPEqINutmC2 aqFMSeLx4qmA0JMxiauNd6U8PdpexT8t9+va4ijaFdD2H2tcSL+rxzO4KWfIZioYHTmwHqp+j/x U7G+f9N1LWrxutE89byex7jn4lwgURkKIFHYM4cNpTIT6khY9zaFesZFYo2hUVuuiYfM8EoIPnq Xj1OzOn4Ibdi42rTQ7Alt1+zOErvmayix5wsoQeLcc6Vmz63WkWItDia2hHVdlneSk8MwWNA273 sRtDuhn0+HwFiElyDNJnvZJKBgPL21fCEeqU+SKLxOoykSLJudFp/vdMTgv7yJvFSlOUFk7zmiC MwaT38q4+rnrGQr4sUWy6/Dn38ePdcpNvzUgWizZ0ZXN7k4T7yKsVY+e0J16Bq9njG6X/qik= X-Google-Smtp-Source: AGHT+IE1WdC9uOmXoaHZ/kUEuDfuryRH8fzwZAqkoRcIFoX1p4U9e95Adhwxwb44aVahTYfD8Cr7jA== X-Received: by 2002:a05:600c:621a:b0:46e:2801:84aa with SMTP id 5b1f17b1804b1-46e710b22a6mr88635645e9.0.1759758913732; Mon, 06 Oct 2025 06:55:13 -0700 (PDT) Received: from arrakeen.starnux.net ([2a01:e0a:3d9:2080:52eb:f6ff:feb3:451a]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-4255d8a6daasm21291921f8f.7.2025.10.06.06.55.13 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 06 Oct 2025 06:55:13 -0700 (PDT) From: Neil Armstrong Date: Mon, 06 Oct 2025 15:55:04 +0200 Subject: [PATCH v5 2/3] phy: qcom: qmp-combo: get the USB3 & DisplayPort lanes mapping from DT Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20251006-topic-x1e80100-hdmi-v5-2-c006311d59d7@linaro.org> References: <20251006-topic-x1e80100-hdmi-v5-0-c006311d59d7@linaro.org> In-Reply-To: <20251006-topic-x1e80100-hdmi-v5-0-c006311d59d7@linaro.org> To: Vinod Koul , Kishon Vijay Abraham I , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Bjorn Andersson , Konrad Dybcio Cc: Xilin Wu , linux-arm-msm@vger.kernel.org, linux-phy@lists.infradead.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, Neil Armstrong , Dmitry Baryshkov X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=openpgp-sha256; l=6594; i=neil.armstrong@linaro.org; h=from:subject:message-id; bh=Jvq57DphFi7wtmww07r08dRLu0LQHutOYqaDw8wnv1Q=; b=owEBbQKS/ZANAwAKAXfc29rIyEnRAcsmYgBo48o+eHZS3KJP3oymWX7K6DJ1dPPz7JTIdOLexb1y zSySfD+JAjMEAAEKAB0WIQQ9U8YmyFYF/h30LIt33NvayMhJ0QUCaOPKPgAKCRB33NvayMhJ0crgD/ 9+vb85Pg/4YGgVWF3VdV7Cy5RDYLMQkd0TSxBpUqpjSbZ6mOsP+HfyQS8RLO0cjc8pNizXXbsQ/Eww jjCRocAOQJx4kz1rSuFE0jStlrU2Zgw5oJ3iksqMjJq5u84/ZO2Nkglvmmpb3b7ao15vtG3B5XdZPA 7R9srTMGOLe++0MEFipAIoKG+V8Z/e3o0FteEVeQuwNz03OXOvWri5kFN+JG2tvKupd1PvMktWvEfh toU5/SAas4fmC1nmpWNK2XnNTGoajdSgafDrzKGkKB4o/Bd1aj1MCDnNpsFFlR7KjhXudWmDoqLtYt 5aCgRhLsNQTPo1DDhWDmobPYgYPF/y55JvLmFJY6NAm9HcU0HiUJnF/iUD27i+j2bxubJzw2TCSj1H HM77gQ1FGUyo9pDL7d4HLgxoUcyLb7/hPfTnp3sTpzsKa7E6KButEz2GJO/r2KIxextHrQVZTkJLKc 67JpyooC+5QKYcTaag8xO4SgnIuHi1iBdNLz4cD5uvBeEjeW+9jlXOLm1oBa7GI0S2cq5uGTxQHcV3 DgRNDOrHP6GP2OBURBK3vregYSeTheiVkmYYCSqz9oy10iTs6Cm9k++tV3dUMAC2YHk/FB7iEe1HXS GqZak7w0bdZqbuy9VNxUphFKnvnjvT7BYD2HFlsZstMaddgCwNyhhvgTzM9g== X-Developer-Key: i=neil.armstrong@linaro.org; a=openpgp; fpr=89EC3D058446217450F22848169AB7B1A4CFF8AE The QMP USB3/DP Combo PHY hosts an USB3 phy and a DP PHY on top of a combo glue to route either lanes to the 4 shared physical lanes. The routing of the lanes can be: - 2 DP + 2 USB3 - 4 DP - 2 USB3 Get the lanes mapping from DT and stop registering the USB-C muxes in favor of a static mode and orientation detemined by the lanes mapping. This allows supporting boards with direct connection of USB3 and DisplayPort lanes to the QMP Combo PHY lanes, not using the USB-C Altmode feature. Reviewed-by: Dmitry Baryshkov Signed-off-by: Neil Armstrong Tested-by: Xilin Wu # qcs6490-radxa-dragon-q6a --- drivers/phy/qualcomm/phy-qcom-qmp-combo.c | 145 ++++++++++++++++++++++++++= ++-- 1 file changed, 137 insertions(+), 8 deletions(-) diff --git a/drivers/phy/qualcomm/phy-qcom-qmp-combo.c b/drivers/phy/qualco= mm/phy-qcom-qmp-combo.c index 7b5af30f1d028c592500e723ecd27b54ed554709..da1823fa5daf316cdec72cdb031= 59f02961f8545 100644 --- a/drivers/phy/qualcomm/phy-qcom-qmp-combo.c +++ b/drivers/phy/qualcomm/phy-qcom-qmp-combo.c @@ -13,6 +13,7 @@ #include #include #include +#include #include #include #include @@ -1744,6 +1745,26 @@ static const u8 qmp_dp_v6_pre_emphasis_hbr_rbr[4][4]= =3D { { 0x22, 0xff, 0xff, 0xff } }; =20 +struct qmp_combo_lane_mapping { + unsigned int lanes_count; + enum typec_orientation orientation; + u32 lanes[4]; +}; + +static const struct qmp_combo_lane_mapping usb3_data_lanes[] =3D { + { 2, TYPEC_ORIENTATION_NORMAL, { 1, 0 }}, + { 2, TYPEC_ORIENTATION_REVERSE, { 2, 3 }}, +}; + +static const struct qmp_combo_lane_mapping dp_data_lanes[] =3D { + { 1, TYPEC_ORIENTATION_NORMAL, { 3 }}, + { 1, TYPEC_ORIENTATION_REVERSE, { 0 }}, + { 2, TYPEC_ORIENTATION_NORMAL, { 3, 2 }}, + { 2, TYPEC_ORIENTATION_REVERSE, { 0, 1 }}, + { 4, TYPEC_ORIENTATION_NORMAL, { 3, 2, 1, 0 }}, + { 4, TYPEC_ORIENTATION_REVERSE, { 0, 1, 2, 3 }}, +}; + struct qmp_combo; =20 struct qmp_combo_offsets { @@ -4117,6 +4138,87 @@ static struct phy *qmp_combo_phy_xlate(struct device= *dev, const struct of_phand return ERR_PTR(-EINVAL); } =20 +static void qmp_combo_find_lanes_orientation(const struct qmp_combo_lane_m= apping *mapping, + unsigned int mapping_count, + u32 *lanes, unsigned int lanes_count, + enum typec_orientation *orientation) +{ + int i; + + for (i =3D 0; i < mapping_count; i++) { + if (mapping[i].lanes_count !=3D lanes_count) + continue; + if (!memcmp(mapping[i].lanes, lanes, sizeof(u32) * lanes_count)) { + *orientation =3D mapping[i].orientation; + return; + } + } +} + +static int qmp_combo_get_dt_lanes_mapping(struct device *dev, unsigned int= endpoint, + u32 *data_lanes, unsigned int max, + unsigned int *count) +{ + struct device_node *ep; + int ret; + + ep =3D of_graph_get_endpoint_by_regs(dev->of_node, 0, endpoint); + if (!ep) + return -EINVAL; + + ret =3D of_property_count_u32_elems(ep, "data-lanes"); + if (ret < 0) + goto err_node_put; + + *count =3D ret; + + ret =3D of_property_read_u32_array(ep, "data-lanes", data_lanes, + max_t(unsigned int, *count, max)); + +err_node_put: + of_node_put(ep); + + return ret; +} + +static int qmp_combo_get_dt_dp_orientation(struct device *dev, + enum typec_orientation *orientation) +{ + unsigned int count; + u32 data_lanes[4]; + int ret; + + /* DP is described on the first endpoint of the first port */ + ret =3D qmp_combo_get_dt_lanes_mapping(dev, 0, data_lanes, 4, &count); + if (ret < 0) + return ret =3D=3D -EINVAL ? 0 : ret; + + /* Search for a match and only update orientation if found */ + qmp_combo_find_lanes_orientation(dp_data_lanes, ARRAY_SIZE(dp_data_lanes), + data_lanes, count, orientation); + + return 0; +} + +static int qmp_combo_get_dt_usb3_orientation(struct device *dev, + enum typec_orientation *orientation) +{ + unsigned int count; + u32 data_lanes[2]; + int ret; + + /* USB3 is described on the second endpoint of the first port */ + ret =3D qmp_combo_get_dt_lanes_mapping(dev, 1, data_lanes, 2, &count); + if (ret < 0) + return ret =3D=3D -EINVAL ? 0 : ret; + + /* Search for a match and only update orientation if found */ + qmp_combo_find_lanes_orientation(usb3_data_lanes, ARRAY_SIZE(usb3_data_la= nes), + data_lanes, count, orientation); + + return 0; +} + static int qmp_combo_probe(struct platform_device *pdev) { struct qmp_combo *qmp; @@ -4167,9 +4269,41 @@ static int qmp_combo_probe(struct platform_device *p= dev) if (ret) goto err_node_put; =20 - ret =3D qmp_combo_typec_register(qmp); - if (ret) - goto err_node_put; + qmp->qmpphy_mode =3D QMPPHY_MODE_USB3DP; + + if (of_property_present(dev->of_node, "mode-switch") || + of_property_present(dev->of_node, "orientation-switch")) { + ret =3D qmp_combo_typec_register(qmp); + if (ret) + goto err_node_put; + } else { + enum typec_orientation dp_orientation =3D TYPEC_ORIENTATION_NONE; + enum typec_orientation usb3_orientation =3D TYPEC_ORIENTATION_NONE; + + ret =3D qmp_combo_get_dt_dp_orientation(dev, &dp_orientation); + if (ret) + goto err_node_put; + + ret =3D qmp_combo_get_dt_usb3_orientation(dev, &usb3_orientation); + if (ret) + goto err_node_put; + + if (dp_orientation =3D=3D TYPEC_ORIENTATION_NONE && + usb3_orientation !=3D TYPEC_ORIENTATION_NONE) { + qmp->qmpphy_mode =3D QMPPHY_MODE_USB3_ONLY; + qmp->orientation =3D usb3_orientation; + } else if (usb3_orientation =3D=3D TYPEC_ORIENTATION_NONE && + dp_orientation !=3D TYPEC_ORIENTATION_NONE) { + qmp->qmpphy_mode =3D QMPPHY_MODE_DP_ONLY; + qmp->orientation =3D dp_orientation; + } else if (dp_orientation !=3D TYPEC_ORIENTATION_NONE && + dp_orientation =3D=3D usb3_orientation) { + qmp->qmpphy_mode =3D QMPPHY_MODE_USB3DP; + qmp->orientation =3D dp_orientation; + } else { + dev_warn(dev, "unable to determine orientation & mode from data-lanes"); + } + } =20 ret =3D drm_aux_bridge_register(dev); if (ret) @@ -4189,11 +4323,6 @@ static int qmp_combo_probe(struct platform_device *p= dev) if (ret) goto err_node_put; =20 - /* - * The hw default is USB3_ONLY, but USB3+DP mode lets us more easily - * check both sub-blocks' init tables for blunders at probe time. - */ - qmp->qmpphy_mode =3D QMPPHY_MODE_USB3DP; =20 qmp->usb_phy =3D devm_phy_create(dev, usb_np, &qmp_combo_usb_phy_ops); if (IS_ERR(qmp->usb_phy)) { --=20 2.34.1 From nobody Sun Dec 7 02:48:44 2025 Received: from mail-wm1-f41.google.com (mail-wm1-f41.google.com [209.85.128.41]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 6A3032D3759 for ; Mon, 6 Oct 2025 13:55:16 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.128.41 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1759758918; cv=none; b=bLbXGOLShQD/56To4Ial6z1V6cL/DzTpVTxyGdrsg5JezdH01Khx80SFYKoJGysncCIHPYf9d9xMe8epk2EdsR/uIigCP02z0pWLzbXgwlGd+aioZhfuo5yKmAH+HttGKxrSXxDc8/mI1ARIA/+dnJZGrLTzTUwNHxHWUR+Roms= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1759758918; c=relaxed/simple; bh=wNTs0h0y/mlTB3wnqH1wfrtLFenOEC7p4UTXqV1uWNo=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=n5GseLKYZCsJi9nEI3NlLA7sDpOdl+e6qyURJJUr0q6iHecKi9hYqqm8bV9RaTKLy8iL3clERXhcbIkwLKNFyt5JwiI4QZPh59B5B5ZvE2Sq3RcRYpWyG7DdvV2Zv+N8Rlb6rmC646MbAkhBydLiThN5+tLeCvcSxJfoi4twrvc= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linaro.org; spf=pass smtp.mailfrom=linaro.org; dkim=pass (2048-bit key) header.d=linaro.org header.i=@linaro.org header.b=ExZjnsYC; arc=none smtp.client-ip=209.85.128.41 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linaro.org Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=linaro.org Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=linaro.org header.i=@linaro.org header.b="ExZjnsYC" Received: by mail-wm1-f41.google.com with SMTP id 5b1f17b1804b1-46e42fa08e4so47335315e9.3 for ; Mon, 06 Oct 2025 06:55:16 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1759758915; x=1760363715; darn=vger.kernel.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:from:to:cc:subject:date:message-id :reply-to; bh=Fqs1h8Bd8tnY+khxrYUQ40FHMHiv2RkeVoWTqnCne3w=; b=ExZjnsYCC6gJpCFdm96jrfRhY1z2lZKS1Rh7djrOs1LM8EeF31JvApo85o1nqnsphH NdUkSG7QjiDo4+PqSP8ykCLEFOHMIzmZ3b8mapk5DUkY7L9x597c9s/HYFB9C3qPo7hj o1JQi0dKVRkq7jEz6tiL34/Uk65A4zYWVOmsMP8ffhKwvOgzmnfbp8+iuTRxjVfqCNzf mS55h71KDOas1Z22cKpdmxVNKI5iSN80zc4AOMM0iFSsB/GQHIwxTfHQqTNIOF0ss9DT wQAsHyClsQT4qQHLezW0ZiCjdg3qswGEUsOQTd5LubQpo3NWyKumoIhBwNlKfzl+8tp2 gm4A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1759758915; x=1760363715; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=Fqs1h8Bd8tnY+khxrYUQ40FHMHiv2RkeVoWTqnCne3w=; b=d+JiozeQ2skqueAufFeSR1M0xZd4OelJbPt8SucA8p1AinVppiMZyrjmp1mfwZ4xka ZZeZ9urqTM+9TpY0Cpv8kADWsP6KfnXoxLXwcHKDMZeuC9iYuzKglSSAoUK57Nr+ul2w jUsZKbl19j3pkr+HuYsyHvqdzxe33masFspj4QmrlyYE1HuHMaK3Bd527oor/lrngw87 UKTLyYG6RRSF233RdvTw52y/DwoVugGv12xQFE5h5h3ZWjyLB7kJmf5wFk7jpFtHINU8 KImhrpgwlxyBSHGmre9cmMoXU0Bnmg+vgKge/mPqC+07MK5SDspqj3r3b8swVhuRnoZj KmGw== X-Forwarded-Encrypted: i=1; AJvYcCUIDqbjGPIVrUr+2iaieSvjVp/hguj65lKI0Rnbggc0J1E/nDR0cGV/absPuaIiL/emqif0dYxMjf7DiJI=@vger.kernel.org X-Gm-Message-State: AOJu0YyVubQner5+IhqSTStHka471bfvyLEwuJ6PxZDgVpj3QvaLcx8U vvGA3WeV+NJO72QKk2X1xiHNvLwsbhT5oUsP315uDZCBNxdiH6d6uekQytLR4a2ZO4C9LwOUzkp RGXrQm00= X-Gm-Gg: ASbGncs+sRsCND6/lBuQcKhMqwUydyzqURpVyRIabl5VMf1JxwxBrkSEkqta0PLoO9M mXXQJ6iM9hrD/yIkt7hDkQYCAOLhljeVvAJsivSYX59brcOKYYFGw58+75OOoVBkXCy1LZhwDvU yFyXz6XkGVW4vEtCiANIi52wBPhrYN2529k6Pze4IuG11o3ba58Ec4jZgdO2fIe/6ju9F6XD6um pX1zOBrGj3Vuwk/JatdJdpxxcGPUO23eKlJ16TBjIST9PymKlxMHfnnkkDnSBkRs4QlNBoTtYAt vCMBcxWyjQ3RE8jYvbOJ40u+8wmT4wMvDmWymah0hdDr/R8zo7tibfefyB/cauCGbpnmilXTJhW 5IYb7XXx+EF1jr2iJxEpwM+CuoBoDTH/4C7Ry5zkn21v5fh0cPWZANME57vidrryz/Y2vaVxxhD 93n7AGxA== X-Google-Smtp-Source: AGHT+IHkQwD7e2XwMTAIQP7c0WAfYhEAe65Zz4BTSnFzZBueScQHPIywOmfPNSRPfCKle9IZAeW8ig== X-Received: by 2002:a05:600c:1909:b0:46e:326e:4501 with SMTP id 5b1f17b1804b1-46e7110aecfmr96690535e9.10.1759758914520; Mon, 06 Oct 2025 06:55:14 -0700 (PDT) Received: from arrakeen.starnux.net ([2a01:e0a:3d9:2080:52eb:f6ff:feb3:451a]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-4255d8a6daasm21291921f8f.7.2025.10.06.06.55.13 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 06 Oct 2025 06:55:14 -0700 (PDT) From: Neil Armstrong Date: Mon, 06 Oct 2025 15:55:05 +0200 Subject: [PATCH v5 3/3] arm64: dts: qcom: x1e78100-lenovo-thinkpad-t14s: add HDMI nodes Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20251006-topic-x1e80100-hdmi-v5-3-c006311d59d7@linaro.org> References: <20251006-topic-x1e80100-hdmi-v5-0-c006311d59d7@linaro.org> In-Reply-To: <20251006-topic-x1e80100-hdmi-v5-0-c006311d59d7@linaro.org> To: Vinod Koul , Kishon Vijay Abraham I , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Bjorn Andersson , Konrad Dybcio Cc: Xilin Wu , linux-arm-msm@vger.kernel.org, linux-phy@lists.infradead.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, Neil Armstrong , Konrad Dybcio , Dmitry Baryshkov X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=openpgp-sha256; l=3047; i=neil.armstrong@linaro.org; h=from:subject:message-id; bh=wNTs0h0y/mlTB3wnqH1wfrtLFenOEC7p4UTXqV1uWNo=; b=owEBbQKS/ZANAwAKAXfc29rIyEnRAcsmYgBo48o/cUjUsZSkcCG90nIH9ehxl8hxHgXBaT6XRw1k 5q1v1F6JAjMEAAEKAB0WIQQ9U8YmyFYF/h30LIt33NvayMhJ0QUCaOPKPwAKCRB33NvayMhJ0dBEEA CfPiVBqXV1xL+f5SfsAoGGO2i4q7aKnPU8RUkMTt9L6vBNedhn3PeLVqNLpR44ALYAM2Bvubvlgaqo GtgOozBI0vTXblBo8Oimsu1HCu/kk5u+6ZWhQBFkIG3S58XnVKlBmtHsKu9QcMMG5peibpLUyYOhuQ GdNU6aeExvaH9de0MMLTXf6pJ5fI7TwCqKYU2mgt3p5KMpBhdopskmbY82LwalytgOBRfu4IBjAUki LFQCo2GISAg1sIqyBThaaZgUvG5s1iDwnhsZ876pFMOqoVpV1pG0dY9TZ802gXv4sXcJlZri8aTbaY Niw62PsoyXhj16YNIv8aHYDt0QmPYcilNQ35Pne/rab1K0BUnNyfYSJh2eCbGGL2WzaUqO4Ewe3dqP EGB42sRL23o1RWLYH1AoL05WxJKQ2GFW9370+W0ZoLmjVDnRN8ymIi7hGr8A/Er3hCwdyQXX2CqmqM 4K8dAGubtt6lsRcvGXFX/Q4UXemzPwhnjiL6vTe2GGI9McmUtGfoveAcH4wDjKQhYK6g0nPbWHBUqu tpV7Z1Pr0XUmmMezMrG6T1dBy41N3TclJD0jeThCa2mBtc6ZkELVvZxAoTrmMzQvuO5z6GzZeGhwGj 60Q2ESqd0wLBhTGl+IgadDRRJp7q0qQj0qJIw+NdM9+pHA7IJSMWTkWvGGSw== X-Developer-Key: i=neil.armstrong@linaro.org; a=openpgp; fpr=89EC3D058446217450F22848169AB7B1A4CFF8AE The Thinkpad T14s embeds a transparent 4lanes DP->HDMI transceiver connected to the third QMP Combo PHY 4 lanes. Add all the data routing, disable mode switching and specify the QMP Combo PHY should be in DP-Only mode to route the 4 lanes to the underlying DP phy. Reviewed-by: Konrad Dybcio Reviewed-by: Dmitry Baryshkov Signed-off-by: Neil Armstrong --- .../dts/qcom/x1e78100-lenovo-thinkpad-t14s.dtsi | 81 ++++++++++++++++++= ++++ 1 file changed, 81 insertions(+) diff --git a/arch/arm64/boot/dts/qcom/x1e78100-lenovo-thinkpad-t14s.dtsi b/= arch/arm64/boot/dts/qcom/x1e78100-lenovo-thinkpad-t14s.dtsi index 654cbce9d6ecb61c8a6e874d16385d66e362e439..7aa7ae66f49a7a179652757fd82= 6e9d11b9b29da 100644 --- a/arch/arm64/boot/dts/qcom/x1e78100-lenovo-thinkpad-t14s.dtsi +++ b/arch/arm64/boot/dts/qcom/x1e78100-lenovo-thinkpad-t14s.dtsi @@ -62,6 +62,45 @@ switch-lid { }; }; =20 + hdmi-bridge { + compatible =3D "realtek,rtd2171"; + + pinctrl-0 =3D <&hdmi_hpd_default>; + pinctrl-names =3D "default"; + + ports { + #address-cells =3D <1>; + #size-cells =3D <0>; + + port@0 { + reg =3D <0>; + + hdmi_bridge_dp_in: endpoint { + remote-endpoint =3D <&usb_1_ss2_qmpphy_out_dp>; + }; + }; + + port@1 { + reg =3D <1>; + + hdmi_bridge_tmds_out: endpoint { + remote-endpoint =3D <&hdmi_con>; + }; + }; + }; + }; + + hdmi-connector { + compatible =3D "hdmi-connector"; + type =3D "a"; + + port { + hdmi_con: endpoint { + remote-endpoint =3D <&hdmi_bridge_tmds_out>; + }; + }; + }; + pmic-glink { compatible =3D "qcom,x1e80100-pmic-glink", "qcom,sm8550-pmic-glink", @@ -1028,6 +1067,14 @@ &mdss_dp1_out { link-frequencies =3D /bits/ 64 <1620000000 2700000000 5400000000 81000000= 00>; }; =20 +&mdss_dp2 { + status =3D "okay"; +}; + +&mdss_dp2_out { + link-frequencies =3D /bits/ 64 <1620000000 2700000000 5400000000 81000000= 00>; +}; + &mdss_dp3 { /delete-property/ #sound-dai-cells; =20 @@ -1317,6 +1364,12 @@ eusb6_reset_n: eusb6-reset-n-state { output-low; }; =20 + hdmi_hpd_default: hdmi-hpd-default-state { + pins =3D "gpio126"; + function =3D "usb2_dp"; + bias-disable; + }; + tpad_default: tpad-default-state { pins =3D "gpio3"; function =3D "gpio"; @@ -1548,6 +1601,34 @@ &usb_1_ss1_qmpphy_out { remote-endpoint =3D <&retimer_ss1_ss_in>; }; =20 +&usb_1_ss2_qmpphy { + vdda-phy-supply =3D <&vreg_l2j_1p2>; + vdda-pll-supply =3D <&vreg_l2d_0p9>; + + /delete-property/ mode-switch; + /delete-property/ orientation-switch; + + status =3D "okay"; + + ports { + port@0 { + #address-cells =3D <1>; + #size-cells =3D <0>; + + /delete-node/ endpoint; + + usb_1_ss2_qmpphy_out_dp: endpoint@0 { + reg =3D <0>; + + data-lanes =3D <3 2 1 0>; + remote-endpoint =3D <&hdmi_bridge_dp_in>; + }; + + /* No USB3 lanes connected */ + }; + }; +}; + &usb_2 { status =3D "okay"; }; --=20 2.34.1