From nobody Wed Oct 1 21:23:17 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 8CC3D1684B0 for ; Tue, 30 Sep 2025 17:17:25 +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=1759252647; cv=none; b=BiRjkiEf6kLNxO7cWOAlbwcaKOoYRAhwkm0dN5BEr6dwpDtuGGTbHJ4PA3a1LX36TPKZ2RHPIwJ12x11wbqHsJiG5zu7yzHcLYu4huT2dBCaNSQ8ap/hrsADAco5DdKymEPsTR/Yy/3WYpnmKI9IUXr15P4zO+Tj7HDnQWaoEGE= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1759252647; c=relaxed/simple; bh=+dDf6+3YhN4vz3PDVIAYw6UpFs5vKV8CVEAHEvVlH40=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:To:Cc; b=cXTzn3fnnplcDs5UmN1+tC4wv3Vd3x/3+UfUeUGkJSI+2su7rjj5YEbo1/oM2QnwdOlBTho4U4I9EPBFlI9rgHAZk9d9Kl3l/Hx+QDzypJcKCPsKSb66gaIhO13i3U+P4F8I2iyNBbpy4hd/wT1aCBqcgZPyTLokAm1xxaz3bp0= 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=ZHZ8xwu0; 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="ZHZ8xwu0" Received: by mail-wm1-f44.google.com with SMTP id 5b1f17b1804b1-46e29d65728so42121255e9.3 for ; Tue, 30 Sep 2025 10:17:25 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1759252644; x=1759857444; darn=vger.kernel.org; h=cc:to:message-id:content-transfer-encoding:mime-version:subject :date:from:from:to:cc:subject:date:message-id:reply-to; bh=RNePBLAvYV3wK8ibZpgmHCPCbmbpde/eqvSInVk0KIc=; b=ZHZ8xwu0vt0IgYY4eg2K8R0PfVoqqLSkxQWQvL3U3Q7THTaR0Z3Abd0cACL1JL4FT7 Zk8LUL3Lfzi0GKkNAiILWwahVnuXOmPxlXmRSBCNLg6biK51dGY7fkm9V+YNbD4ALLXC iBfoIpwcqbSix+AEgs+hUkBS/HAu+kKZiQp8TymWpcwxTdBVK+IhRKz+SmNOdGoIqDFY 372qINC1jdmI3DfcaoRn5/ttnz7yD7U9+P+BeZLT+FuNUPQI0E2NuZpBlUyL8vj/Rssm cBZQfMCltKvi0pcTwwAlxjxOx2XO7hDxMkJ5dkkUODRGczldT/Qq9Qlm+cCOaOE2EF87 2hsA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1759252644; x=1759857444; h=cc:to:message-id:content-transfer-encoding:mime-version:subject :date:from:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=RNePBLAvYV3wK8ibZpgmHCPCbmbpde/eqvSInVk0KIc=; b=Rc21wDcht/KG+Zg/aTJEhYUKa4FYJlu52JqNCqARzea4AVgaKqpJbxOR6GRR2odLtO WJ5ZsgfKaLIbVdsroB3d6ntU9IJ0fswniACNkT1awz3W+UWw5VXYP54NAqhbKN5LliFR YTZ1wb5NuzIM6doDi0nYpLG5tlCZmAJB1ucD1MyisCrzoG2OtQKUwv9mHQsY2c+25DVf WvHM6N1DLqDz/XOAAkax3G3YtzWKS1EbtZz6/vrOcm+VaZ2g+oYTgq9bUzScrjCPGaZp mCuIaukB0U0PafhHj404lOEIIkdK9isc0hr6MHiylqRh8OtzCmu1pZokj4qy8UJbjcWJ H8fw== X-Forwarded-Encrypted: i=1; AJvYcCU63n2oXBmQiO+5j2RNOYPPVRT/ryo3/J5ULBe6/kiQenxZ/3YQUsUaxYPs46gvlVRXnCr3/y7HpCee9II=@vger.kernel.org X-Gm-Message-State: AOJu0Yw2CW5H7KJTE2oRT0haXpqcvyFCFBUdqIutaT7cMxAsNcC3tSQd yQvygxnBEh5uBmkrdp5G1gvnmwwCo6c6iAR3OaC6m75agGGFn6LlRHeCGW0v8LMRO78= X-Gm-Gg: ASbGncucY90kR7aXIqSoo25Sg1p2fkS5tXlkdBdouaPX4nA7bVQqs/3LeeQua+h5ldn kauK8CPU1VDNYjdsp7p2AazvTviel9o853tJrflprDJMpY51BSoxrsLgXAC0objv9GfDo2i8beC tjEuBq7RhQhEVjDWbzYzRnByUBquOuCFmMsQtsIvR9/9/fPQ8DoeorjVdPSYu0e0MptcrW4zs0z fmLg8/NctZCCbRC3BhQ9RSWjmUsMN5xKOT+7SunoLdM8xGGyC5OCwmuv8Qmsd+PMDk8Zvx+ztDz cIE+Laqgt5gM238vVbZ1eFPpc4zBGql/U/SsJ/oAQlq4qLvciCqdd19iz2mNEbW1Ld3Znf7R72B Pvhu2ZKbt0z+xqJwG7AVeEBIZmF5biODyRuO/bBvipVm5NCSS22hoUVgpKPxhiJHtzsM= X-Google-Smtp-Source: AGHT+IElfAfSUmqbhDMTil+yEDuc0QOUeaDmYZur34EATX4bKiElLsQT72CWpqSOwiVb4bZzmxTvtQ== X-Received: by 2002:a05:600c:8b18:b0:46e:4a13:e6c6 with SMTP id 5b1f17b1804b1-46e612bfe6fmr4845315e9.19.1759252643701; Tue, 30 Sep 2025 10:17:23 -0700 (PDT) Received: from arrakeen.starnux.net ([2a01:e0a:3d9:2080:52eb:f6ff:feb3:451a]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-40fb72fb017sm23443480f8f.3.2025.09.30.10.17.22 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 30 Sep 2025 10:17:23 -0700 (PDT) From: Neil Armstrong Date: Tue, 30 Sep 2025 19:17:21 +0200 Subject: [PATCH] dt-bindings: usb: switch: split out ports definition 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: <20250930-topic-sm8x50-fix-qmp-usb43dp-usb-switch-v1-1-060568de9538@linaro.org> X-B4-Tracking: v=1; b=H4sIAKAQ3GgC/x2NQQqDMBBFryKz7sBoTLG9SnGhcdRZqGnGViHk7 gZXjweP/yMoB2GFdxEh8F9UtjVL+SjAzd06McqQHSqqLL0M4b55cahLc1rCUU78Lh5/2tdmuIl 6yO5mJNfUTL0dzbOEvOYD5/p++rQpXbUAOVp5AAAA X-Change-ID: 20250930-topic-sm8x50-fix-qmp-usb43dp-usb-switch-0c84e0b5f361 To: Vinod Koul , Kishon Vijay Abraham I , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Shawn Guo , Sascha Hauer , Pengutronix Kernel Team , Fabio Estevam , Greg Kroah-Hartman , Romain Gantois , Li Jun , Marek Szyprowski , Sylwester Nawrocki , Bjorn Andersson , Luca Weiss , Abel Vesa , Konrad Dybcio Cc: Krzysztof Kozlowski , linux-phy@lists.infradead.org, devicetree@vger.kernel.org, imx@lists.linux.dev, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, linux-usb@vger.kernel.org, linux-arm-msm@vger.kernel.org, Neil Armstrong X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=openpgp-sha256; l=11052; i=neil.armstrong@linaro.org; h=from:subject:message-id; bh=+dDf6+3YhN4vz3PDVIAYw6UpFs5vKV8CVEAHEvVlH40=; b=owEBbQKS/ZANAwAKAXfc29rIyEnRAcsmYgBo3BCihvjWzPnZJlhuvLZ6p0GUKsLhNQeMd0D0Boz9 8oDpIKmJAjMEAAEKAB0WIQQ9U8YmyFYF/h30LIt33NvayMhJ0QUCaNwQogAKCRB33NvayMhJ0cCnD/ 4sX406R2aFjpxvYRVXxdYNHyWS+bQ0NWwtfX7a9BcMA2e/NxnIRA2upqPHp8CbtZUUdLxnqUkMwvic ZfWZLurSh3Zul3FvrDx77K5j6N+CCwx0VAwqb0B9dR7n4oSa0e+nnnYNTvZxaPMbIUHdmW9jSZvTWe sdiA6qZ2NdWWGyfPqNgbprHsJ9GulUpGM9Xf9ye4gMKcCUebeh46ztBXFuw2TyArwv5BboZRlEU8AT L5N+PgzSc+GBPFr5kJe0ENIAfwsX0YWZd9bLgDqtB25SJo9Au5qAi7AvSXLALF6IheULmjPlRp0cG8 1rmQFE9OAXtVWOxjVh+Dk1Sol1IYqhO4l8Am2AlscIefWGo53l2HD2VPaWVUhpMQVMElX203eoqImR ALTvtipR5YQxqS2X9YSelreAAqYXhUO2wRwO6kCo+0YvC1rPRM6WdyY1A90WA2NXVVTlI82fK14d5q xm2GFOQOYqgA1ZSJpDzGhoR/52iP4KGPLkxTYEi910T3qUrcy2LxFOO5C5ub4FW+CS7+roF/o6hJFg 396De3BB76e2uzLq/mJPxiu9xWL+zSRGa0DHxKiC6lJVNOsANguPUXa66G1OFllKVaydZNZKqQuBm0 AwjcM/W3kSVdHdLFUUEwobhDutHxehRMz8PwFyh5SllOkzKHRBc5d09UMrWQ== X-Developer-Key: i=neil.armstrong@linaro.org; a=openpgp; fpr=89EC3D058446217450F22848169AB7B1A4CFF8AE The ports definition currently defined in the usb-switch.yaml fits standards devices which are either recipient of altmode muxing and orientation switching events or an element of the USB Super Speed data lanes. This doesn't necessarely fit combo PHYs like the Qualcomm USB3/DP Combo which has a different ports representation. Move the ports definition to a separate usb-switch-ports.yaml and reference it next to the usb-switch.yaml, except for the Qualcomm USB3/DP Combo PHY bindings. Reported-by: Rob Herring Closes: https://lore.kernel.org/all/175462129176.394940.1681063779527833434= 2.robh@kernel.org/ Fixes: 3bad7fe22796 ("dt-bindings: phy: qcom,sc8280xp-qmp-usb43dp: Referenc= e usb-switch.yaml to allow mode-switch") Signed-off-by: Neil Armstrong --- .../bindings/phy/fsl,imx8mq-usb-phy.yaml | 4 +- .../bindings/phy/samsung,usb3-drd-phy.yaml | 4 +- .../devicetree/bindings/usb/fcs,fsa4480.yaml | 1 + .../devicetree/bindings/usb/gpio-sbu-mux.yaml | 1 + .../devicetree/bindings/usb/nxp,ptn36502.yaml | 1 + .../devicetree/bindings/usb/onnn,nb7vpq904m.yaml | 1 + .../devicetree/bindings/usb/parade,ps8830.yaml | 1 + .../bindings/usb/qcom,wcd939x-usbss.yaml | 1 + .../devicetree/bindings/usb/ti,tusb1046.yaml | 1 + .../devicetree/bindings/usb/usb-switch-ports.yaml | 68 ++++++++++++++++++= ++++ .../devicetree/bindings/usb/usb-switch.yaml | 52 ----------------- 11 files changed, 81 insertions(+), 54 deletions(-) diff --git a/Documentation/devicetree/bindings/phy/fsl,imx8mq-usb-phy.yaml = b/Documentation/devicetree/bindings/phy/fsl,imx8mq-usb-phy.yaml index 6a47e08e0e97b286538798190225ca2966a7ab34..f9cffbb2df07d6fa352a844071a= f7cc894652d0c 100644 --- a/Documentation/devicetree/bindings/phy/fsl,imx8mq-usb-phy.yaml +++ b/Documentation/devicetree/bindings/phy/fsl,imx8mq-usb-phy.yaml @@ -142,7 +142,9 @@ allOf: required: - orientation-switch then: - $ref: /schemas/usb/usb-switch.yaml# + allOf: + - $ref: /schemas/usb/usb-switch.yaml# + - $ref: /schemas/usb/usb-switch-ports.yaml# =20 unevaluatedProperties: false =20 diff --git a/Documentation/devicetree/bindings/phy/samsung,usb3-drd-phy.yam= l b/Documentation/devicetree/bindings/phy/samsung,usb3-drd-phy.yaml index e906403208c02951ff2bf5ed8420d53ad70eb29c..ea1135c91fb74c01ba860b9588c= a89e611701359 100644 --- a/Documentation/devicetree/bindings/phy/samsung,usb3-drd-phy.yaml +++ b/Documentation/devicetree/bindings/phy/samsung,usb3-drd-phy.yaml @@ -125,7 +125,9 @@ allOf: contains: const: google,gs101-usb31drd-phy then: - $ref: /schemas/usb/usb-switch.yaml# + allOf: + - $ref: /schemas/usb/usb-switch.yaml# + - $ref: /schemas/usb/usb-switch-ports.yaml# =20 properties: clocks: diff --git a/Documentation/devicetree/bindings/usb/fcs,fsa4480.yaml b/Docum= entation/devicetree/bindings/usb/fcs,fsa4480.yaml index e3a7df91f7f15e9a6d8eb4971bc2b9646bdad0c6..89b1fb90aeebc0ccfc50ea52b67= 015034294e1a8 100644 --- a/Documentation/devicetree/bindings/usb/fcs,fsa4480.yaml +++ b/Documentation/devicetree/bindings/usb/fcs,fsa4480.yaml @@ -76,6 +76,7 @@ required: =20 allOf: - $ref: usb-switch.yaml# + - $ref: usb-switch-ports.yaml# =20 additionalProperties: false =20 diff --git a/Documentation/devicetree/bindings/usb/gpio-sbu-mux.yaml b/Docu= mentation/devicetree/bindings/usb/gpio-sbu-mux.yaml index e588514fab2d8c9d0d3717865fe2e733664fc28b..793662f6f3bff4a4b4b73b38983= abca12e1e61d2 100644 --- a/Documentation/devicetree/bindings/usb/gpio-sbu-mux.yaml +++ b/Documentation/devicetree/bindings/usb/gpio-sbu-mux.yaml @@ -52,6 +52,7 @@ required: =20 allOf: - $ref: usb-switch.yaml# + - $ref: usb-switch-ports.yaml# - if: required: - mode-switch diff --git a/Documentation/devicetree/bindings/usb/nxp,ptn36502.yaml b/Docu= mentation/devicetree/bindings/usb/nxp,ptn36502.yaml index d805dde80796f31a066cf52ba2f226ce2e9e9cc2..4d2fcaa718708fe5d0a05ebce21= 1f0a729d6c617 100644 --- a/Documentation/devicetree/bindings/usb/nxp,ptn36502.yaml +++ b/Documentation/devicetree/bindings/usb/nxp,ptn36502.yaml @@ -46,6 +46,7 @@ required: =20 allOf: - $ref: usb-switch.yaml# + - $ref: usb-switch-ports.yaml# =20 additionalProperties: false =20 diff --git a/Documentation/devicetree/bindings/usb/onnn,nb7vpq904m.yaml b/D= ocumentation/devicetree/bindings/usb/onnn,nb7vpq904m.yaml index 589914d22bf250ff94c98ed22b32616d2c0cca1c..25fab5fdc2cd712a8075c2ee20b= dc80829c3b043 100644 --- a/Documentation/devicetree/bindings/usb/onnn,nb7vpq904m.yaml +++ b/Documentation/devicetree/bindings/usb/onnn,nb7vpq904m.yaml @@ -91,6 +91,7 @@ required: =20 allOf: - $ref: usb-switch.yaml# + - $ref: usb-switch-ports.yaml# =20 additionalProperties: false =20 diff --git a/Documentation/devicetree/bindings/usb/parade,ps8830.yaml b/Doc= umentation/devicetree/bindings/usb/parade,ps8830.yaml index aeb33667818eb0d116a3467d30220002a3b5df73..eaeab1c01a594e05666d01cf6b8= 2a6d7127ae075 100644 --- a/Documentation/devicetree/bindings/usb/parade,ps8830.yaml +++ b/Documentation/devicetree/bindings/usb/parade,ps8830.yaml @@ -81,6 +81,7 @@ required: =20 allOf: - $ref: usb-switch.yaml# + - $ref: usb-switch-ports.yaml# =20 additionalProperties: false =20 diff --git a/Documentation/devicetree/bindings/usb/qcom,wcd939x-usbss.yaml = b/Documentation/devicetree/bindings/usb/qcom,wcd939x-usbss.yaml index 96346723f3e9c92c32325c7395eff49336cbcaf8..96dcec9b76204606397cc1e3133= 8832e518816f3 100644 --- a/Documentation/devicetree/bindings/usb/qcom,wcd939x-usbss.yaml +++ b/Documentation/devicetree/bindings/usb/qcom,wcd939x-usbss.yaml @@ -60,6 +60,7 @@ required: =20 allOf: - $ref: usb-switch.yaml# + - $ref: usb-switch-ports.yaml# =20 additionalProperties: false =20 diff --git a/Documentation/devicetree/bindings/usb/ti,tusb1046.yaml b/Docum= entation/devicetree/bindings/usb/ti,tusb1046.yaml index f713cac4a8ac8e89c017999bc11e4b3a38d3ac2e..e1501ea6b50bf76e4bac6cbc2a3= 243f7107029d0 100644 --- a/Documentation/devicetree/bindings/usb/ti,tusb1046.yaml +++ b/Documentation/devicetree/bindings/usb/ti,tusb1046.yaml @@ -11,6 +11,7 @@ maintainers: =20 allOf: - $ref: usb-switch.yaml# + - $ref: usb-switch-ports.yaml# =20 properties: compatible: diff --git a/Documentation/devicetree/bindings/usb/usb-switch-ports.yaml b/= Documentation/devicetree/bindings/usb/usb-switch-ports.yaml new file mode 100644 index 0000000000000000000000000000000000000000..6bf0c97e30ae7069481e41ef874= 5804e5efde974 --- /dev/null +++ b/Documentation/devicetree/bindings/usb/usb-switch-ports.yaml @@ -0,0 +1,68 @@ +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) +%YAML 1.2 +--- +$id: http://devicetree.org/schemas/usb/usb-switch-ports.yaml# +$schema: http://devicetree.org/meta-schemas/core.yaml# + +title: USB Orientation and Mode Switches Ports Graph Properties + +maintainers: + - Greg Kroah-Hartman + +description: + Ports Graph properties for devices handling USB mode and orientation swi= tching. + +properties: + port: + $ref: /schemas/graph.yaml#/$defs/port-base + description: + A port node to link the device to a TypeC controller for the purpose= of + handling altmode muxing and orientation switching. + + properties: + endpoint: + $ref: /schemas/graph.yaml#/$defs/endpoint-base + unevaluatedProperties: false + properties: + data-lanes: + $ref: /schemas/types.yaml#/definitions/uint32-array + minItems: 1 + maxItems: 8 + uniqueItems: true + items: + maximum: 8 + + ports: + $ref: /schemas/graph.yaml#/properties/ports + properties: + port@0: + $ref: /schemas/graph.yaml#/properties/port + description: + Super Speed (SS) Output endpoint to the Type-C connector + + port@1: + $ref: /schemas/graph.yaml#/$defs/port-base + description: + Super Speed (SS) Input endpoint from the Super-Speed PHY + unevaluatedProperties: false + + properties: + endpoint: + $ref: /schemas/graph.yaml#/$defs/endpoint-base + unevaluatedProperties: false + properties: + data-lanes: + $ref: /schemas/types.yaml#/definitions/uint32-array + minItems: 1 + maxItems: 8 + uniqueItems: true + items: + maximum: 8 + +oneOf: + - required: + - port + - required: + - ports + +additionalProperties: true diff --git a/Documentation/devicetree/bindings/usb/usb-switch.yaml b/Docume= ntation/devicetree/bindings/usb/usb-switch.yaml index 89620191263023bec800dec114c0017c41b7c056..f77731493dc4901d0e95746b0cf= 1ffa3ee7ddfd0 100644 --- a/Documentation/devicetree/bindings/usb/usb-switch.yaml +++ b/Documentation/devicetree/bindings/usb/usb-switch.yaml @@ -25,56 +25,4 @@ properties: description: Possible handler of SuperSpeed signals retiming type: boolean =20 - port: - $ref: /schemas/graph.yaml#/$defs/port-base - description: - A port node to link the device to a TypeC controller for the purpose= of - handling altmode muxing and orientation switching. - - properties: - endpoint: - $ref: /schemas/graph.yaml#/$defs/endpoint-base - unevaluatedProperties: false - properties: - data-lanes: - $ref: /schemas/types.yaml#/definitions/uint32-array - minItems: 1 - maxItems: 8 - uniqueItems: true - items: - maximum: 8 - - ports: - $ref: /schemas/graph.yaml#/properties/ports - properties: - port@0: - $ref: /schemas/graph.yaml#/properties/port - description: - Super Speed (SS) Output endpoint to the Type-C connector - - port@1: - $ref: /schemas/graph.yaml#/$defs/port-base - description: - Super Speed (SS) Input endpoint from the Super-Speed PHY - unevaluatedProperties: false - - properties: - endpoint: - $ref: /schemas/graph.yaml#/$defs/endpoint-base - unevaluatedProperties: false - properties: - data-lanes: - $ref: /schemas/types.yaml#/definitions/uint32-array - minItems: 1 - maxItems: 8 - uniqueItems: true - items: - maximum: 8 - -oneOf: - - required: - - port - - required: - - ports - additionalProperties: true --- base-commit: 262858079afde6d367ce3db183c74d8a43a0e83f change-id: 20250930-topic-sm8x50-fix-qmp-usb43dp-usb-switch-0c84e0b5f361 Best regards, --=20 Neil Armstrong