* [PATCH v4 0/3] arm64: qcom: x1e78100-lenovo-thinkpad-t14s: add support for HDMI output
@ 2025-09-30 7:39 Neil Armstrong
2025-09-30 7:39 ` [PATCH v4 1/3] dt-bindings: phy: qcom,sc8280xp-qmp-usb43dp-phy: Document lanes mapping when not using in USB-C complex Neil Armstrong
` (3 more replies)
0 siblings, 4 replies; 17+ messages in thread
From: Neil Armstrong @ 2025-09-30 7:39 UTC (permalink / raw)
To: Vinod Koul, Kishon Vijay Abraham I, Rob Herring,
Krzysztof Kozlowski, Conor Dooley, Bjorn Andersson, Konrad Dybcio
Cc: Xilin Wu, linux-arm-msm, linux-phy, devicetree, linux-kernel,
Neil Armstrong
The Thinkpad T14s embeds a transparent 4lanes DP->HDMI transceiver
connected to the third QMP Combo PHY 4 lanes.
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:
- 1/2 DP + 2 USB3
- 1/2/4 DP
- 2 USB3
We need be able to specify the lanes mapping to DisplayPort
and/or USB3 peripherals when not connected to a Type-C complex.
Add the documentation for data-lanes in the out endpoints amd
use those in the driver to setup the right PHY mode and
orientation.
Finally Add all the data routing in DT, 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.
Depends on:
- [1] https://lore.kernel.org/all/20250902-topic-sm8x50-fix-qmp-usb43dp-usb-switch-v1-1-5b4a51c8c5a8@linaro.org/
Signed-off-by: Neil Armstrong <neil.armstrong@linaro.org>
---
Changes in v4:
- Add definition for single lane DP
- Fix lanes mapping for DP in bindings and driver
- Add documentation on how to interpret the data-lanes numbers
- Rewrite driver support for be simpler and split into helpers
- Rebase DT on next and drop phy.h include, and use proper mapping
- Link to v3: https://lore.kernel.org/r/20250908-topic-x1e80100-hdmi-v3-0-c53b0f2bc2fb@linaro.org
Changes in v3:
- Move the static lanes mapping in data-lanes in the out endpoints
- new bindings
- new drivewr implementation
- new DT layout
- rebased on next, fixed simple bridge rebase
- added link frequencies for dp2
- Link to v2: https://lore.kernel.org/r/20250902-topic-x1e80100-hdmi-v2-0-f4ccf0ef79ab@linaro.org
Changes in v2:
- Model the HDMI transceiver as a simple bridge
- Switch to a static lanes mapping property
- Link to v1: https://lore.kernel.org/r/20250821-topic-x1e80100-hdmi-v1-0-f14ad9430e88@linaro.org
---
Neil Armstrong (3):
dt-bindings: phy: qcom,sc8280xp-qmp-usb43dp-phy: Document lanes mapping when not using in USB-C complex
phy: qcom: qmp-combo: get the USB3 & DisplayPort lanes mapping from DT
arm64: dts: qcom: x1e78100-lenovo-thinkpad-t14s: add HDMI nodes
.../phy/qcom,sc8280xp-qmp-usb43dp-phy.yaml | 67 +++++++++-
.../dts/qcom/x1e78100-lenovo-thinkpad-t14s.dtsi | 81 ++++++++++++
drivers/phy/qualcomm/phy-qcom-qmp-combo.c | 145 +++++++++++++++++++--
3 files changed, 284 insertions(+), 9 deletions(-)
---
base-commit: 4513b3b1a91546d0dd02c5c0eb507933b328021c
change-id: 20250821-topic-x1e80100-hdmi-3bd5b5bd2d96
Best regards,
--
Neil Armstrong <neil.armstrong@linaro.org>
--
linux-phy mailing list
linux-phy@lists.infradead.org
https://lists.infradead.org/mailman/listinfo/linux-phy
^ permalink raw reply [flat|nested] 17+ messages in thread* [PATCH v4 1/3] dt-bindings: phy: qcom,sc8280xp-qmp-usb43dp-phy: Document lanes mapping when not using in USB-C complex 2025-09-30 7:39 [PATCH v4 0/3] arm64: qcom: x1e78100-lenovo-thinkpad-t14s: add support for HDMI output Neil Armstrong @ 2025-09-30 7:39 ` Neil Armstrong 2025-10-06 9:43 ` Konrad Dybcio 2025-09-30 7:39 ` [PATCH v4 2/3] phy: qcom: qmp-combo: get the USB3 & DisplayPort lanes mapping from DT Neil Armstrong ` (2 subsequent siblings) 3 siblings, 1 reply; 17+ messages in thread From: Neil Armstrong @ 2025-09-30 7:39 UTC (permalink / raw) To: Vinod Koul, Kishon Vijay Abraham I, Rob Herring, Krzysztof Kozlowski, Conor Dooley, Bjorn Andersson, Konrad Dybcio Cc: Xilin Wu, linux-arm-msm, linux-phy, devicetree, linux-kernel, Neil Armstrong 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 <neil.armstrong@linaro.org> --- .../phy/qcom,sc8280xp-qmp-usb43dp-phy.yaml | 67 +++++++++++++++++++++- 1 file changed, 66 insertions(+), 1 deletion(-) diff --git a/Documentation/devicetree/bindings/phy/qcom,sc8280xp-qmp-usb43dp-phy.yaml b/Documentation/devicetree/bindings/phy/qcom,sc8280xp-qmp-usb43dp-phy.yaml index 5005514d7c3a1e4a8893883497fd204bc04e12be..ac9a307675bc4e86f7693ba260c75b7b88d992ec 100644 --- a/Documentation/devicetree/bindings/phy/qcom,sc8280xp-qmp-usb43dp-phy.yaml +++ b/Documentation/devicetree/bindings/phy/qcom,sc8280xp-qmp-usb43dp-phy.yaml @@ -81,10 +81,75 @@ properties: 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 with static mapping, + The entry index is the DP lanes index, and the number is the PHY + signal in the order RX0, TX0, TX1, RX1. + unevaluatedProperties: false + + properties: + 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, TX1, RX1. + unevaluatedProperties: false + + properties: + 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 port@1: $ref: /schemas/graph.yaml#/properties/port -- 2.34.1 -- linux-phy mailing list linux-phy@lists.infradead.org https://lists.infradead.org/mailman/listinfo/linux-phy ^ permalink raw reply related [flat|nested] 17+ messages in thread
* Re: [PATCH v4 1/3] dt-bindings: phy: qcom,sc8280xp-qmp-usb43dp-phy: Document lanes mapping when not using in USB-C complex 2025-09-30 7:39 ` [PATCH v4 1/3] dt-bindings: phy: qcom,sc8280xp-qmp-usb43dp-phy: Document lanes mapping when not using in USB-C complex Neil Armstrong @ 2025-10-06 9:43 ` Konrad Dybcio 2025-10-06 9:48 ` Neil Armstrong 0 siblings, 1 reply; 17+ messages in thread From: Konrad Dybcio @ 2025-10-06 9:43 UTC (permalink / raw) To: Neil Armstrong, Vinod Koul, Kishon Vijay Abraham I, Rob Herring, Krzysztof Kozlowski, Conor Dooley, Bjorn Andersson, Konrad Dybcio Cc: Xilin Wu, linux-arm-msm, linux-phy, devicetree, linux-kernel On 9/30/25 9:39 AM, Neil Armstrong wrote: > 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 <neil.armstrong@linaro.org> > --- [...] > + 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, TX1, RX1.> + unevaluatedProperties: false > + > + properties: > + data-lanes: Can this be described in a somewhat reasonable way to be non-compatible with Type-C properties for more validation? If not, let's just maybe add a comment like # Static lane mappings are mutually exclusive with typec-mux/orientation-mux Konrad -- linux-phy mailing list linux-phy@lists.infradead.org https://lists.infradead.org/mailman/listinfo/linux-phy ^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: [PATCH v4 1/3] dt-bindings: phy: qcom,sc8280xp-qmp-usb43dp-phy: Document lanes mapping when not using in USB-C complex 2025-10-06 9:43 ` Konrad Dybcio @ 2025-10-06 9:48 ` Neil Armstrong 0 siblings, 0 replies; 17+ messages in thread From: Neil Armstrong @ 2025-10-06 9:48 UTC (permalink / raw) To: Konrad Dybcio, Vinod Koul, Kishon Vijay Abraham I, Rob Herring, Krzysztof Kozlowski, Conor Dooley, Bjorn Andersson, Konrad Dybcio Cc: Xilin Wu, linux-arm-msm, linux-phy, devicetree, linux-kernel On 10/6/25 11:43, Konrad Dybcio wrote: > On 9/30/25 9:39 AM, Neil Armstrong wrote: >> 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 <neil.armstrong@linaro.org> >> --- > > [...] > >> + 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, TX1, RX1.> + unevaluatedProperties: false >> + >> + properties: >> + data-lanes: > > Can this be described in a somewhat reasonable way to be non-compatible > with Type-C properties for more validation? I tried, but failed. Let me try again ! > > If not, let's just maybe add a comment like > > # Static lane mappings are mutually exclusive with typec-mux/orientation-mux Ack Thanks, Neil > > Konrad -- linux-phy mailing list linux-phy@lists.infradead.org https://lists.infradead.org/mailman/listinfo/linux-phy ^ permalink raw reply [flat|nested] 17+ messages in thread
* [PATCH v4 2/3] phy: qcom: qmp-combo: get the USB3 & DisplayPort lanes mapping from DT 2025-09-30 7:39 [PATCH v4 0/3] arm64: qcom: x1e78100-lenovo-thinkpad-t14s: add support for HDMI output Neil Armstrong 2025-09-30 7:39 ` [PATCH v4 1/3] dt-bindings: phy: qcom,sc8280xp-qmp-usb43dp-phy: Document lanes mapping when not using in USB-C complex Neil Armstrong @ 2025-09-30 7:39 ` Neil Armstrong 2025-09-30 18:56 ` Dmitry Baryshkov 2025-10-06 10:08 ` Konrad Dybcio 2025-09-30 7:39 ` [PATCH v4 3/3] arm64: dts: qcom: x1e78100-lenovo-thinkpad-t14s: add HDMI nodes Neil Armstrong 2025-09-30 14:39 ` [PATCH v4 0/3] arm64: qcom: x1e78100-lenovo-thinkpad-t14s: add support for HDMI output Rob Herring (Arm) 3 siblings, 2 replies; 17+ messages in thread From: Neil Armstrong @ 2025-09-30 7:39 UTC (permalink / raw) To: Vinod Koul, Kishon Vijay Abraham I, Rob Herring, Krzysztof Kozlowski, Conor Dooley, Bjorn Andersson, Konrad Dybcio Cc: Xilin Wu, linux-arm-msm, linux-phy, devicetree, linux-kernel, Neil Armstrong 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. Signed-off-by: Neil Armstrong <neil.armstrong@linaro.org> --- 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/qualcomm/phy-qcom-qmp-combo.c index 7b5af30f1d028c592500e723ecd27b54ed554709..3a100807448152d7a08b6d1086f4a415b00e5255 100644 --- a/drivers/phy/qualcomm/phy-qcom-qmp-combo.c +++ b/drivers/phy/qualcomm/phy-qcom-qmp-combo.c @@ -13,6 +13,7 @@ #include <linux/module.h> #include <linux/of.h> #include <linux/of_address.h> +#include <linux/of_graph.h> #include <linux/phy/phy.h> #include <linux/platform_device.h> #include <linux/regulator/consumer.h> @@ -1744,6 +1745,26 @@ static const u8 qmp_dp_v6_pre_emphasis_hbr_rbr[4][4] = { { 0x22, 0xff, 0xff, 0xff } }; +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[] = { + { 2, TYPEC_ORIENTATION_NORMAL, { 1, 0 }}, + { 2, TYPEC_ORIENTATION_REVERSE, { 2, 3 }}, +}; + +static const struct qmp_combo_lane_mapping dp_data_lanes[] = { + { 1, TYPEC_ORIENTATION_NORMAL, { 0 }}, + { 1, TYPEC_ORIENTATION_REVERSE, { 3 }}, + { 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; 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); } +static void qmp_combo_find_lanes_orientation(const struct qmp_combo_lane_mapping *mapping, + unsigned int mapping_count, + u32 *lanes, unsigned int lanes_count, + enum typec_orientation *orientation) +{ + int i; + + for (i = 0; i < mapping_count; i++) { + if (mapping[i].lanes_count != lanes_count) + continue; + if (!memcmp(mapping[i].lanes, lanes, sizeof(u32) * lanes_count)) { + *orientation = 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 = of_graph_get_endpoint_by_regs(dev->of_node, 0, endpoint); + if (!ep) + return -EINVAL; + + ret = of_property_count_u32_elems(ep, "data-lanes"); + if (ret < 0) + goto err_node_put; + + *count = ret; + + ret = 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 = qmp_combo_get_dt_lanes_mapping(dev, 0, data_lanes, 4, &count); + if (ret < 0) + return ret == -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 = qmp_combo_get_dt_lanes_mapping(dev, 1, data_lanes, 2, &count); + if (ret < 0) + return ret == -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_lanes), + 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 *pdev) if (ret) goto err_node_put; - ret = qmp_combo_typec_register(qmp); - if (ret) - goto err_node_put; + qmp->qmpphy_mode = QMPPHY_MODE_USB3DP; + + if (of_find_property(dev->of_node, "mode-switch", NULL) || + of_find_property(dev->of_node, "orientation-switch", NULL)) { + ret = qmp_combo_typec_register(qmp); + if (ret) + goto err_node_put; + } else { + enum typec_orientation dp_orientation = TYPEC_ORIENTATION_NONE; + enum typec_orientation usb3_orientation = TYPEC_ORIENTATION_NONE; + + ret = qmp_combo_get_dt_dp_orientation(dev, &dp_orientation); + if (ret) + goto err_node_put; + + ret = qmp_combo_get_dt_usb3_orientation(dev, &usb3_orientation); + if (ret) + goto err_node_put; + + if (dp_orientation == TYPEC_ORIENTATION_NONE && + usb3_orientation != TYPEC_ORIENTATION_NONE) { + qmp->qmpphy_mode = QMPPHY_MODE_USB3_ONLY; + qmp->orientation = usb3_orientation; + } else if (usb3_orientation == TYPEC_ORIENTATION_NONE && + dp_orientation != TYPEC_ORIENTATION_NONE) { + qmp->qmpphy_mode = QMPPHY_MODE_DP_ONLY; + qmp->orientation = dp_orientation; + } else if (dp_orientation != TYPEC_ORIENTATION_NONE && + dp_orientation == usb3_orientation) { + qmp->qmpphy_mode = QMPPHY_MODE_USB3DP; + qmp->orientation = dp_orientation; + } else { + dev_warn(dev, "unable to determine orientation & mode from data-lanes"); + } + } ret = drm_aux_bridge_register(dev); if (ret) @@ -4189,11 +4323,6 @@ static int qmp_combo_probe(struct platform_device *pdev) if (ret) goto err_node_put; - /* - * 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 = QMPPHY_MODE_USB3DP; qmp->usb_phy = devm_phy_create(dev, usb_np, &qmp_combo_usb_phy_ops); if (IS_ERR(qmp->usb_phy)) { -- 2.34.1 -- linux-phy mailing list linux-phy@lists.infradead.org https://lists.infradead.org/mailman/listinfo/linux-phy ^ permalink raw reply related [flat|nested] 17+ messages in thread
* Re: [PATCH v4 2/3] phy: qcom: qmp-combo: get the USB3 & DisplayPort lanes mapping from DT 2025-09-30 7:39 ` [PATCH v4 2/3] phy: qcom: qmp-combo: get the USB3 & DisplayPort lanes mapping from DT Neil Armstrong @ 2025-09-30 18:56 ` Dmitry Baryshkov 2025-10-01 7:06 ` Neil Armstrong 2025-10-06 10:08 ` Konrad Dybcio 1 sibling, 1 reply; 17+ messages in thread From: Dmitry Baryshkov @ 2025-09-30 18:56 UTC (permalink / raw) To: Neil Armstrong Cc: Vinod Koul, Kishon Vijay Abraham I, Rob Herring, Krzysztof Kozlowski, Conor Dooley, Bjorn Andersson, Konrad Dybcio, Xilin Wu, linux-arm-msm, linux-phy, devicetree, linux-kernel On Tue, Sep 30, 2025 at 09:39:48AM +0200, Neil Armstrong wrote: > 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. > > Signed-off-by: Neil Armstrong <neil.armstrong@linaro.org> > --- > drivers/phy/qualcomm/phy-qcom-qmp-combo.c | 145 ++++++++++++++++++++++++++++-- > 1 file changed, 137 insertions(+), 8 deletions(-) > > @@ -4167,9 +4269,41 @@ static int qmp_combo_probe(struct platform_device *pdev) > if (ret) > goto err_node_put; > > - ret = qmp_combo_typec_register(qmp); > - if (ret) > - goto err_node_put; > + qmp->qmpphy_mode = QMPPHY_MODE_USB3DP; > + > + if (of_find_property(dev->of_node, "mode-switch", NULL) || > + of_find_property(dev->of_node, "orientation-switch", NULL)) { > + ret = qmp_combo_typec_register(qmp); > + if (ret) > + goto err_node_put; > + } else { > + enum typec_orientation dp_orientation = TYPEC_ORIENTATION_NONE; > + enum typec_orientation usb3_orientation = TYPEC_ORIENTATION_NONE; > + > + ret = qmp_combo_get_dt_dp_orientation(dev, &dp_orientation); > + if (ret) > + goto err_node_put; > + > + ret = qmp_combo_get_dt_usb3_orientation(dev, &usb3_orientation); > + if (ret) > + goto err_node_put; > + > + if (dp_orientation == TYPEC_ORIENTATION_NONE && > + usb3_orientation != TYPEC_ORIENTATION_NONE) { > + qmp->qmpphy_mode = QMPPHY_MODE_USB3_ONLY; > + qmp->orientation = usb3_orientation; > + } else if (usb3_orientation == TYPEC_ORIENTATION_NONE && > + dp_orientation != TYPEC_ORIENTATION_NONE) { > + qmp->qmpphy_mode = QMPPHY_MODE_DP_ONLY; > + qmp->orientation = dp_orientation; > + } else if (dp_orientation != TYPEC_ORIENTATION_NONE && > + dp_orientation == usb3_orientation) { > + qmp->qmpphy_mode = QMPPHY_MODE_USB3DP; > + qmp->orientation = dp_orientation; > + } else { > + dev_warn(dev, "unable to determine orientation & mode from data-lanes"); > + } > + } > > ret = drm_aux_bridge_register(dev); > if (ret) > @@ -4189,11 +4323,6 @@ static int qmp_combo_probe(struct platform_device *pdev) > if (ret) > goto err_node_put; > > - /* > - * 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 = QMPPHY_MODE_USB3DP; SHouldn't this still be a default in the 'normal' USB-C case? > > qmp->usb_phy = devm_phy_create(dev, usb_np, &qmp_combo_usb_phy_ops); > if (IS_ERR(qmp->usb_phy)) { > > -- > 2.34.1 > -- With best wishes Dmitry -- linux-phy mailing list linux-phy@lists.infradead.org https://lists.infradead.org/mailman/listinfo/linux-phy ^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: [PATCH v4 2/3] phy: qcom: qmp-combo: get the USB3 & DisplayPort lanes mapping from DT 2025-09-30 18:56 ` Dmitry Baryshkov @ 2025-10-01 7:06 ` Neil Armstrong 2025-10-04 6:46 ` Dmitry Baryshkov 0 siblings, 1 reply; 17+ messages in thread From: Neil Armstrong @ 2025-10-01 7:06 UTC (permalink / raw) To: Dmitry Baryshkov Cc: Vinod Koul, Kishon Vijay Abraham I, Rob Herring, Krzysztof Kozlowski, Conor Dooley, Bjorn Andersson, Konrad Dybcio, Xilin Wu, linux-arm-msm, linux-phy, devicetree, linux-kernel On 9/30/25 20:56, Dmitry Baryshkov wrote: > On Tue, Sep 30, 2025 at 09:39:48AM +0200, Neil Armstrong wrote: >> 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. >> >> Signed-off-by: Neil Armstrong <neil.armstrong@linaro.org> >> --- >> drivers/phy/qualcomm/phy-qcom-qmp-combo.c | 145 ++++++++++++++++++++++++++++-- >> 1 file changed, 137 insertions(+), 8 deletions(-) >> >> @@ -4167,9 +4269,41 @@ static int qmp_combo_probe(struct platform_device *pdev) >> if (ret) >> goto err_node_put; >> >> - ret = qmp_combo_typec_register(qmp); >> - if (ret) >> - goto err_node_put; >> + qmp->qmpphy_mode = QMPPHY_MODE_USB3DP; >> + >> + if (of_find_property(dev->of_node, "mode-switch", NULL) || >> + of_find_property(dev->of_node, "orientation-switch", NULL)) { >> + ret = qmp_combo_typec_register(qmp); >> + if (ret) >> + goto err_node_put; >> + } else { >> + enum typec_orientation dp_orientation = TYPEC_ORIENTATION_NONE; >> + enum typec_orientation usb3_orientation = TYPEC_ORIENTATION_NONE; >> + >> + ret = qmp_combo_get_dt_dp_orientation(dev, &dp_orientation); >> + if (ret) >> + goto err_node_put; >> + >> + ret = qmp_combo_get_dt_usb3_orientation(dev, &usb3_orientation); >> + if (ret) >> + goto err_node_put; >> + >> + if (dp_orientation == TYPEC_ORIENTATION_NONE && >> + usb3_orientation != TYPEC_ORIENTATION_NONE) { >> + qmp->qmpphy_mode = QMPPHY_MODE_USB3_ONLY; >> + qmp->orientation = usb3_orientation; >> + } else if (usb3_orientation == TYPEC_ORIENTATION_NONE && >> + dp_orientation != TYPEC_ORIENTATION_NONE) { >> + qmp->qmpphy_mode = QMPPHY_MODE_DP_ONLY; >> + qmp->orientation = dp_orientation; >> + } else if (dp_orientation != TYPEC_ORIENTATION_NONE && >> + dp_orientation == usb3_orientation) { >> + qmp->qmpphy_mode = QMPPHY_MODE_USB3DP; >> + qmp->orientation = dp_orientation; >> + } else { >> + dev_warn(dev, "unable to determine orientation & mode from data-lanes"); >> + } >> + } >> >> ret = drm_aux_bridge_register(dev); >> if (ret) >> @@ -4189,11 +4323,6 @@ static int qmp_combo_probe(struct platform_device *pdev) >> if (ret) >> goto err_node_put; >> >> - /* >> - * 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 = QMPPHY_MODE_USB3DP; > > SHouldn't this still be a default in the 'normal' USB-C case? It is, I just moved it before the added logic, but the comment doesn't really apply anymore Neil > >> >> qmp->usb_phy = devm_phy_create(dev, usb_np, &qmp_combo_usb_phy_ops); >> if (IS_ERR(qmp->usb_phy)) { >> >> -- >> 2.34.1 >> > -- linux-phy mailing list linux-phy@lists.infradead.org https://lists.infradead.org/mailman/listinfo/linux-phy ^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: [PATCH v4 2/3] phy: qcom: qmp-combo: get the USB3 & DisplayPort lanes mapping from DT 2025-10-01 7:06 ` Neil Armstrong @ 2025-10-04 6:46 ` Dmitry Baryshkov 0 siblings, 0 replies; 17+ messages in thread From: Dmitry Baryshkov @ 2025-10-04 6:46 UTC (permalink / raw) To: Neil Armstrong Cc: Vinod Koul, Kishon Vijay Abraham I, Rob Herring, Krzysztof Kozlowski, Conor Dooley, Bjorn Andersson, Konrad Dybcio, Xilin Wu, linux-arm-msm, linux-phy, devicetree, linux-kernel On Wed, Oct 01, 2025 at 09:06:10AM +0200, Neil Armstrong wrote: > On 9/30/25 20:56, Dmitry Baryshkov wrote: > > On Tue, Sep 30, 2025 at 09:39:48AM +0200, Neil Armstrong wrote: > > > 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. > > > > > > Signed-off-by: Neil Armstrong <neil.armstrong@linaro.org> > > > --- > > > drivers/phy/qualcomm/phy-qcom-qmp-combo.c | 145 ++++++++++++++++++++++++++++-- > > > 1 file changed, 137 insertions(+), 8 deletions(-) > > > > > > @@ -4167,9 +4269,41 @@ static int qmp_combo_probe(struct platform_device *pdev) > > > if (ret) > > > goto err_node_put; > > > - ret = qmp_combo_typec_register(qmp); > > > - if (ret) > > > - goto err_node_put; > > > + qmp->qmpphy_mode = QMPPHY_MODE_USB3DP; > > > + > > > + if (of_find_property(dev->of_node, "mode-switch", NULL) || > > > + of_find_property(dev->of_node, "orientation-switch", NULL)) { > > > + ret = qmp_combo_typec_register(qmp); > > > + if (ret) > > > + goto err_node_put; > > > + } else { > > > + enum typec_orientation dp_orientation = TYPEC_ORIENTATION_NONE; > > > + enum typec_orientation usb3_orientation = TYPEC_ORIENTATION_NONE; > > > + > > > + ret = qmp_combo_get_dt_dp_orientation(dev, &dp_orientation); > > > + if (ret) > > > + goto err_node_put; > > > + > > > + ret = qmp_combo_get_dt_usb3_orientation(dev, &usb3_orientation); > > > + if (ret) > > > + goto err_node_put; > > > + > > > + if (dp_orientation == TYPEC_ORIENTATION_NONE && > > > + usb3_orientation != TYPEC_ORIENTATION_NONE) { > > > + qmp->qmpphy_mode = QMPPHY_MODE_USB3_ONLY; > > > + qmp->orientation = usb3_orientation; > > > + } else if (usb3_orientation == TYPEC_ORIENTATION_NONE && > > > + dp_orientation != TYPEC_ORIENTATION_NONE) { > > > + qmp->qmpphy_mode = QMPPHY_MODE_DP_ONLY; > > > + qmp->orientation = dp_orientation; > > > + } else if (dp_orientation != TYPEC_ORIENTATION_NONE && > > > + dp_orientation == usb3_orientation) { > > > + qmp->qmpphy_mode = QMPPHY_MODE_USB3DP; > > > + qmp->orientation = dp_orientation; > > > + } else { > > > + dev_warn(dev, "unable to determine orientation & mode from data-lanes"); > > > + } > > > + } > > > ret = drm_aux_bridge_register(dev); > > > if (ret) > > > @@ -4189,11 +4323,6 @@ static int qmp_combo_probe(struct platform_device *pdev) > > > if (ret) > > > goto err_node_put; > > > - /* > > > - * 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 = QMPPHY_MODE_USB3DP; > > > > SHouldn't this still be a default in the 'normal' USB-C case? > > It is, I just moved it before the added logic, but the comment doesn't really > apply anymore Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com> -- With best wishes Dmitry -- linux-phy mailing list linux-phy@lists.infradead.org https://lists.infradead.org/mailman/listinfo/linux-phy ^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: [PATCH v4 2/3] phy: qcom: qmp-combo: get the USB3 & DisplayPort lanes mapping from DT 2025-09-30 7:39 ` [PATCH v4 2/3] phy: qcom: qmp-combo: get the USB3 & DisplayPort lanes mapping from DT Neil Armstrong 2025-09-30 18:56 ` Dmitry Baryshkov @ 2025-10-06 10:08 ` Konrad Dybcio 2025-10-06 10:35 ` Dmitry Baryshkov 2025-10-06 12:50 ` Neil Armstrong 1 sibling, 2 replies; 17+ messages in thread From: Konrad Dybcio @ 2025-10-06 10:08 UTC (permalink / raw) To: Neil Armstrong, Vinod Koul, Kishon Vijay Abraham I, Rob Herring, Krzysztof Kozlowski, Conor Dooley, Bjorn Andersson, Konrad Dybcio Cc: Xilin Wu, linux-arm-msm, linux-phy, devicetree, linux-kernel On 9/30/25 9:39 AM, Neil Armstrong wrote: > 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. > > Signed-off-by: Neil Armstrong <neil.armstrong@linaro.org> > --- [...] > +struct qmp_combo_lane_mapping { > + unsigned int lanes_count; "num_lanes"? > + enum typec_orientation orientation; > + u32 lanes[4]; > +}; > + > +static const struct qmp_combo_lane_mapping usb3_data_lanes[] = { > + { 2, TYPEC_ORIENTATION_NORMAL, { 1, 0 }}, > + { 2, TYPEC_ORIENTATION_REVERSE, { 2, 3 }}, > +}; > + > +static const struct qmp_combo_lane_mapping dp_data_lanes[] = { > + { 1, TYPEC_ORIENTATION_NORMAL, { 0 }}, > + { 1, TYPEC_ORIENTATION_REVERSE, { 3 }}, This is not corroborated by your bindings change ^ I'm also frankly not sure whether it's pin 2 or 3 that 1-lane-DP would be TXd on > + { 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 }}, Would it be too cheesy to check orientation based like: static bool qmpphy_mapping_orient_flipped(u32 *data_lanes) { return data_lanes[0] == 0; } ? > - ret = qmp_combo_typec_register(qmp); > - if (ret) > - goto err_node_put; > + qmp->qmpphy_mode = QMPPHY_MODE_USB3DP; > + > + if (of_find_property(dev->of_node, "mode-switch", NULL) || > + of_find_property(dev->of_node, "orientation-switch", NULL)) { of_property_present() Konrad -- linux-phy mailing list linux-phy@lists.infradead.org https://lists.infradead.org/mailman/listinfo/linux-phy ^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: [PATCH v4 2/3] phy: qcom: qmp-combo: get the USB3 & DisplayPort lanes mapping from DT 2025-10-06 10:08 ` Konrad Dybcio @ 2025-10-06 10:35 ` Dmitry Baryshkov 2025-10-06 10:54 ` Konrad Dybcio 2025-10-06 12:50 ` Neil Armstrong 1 sibling, 1 reply; 17+ messages in thread From: Dmitry Baryshkov @ 2025-10-06 10:35 UTC (permalink / raw) To: Konrad Dybcio Cc: Neil Armstrong, Vinod Koul, Kishon Vijay Abraham I, Rob Herring, Krzysztof Kozlowski, Conor Dooley, Bjorn Andersson, Konrad Dybcio, Xilin Wu, linux-arm-msm, linux-phy, devicetree, linux-kernel On Mon, Oct 06, 2025 at 12:08:22PM +0200, Konrad Dybcio wrote: > On 9/30/25 9:39 AM, Neil Armstrong wrote: > > 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. > > > > Signed-off-by: Neil Armstrong <neil.armstrong@linaro.org> > > --- > > [...] > > > +struct qmp_combo_lane_mapping { > > + unsigned int lanes_count; > > "num_lanes"? > > > + enum typec_orientation orientation; > > + u32 lanes[4]; > > +}; > > + > > +static const struct qmp_combo_lane_mapping usb3_data_lanes[] = { > > + { 2, TYPEC_ORIENTATION_NORMAL, { 1, 0 }}, > > + { 2, TYPEC_ORIENTATION_REVERSE, { 2, 3 }}, > > +}; > > + > > +static const struct qmp_combo_lane_mapping dp_data_lanes[] = { > > + { 1, TYPEC_ORIENTATION_NORMAL, { 0 }}, > > + { 1, TYPEC_ORIENTATION_REVERSE, { 3 }}, > > This is not corroborated by your bindings change ^ > > I'm also frankly not sure whether it's pin 2 or 3 that 1-lane-DP > would be TXd on If we follow the standard, it should be 3 (RX2, TX2, TX1, RX1) > > > + { 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 }}, > > Would it be too cheesy to check orientation based like: That won't catch weird errors like {0, 2, 1, 3}. > > static bool qmpphy_mapping_orient_flipped(u32 *data_lanes) > { > return data_lanes[0] == 0; > } > > ? > > > - ret = qmp_combo_typec_register(qmp); > > - if (ret) > > - goto err_node_put; > > + qmp->qmpphy_mode = QMPPHY_MODE_USB3DP; > > + > > + if (of_find_property(dev->of_node, "mode-switch", NULL) || > > + of_find_property(dev->of_node, "orientation-switch", NULL)) { > > of_property_present() > > Konrad -- With best wishes Dmitry -- linux-phy mailing list linux-phy@lists.infradead.org https://lists.infradead.org/mailman/listinfo/linux-phy ^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: [PATCH v4 2/3] phy: qcom: qmp-combo: get the USB3 & DisplayPort lanes mapping from DT 2025-10-06 10:35 ` Dmitry Baryshkov @ 2025-10-06 10:54 ` Konrad Dybcio 0 siblings, 0 replies; 17+ messages in thread From: Konrad Dybcio @ 2025-10-06 10:54 UTC (permalink / raw) To: Dmitry Baryshkov Cc: Neil Armstrong, Vinod Koul, Kishon Vijay Abraham I, Rob Herring, Krzysztof Kozlowski, Conor Dooley, Bjorn Andersson, Konrad Dybcio, Xilin Wu, linux-arm-msm, linux-phy, devicetree, linux-kernel On 10/6/25 12:35 PM, Dmitry Baryshkov wrote: > On Mon, Oct 06, 2025 at 12:08:22PM +0200, Konrad Dybcio wrote: >> On 9/30/25 9:39 AM, Neil Armstrong wrote: >>> 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. >>> >>> Signed-off-by: Neil Armstrong <neil.armstrong@linaro.org> >>> --- [...] >> >> [...] >> >>> +struct qmp_combo_lane_mapping { >>> + unsigned int lanes_count; >> >> "num_lanes"? >> >>> + enum typec_orientation orientation; >>> + u32 lanes[4]; >>> +}; >>> + >>> +static const struct qmp_combo_lane_mapping usb3_data_lanes[] = { >>> + { 2, TYPEC_ORIENTATION_NORMAL, { 1, 0 }}, >>> + { 2, TYPEC_ORIENTATION_REVERSE, { 2, 3 }}, >>> +}; >>> + >>> +static const struct qmp_combo_lane_mapping dp_data_lanes[] = { >>> + { 1, TYPEC_ORIENTATION_NORMAL, { 0 }}, >>> + { 1, TYPEC_ORIENTATION_REVERSE, { 3 }}, >> >> This is not corroborated by your bindings change ^ >> >> I'm also frankly not sure whether it's pin 2 or 3 that 1-lane-DP >> would be TXd on > > If we follow the standard, it should be 3 (RX2, TX2, TX1, RX1) OK, then 3 it is > >> >>> + { 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 }}, >> >> Would it be too cheesy to check orientation based like: > > That won't catch weird errors like {0, 2, 1, 3}. Sure, but you can then drop the orientation field from the struct > >> >> static bool qmpphy_mapping_orient_flipped(u32 *data_lanes) >> { >> return data_lanes[0] == 0; >> } and the compiler will hopefully nicely inline this into a compare-and-branch-on-0 Konrad -- linux-phy mailing list linux-phy@lists.infradead.org https://lists.infradead.org/mailman/listinfo/linux-phy ^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: [PATCH v4 2/3] phy: qcom: qmp-combo: get the USB3 & DisplayPort lanes mapping from DT 2025-10-06 10:08 ` Konrad Dybcio 2025-10-06 10:35 ` Dmitry Baryshkov @ 2025-10-06 12:50 ` Neil Armstrong 2025-10-06 14:54 ` Konrad Dybcio 1 sibling, 1 reply; 17+ messages in thread From: Neil Armstrong @ 2025-10-06 12:50 UTC (permalink / raw) To: Konrad Dybcio, Vinod Koul, Kishon Vijay Abraham I, Rob Herring, Krzysztof Kozlowski, Conor Dooley, Bjorn Andersson, Konrad Dybcio Cc: Xilin Wu, linux-arm-msm, linux-phy, devicetree, linux-kernel On 10/6/25 12:08, Konrad Dybcio wrote: > On 9/30/25 9:39 AM, Neil Armstrong wrote: >> 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. >> >> Signed-off-by: Neil Armstrong <neil.armstrong@linaro.org> >> --- > > [...] > >> +struct qmp_combo_lane_mapping { >> + unsigned int lanes_count; > > "num_lanes"? Is this significant ? > >> + enum typec_orientation orientation; >> + u32 lanes[4]; >> +}; >> + >> +static const struct qmp_combo_lane_mapping usb3_data_lanes[] = { >> + { 2, TYPEC_ORIENTATION_NORMAL, { 1, 0 }}, >> + { 2, TYPEC_ORIENTATION_REVERSE, { 2, 3 }}, >> +}; >> + >> +static const struct qmp_combo_lane_mapping dp_data_lanes[] = { >> + { 1, TYPEC_ORIENTATION_NORMAL, { 0 }}, >> + { 1, TYPEC_ORIENTATION_REVERSE, { 3 }}, > > This is not corroborated by your bindings change ^ Damn you're right, I'll fix it... > > I'm also frankly not sure whether it's pin 2 or 3 that 1-lane-DP > would be TXd on > >> + { 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 }}, > > Would it be too cheesy to check orientation based like: > > static bool qmpphy_mapping_orient_flipped(u32 *data_lanes) > { > return data_lanes[0] == 0; > } > > ? Do we want a proper check of the property content or some random check ? Sorry I prefer something formal, since perhaps sometime we will have a full lanes remapping available instead of just orientation and if we have some random input it will explose... > >> - ret = qmp_combo_typec_register(qmp); >> - if (ret) >> - goto err_node_put; >> + qmp->qmpphy_mode = QMPPHY_MODE_USB3DP; >> + >> + if (of_find_property(dev->of_node, "mode-switch", NULL) || >> + of_find_property(dev->of_node, "orientation-switch", NULL)) { > > of_property_present() I'll replace with that. Thanks, Neil > > Konrad -- linux-phy mailing list linux-phy@lists.infradead.org https://lists.infradead.org/mailman/listinfo/linux-phy ^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: [PATCH v4 2/3] phy: qcom: qmp-combo: get the USB3 & DisplayPort lanes mapping from DT 2025-10-06 12:50 ` Neil Armstrong @ 2025-10-06 14:54 ` Konrad Dybcio 0 siblings, 0 replies; 17+ messages in thread From: Konrad Dybcio @ 2025-10-06 14:54 UTC (permalink / raw) To: Neil Armstrong, Vinod Koul, Kishon Vijay Abraham I, Rob Herring, Krzysztof Kozlowski, Conor Dooley, Bjorn Andersson, Konrad Dybcio Cc: Xilin Wu, linux-arm-msm, linux-phy, devicetree, linux-kernel On 10/6/25 2:50 PM, Neil Armstrong wrote: > On 10/6/25 12:08, Konrad Dybcio wrote: >> On 9/30/25 9:39 AM, Neil Armstrong wrote: >>> 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. >>> >>> Signed-off-by: Neil Armstrong <neil.armstrong@linaro.org> >>> --- [...] >>> + { 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 }}, >> >> Would it be too cheesy to check orientation based like: >> >> static bool qmpphy_mapping_orient_flipped(u32 *data_lanes) >> { >> return data_lanes[0] == 0; >> } >> >> ? > > Do we want a proper check of the property content or some random check ? > Sorry I prefer something formal, since perhaps sometime we will have > a full lanes remapping available instead of just orientation and if > we have some random input it will explose... Well you already list all accepted properties. This would only (slightly) limit the amount of storage the data that you *then associate with it* occupies, but I'm not going to die on this hill, do as you prefer.. Konrad -- linux-phy mailing list linux-phy@lists.infradead.org https://lists.infradead.org/mailman/listinfo/linux-phy ^ permalink raw reply [flat|nested] 17+ messages in thread
* [PATCH v4 3/3] arm64: dts: qcom: x1e78100-lenovo-thinkpad-t14s: add HDMI nodes 2025-09-30 7:39 [PATCH v4 0/3] arm64: qcom: x1e78100-lenovo-thinkpad-t14s: add support for HDMI output Neil Armstrong 2025-09-30 7:39 ` [PATCH v4 1/3] dt-bindings: phy: qcom,sc8280xp-qmp-usb43dp-phy: Document lanes mapping when not using in USB-C complex Neil Armstrong 2025-09-30 7:39 ` [PATCH v4 2/3] phy: qcom: qmp-combo: get the USB3 & DisplayPort lanes mapping from DT Neil Armstrong @ 2025-09-30 7:39 ` Neil Armstrong 2025-09-30 19:18 ` Dmitry Baryshkov 2025-10-06 10:25 ` Konrad Dybcio 2025-09-30 14:39 ` [PATCH v4 0/3] arm64: qcom: x1e78100-lenovo-thinkpad-t14s: add support for HDMI output Rob Herring (Arm) 3 siblings, 2 replies; 17+ messages in thread From: Neil Armstrong @ 2025-09-30 7:39 UTC (permalink / raw) To: Vinod Koul, Kishon Vijay Abraham I, Rob Herring, Krzysztof Kozlowski, Conor Dooley, Bjorn Andersson, Konrad Dybcio Cc: Xilin Wu, linux-arm-msm, linux-phy, devicetree, linux-kernel, Neil Armstrong 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. Signed-off-by: Neil Armstrong <neil.armstrong@linaro.org> --- .../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..37168b6214b21ec51918b44cc400581ba8ca4cbe 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 { }; }; + hdmi-bridge { + compatible = "realtek,rtd2171"; + + pinctrl-0 = <&hdmi_hpd_default>; + pinctrl-names = "default"; + + ports { + #address-cells = <1>; + #size-cells = <0>; + + port@0 { + reg = <0>; + + hdmi_bridge_dp_in: endpoint { + remote-endpoint = <&usb_1_ss2_qmpphy_out_dp>; + }; + }; + + port@1 { + reg = <1>; + + hdmi_bridge_tmds_out: endpoint { + remote-endpoint = <&hdmi_con>; + }; + }; + }; + }; + + hdmi-connector { + compatible = "hdmi-connector"; + type = "a"; + + port { + hdmi_con: endpoint { + remote-endpoint = <&hdmi_bridge_tmds_out>; + }; + }; + }; + pmic-glink { compatible = "qcom,x1e80100-pmic-glink", "qcom,sm8550-pmic-glink", @@ -1028,6 +1067,14 @@ &mdss_dp1_out { link-frequencies = /bits/ 64 <1620000000 2700000000 5400000000 8100000000>; }; +&mdss_dp2 { + status = "okay"; +}; + +&mdss_dp2_out { + link-frequencies = /bits/ 64 <1620000000 2700000000 5400000000 8100000000>; +}; + &mdss_dp3 { /delete-property/ #sound-dai-cells; @@ -1317,6 +1364,12 @@ eusb6_reset_n: eusb6-reset-n-state { output-low; }; + hdmi_hpd_default: hdmi-hpd-default-state { + pins = "gpio126"; + function = "usb2_dp"; + bias-disable; + }; + tpad_default: tpad-default-state { pins = "gpio3"; function = "gpio"; @@ -1516,6 +1569,34 @@ &usb_1_ss0_qmpphy_out { remote-endpoint = <&retimer_ss0_ss_in>; }; +&usb_1_ss2_qmpphy { + vdda-phy-supply = <&vreg_l2j_1p2>; + vdda-pll-supply = <&vreg_l2d_0p9>; + + /delete-property/ mode-switch; + /delete-property/ orientation-switch; + + status = "okay"; + + ports { + port@0 { + #address-cells = <1>; + #size-cells = <0>; + + /delete-node/ endpoint; + + usb_1_ss2_qmpphy_out_dp: endpoint@0 { + reg = <0>; + + data-lanes = <3 2 1 0>; + remote-endpoint = <&hdmi_bridge_dp_in>; + }; + + /* No USB3 lanes connected */ + }; + }; +}; + &usb_1_ss1_hsphy { vdd-supply = <&vreg_l3j_0p8>; vdda12-supply = <&vreg_l2j_1p2>; -- 2.34.1 -- linux-phy mailing list linux-phy@lists.infradead.org https://lists.infradead.org/mailman/listinfo/linux-phy ^ permalink raw reply related [flat|nested] 17+ messages in thread
* Re: [PATCH v4 3/3] arm64: dts: qcom: x1e78100-lenovo-thinkpad-t14s: add HDMI nodes 2025-09-30 7:39 ` [PATCH v4 3/3] arm64: dts: qcom: x1e78100-lenovo-thinkpad-t14s: add HDMI nodes Neil Armstrong @ 2025-09-30 19:18 ` Dmitry Baryshkov 2025-10-06 10:25 ` Konrad Dybcio 1 sibling, 0 replies; 17+ messages in thread From: Dmitry Baryshkov @ 2025-09-30 19:18 UTC (permalink / raw) To: Neil Armstrong Cc: Vinod Koul, Kishon Vijay Abraham I, Rob Herring, Krzysztof Kozlowski, Conor Dooley, Bjorn Andersson, Konrad Dybcio, Xilin Wu, linux-arm-msm, linux-phy, devicetree, linux-kernel On Tue, Sep 30, 2025 at 09:39:49AM +0200, Neil Armstrong wrote: > 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. > > Signed-off-by: Neil Armstrong <neil.armstrong@linaro.org> > --- > .../dts/qcom/x1e78100-lenovo-thinkpad-t14s.dtsi | 81 ++++++++++++++++++++++ > 1 file changed, 81 insertions(+) > Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com> -- With best wishes Dmitry -- linux-phy mailing list linux-phy@lists.infradead.org https://lists.infradead.org/mailman/listinfo/linux-phy ^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: [PATCH v4 3/3] arm64: dts: qcom: x1e78100-lenovo-thinkpad-t14s: add HDMI nodes 2025-09-30 7:39 ` [PATCH v4 3/3] arm64: dts: qcom: x1e78100-lenovo-thinkpad-t14s: add HDMI nodes Neil Armstrong 2025-09-30 19:18 ` Dmitry Baryshkov @ 2025-10-06 10:25 ` Konrad Dybcio 1 sibling, 0 replies; 17+ messages in thread From: Konrad Dybcio @ 2025-10-06 10:25 UTC (permalink / raw) To: Neil Armstrong, Vinod Koul, Kishon Vijay Abraham I, Rob Herring, Krzysztof Kozlowski, Conor Dooley, Bjorn Andersson, Konrad Dybcio Cc: Xilin Wu, linux-arm-msm, linux-phy, devicetree, linux-kernel On 9/30/25 9:39 AM, Neil Armstrong wrote: > 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. > > Signed-off-by: Neil Armstrong <neil.armstrong@linaro.org> > --- [...] > +&usb_1_ss2_qmpphy { > + vdda-phy-supply = <&vreg_l2j_1p2>; > + vdda-pll-supply = <&vreg_l2d_0p9>; > + > + /delete-property/ mode-switch; > + /delete-property/ orientation-switch; > + > + status = "okay"; > + > + ports { > + port@0 { > + #address-cells = <1>; > + #size-cells = <0>; > + > + /delete-node/ endpoint; > + > + usb_1_ss2_qmpphy_out_dp: endpoint@0 { > + reg = <0>; > + > + data-lanes = <3 2 1 0>; > + remote-endpoint = <&hdmi_bridge_dp_in>; > + }; > + > + /* No USB3 lanes connected */ > + }; > + }; > +}; > + > &usb_1_ss1_hsphy { You have to move your _ss*2*_ node below the _ss*1*_ nodes otherwise: Reviewed-by: Konrad Dybcio <konrad.dybcio@oss.qualcomm.com> Konrad -- linux-phy mailing list linux-phy@lists.infradead.org https://lists.infradead.org/mailman/listinfo/linux-phy ^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: [PATCH v4 0/3] arm64: qcom: x1e78100-lenovo-thinkpad-t14s: add support for HDMI output 2025-09-30 7:39 [PATCH v4 0/3] arm64: qcom: x1e78100-lenovo-thinkpad-t14s: add support for HDMI output Neil Armstrong ` (2 preceding siblings ...) 2025-09-30 7:39 ` [PATCH v4 3/3] arm64: dts: qcom: x1e78100-lenovo-thinkpad-t14s: add HDMI nodes Neil Armstrong @ 2025-09-30 14:39 ` Rob Herring (Arm) 3 siblings, 0 replies; 17+ messages in thread From: Rob Herring (Arm) @ 2025-09-30 14:39 UTC (permalink / raw) To: Neil Armstrong Cc: devicetree, Xilin Wu, Bjorn Andersson, Kishon Vijay Abraham I, Vinod Koul, Krzysztof Kozlowski, Konrad Dybcio, linux-kernel, linux-arm-msm, Conor Dooley, linux-phy On Tue, 30 Sep 2025 09:39:46 +0200, Neil Armstrong wrote: > The Thinkpad T14s embeds a transparent 4lanes DP->HDMI transceiver > connected to the third QMP Combo PHY 4 lanes. > > 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: > - 1/2 DP + 2 USB3 > - 1/2/4 DP > - 2 USB3 > > We need be able to specify the lanes mapping to DisplayPort > and/or USB3 peripherals when not connected to a Type-C complex. > > Add the documentation for data-lanes in the out endpoints amd > use those in the driver to setup the right PHY mode and > orientation. > > Finally Add all the data routing in DT, 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. > > Depends on: > - [1] https://lore.kernel.org/all/20250902-topic-sm8x50-fix-qmp-usb43dp-usb-switch-v1-1-5b4a51c8c5a8@linaro.org/ > > Signed-off-by: Neil Armstrong <neil.armstrong@linaro.org> > --- > Changes in v4: > - Add definition for single lane DP > - Fix lanes mapping for DP in bindings and driver > - Add documentation on how to interpret the data-lanes numbers > - Rewrite driver support for be simpler and split into helpers > - Rebase DT on next and drop phy.h include, and use proper mapping > - Link to v3: https://lore.kernel.org/r/20250908-topic-x1e80100-hdmi-v3-0-c53b0f2bc2fb@linaro.org > > Changes in v3: > - Move the static lanes mapping in data-lanes in the out endpoints > - new bindings > - new drivewr implementation > - new DT layout > - rebased on next, fixed simple bridge rebase > - added link frequencies for dp2 > - Link to v2: https://lore.kernel.org/r/20250902-topic-x1e80100-hdmi-v2-0-f4ccf0ef79ab@linaro.org > > Changes in v2: > - Model the HDMI transceiver as a simple bridge > - Switch to a static lanes mapping property > - Link to v1: https://lore.kernel.org/r/20250821-topic-x1e80100-hdmi-v1-0-f14ad9430e88@linaro.org > > --- > Neil Armstrong (3): > dt-bindings: phy: qcom,sc8280xp-qmp-usb43dp-phy: Document lanes mapping when not using in USB-C complex > phy: qcom: qmp-combo: get the USB3 & DisplayPort lanes mapping from DT > arm64: dts: qcom: x1e78100-lenovo-thinkpad-t14s: add HDMI nodes > > .../phy/qcom,sc8280xp-qmp-usb43dp-phy.yaml | 67 +++++++++- > .../dts/qcom/x1e78100-lenovo-thinkpad-t14s.dtsi | 81 ++++++++++++ > drivers/phy/qualcomm/phy-qcom-qmp-combo.c | 145 +++++++++++++++++++-- > 3 files changed, 284 insertions(+), 9 deletions(-) > --- > base-commit: 4513b3b1a91546d0dd02c5c0eb507933b328021c > change-id: 20250821-topic-x1e80100-hdmi-3bd5b5bd2d96 > > Best regards, > -- > Neil Armstrong <neil.armstrong@linaro.org> > > > My bot found new DTB warnings on the .dts files added or changed in this series. Some warnings may be from an existing SoC .dtsi. Or perhaps the warnings are fixed by another series. Ultimately, it is up to the platform maintainer whether these warnings are acceptable or not. No need to reply unless the platform maintainer has comments. If you already ran DT checks and didn't see these error(s), then make sure dt-schema is up to date: pip3 install dtschema --upgrade This patch series was applied (using b4) to base: Base: base-commit 4513b3b1a91546d0dd02c5c0eb507933b328021c not known, ignoring Base: attempting to guess base-commit... Base: tags/next-20250929 (best guess, 2/3 blobs matched) If this is not the correct base, please add 'base-commit' tag (or use b4 which does this automatically) New warnings running 'make CHECK_DTBS=y for arch/arm64/boot/dts/qcom/' for 20250930-topic-x1e80100-hdmi-v4-0-86a14e8a34ac@linaro.org: arch/arm64/boot/dts/qcom/x1e80100-asus-zenbook-a14.dtb: /soc@0/phy@fd5000: failed to match any schema with compatible: ['qcom,x1e80100-qmp-usb3-dp-phy'] arch/arm64/boot/dts/qcom/x1e80100-asus-zenbook-a14.dtb: /soc@0/phy@fda000: failed to match any schema with compatible: ['qcom,x1e80100-qmp-usb3-dp-phy'] arch/arm64/boot/dts/qcom/x1e80100-asus-zenbook-a14.dtb: /soc@0/phy@fdf000: failed to match any schema with compatible: ['qcom,x1e80100-qmp-usb3-dp-phy'] arch/arm64/boot/dts/qcom/sc8280xp-lenovo-thinkpad-x13s.dtb: /soc@0/phy@88eb000: failed to match any schema with compatible: ['qcom,sc8280xp-qmp-usb43dp-phy'] arch/arm64/boot/dts/qcom/sm7125-xiaomi-curtana.dtb: /soc@0/phy@88e8000: failed to match any schema with compatible: ['qcom,sc7180-qmp-usb3-dp-phy'] arch/arm64/boot/dts/qcom/sc8280xp-lenovo-thinkpad-x13s.dtb: /soc@0/phy@8903000: failed to match any schema with compatible: ['qcom,sc8280xp-qmp-usb43dp-phy'] arch/arm64/boot/dts/qcom/sm7325-nothing-spacewar.dtb: /soc@0/phy@88e8000: failed to match any schema with compatible: ['qcom,sc7280-qmp-usb3-dp-phy'] arch/arm64/boot/dts/qcom/x1e80100-dell-xps13-9345.dtb: /soc@0/phy@fd5000: failed to match any schema with compatible: ['qcom,x1e80100-qmp-usb3-dp-phy'] arch/arm64/boot/dts/qcom/x1e80100-dell-xps13-9345.dtb: /soc@0/phy@fda000: failed to match any schema with compatible: ['qcom,x1e80100-qmp-usb3-dp-phy'] arch/arm64/boot/dts/qcom/x1e80100-dell-xps13-9345.dtb: /soc@0/phy@fdf000: failed to match any schema with compatible: ['qcom,x1e80100-qmp-usb3-dp-phy'] arch/arm64/boot/dts/qcom/sc7180-trogdor-lazor-r3-lte.dtb: /soc@0/phy@88e8000: failed to match any schema with compatible: ['qcom,sc7180-qmp-usb3-dp-phy'] arch/arm64/boot/dts/qcom/qcs6490-rb3gen2.dtb: /soc@0/phy@88e8000: failed to match any schema with compatible: ['qcom,sc7280-qmp-usb3-dp-phy'] arch/arm64/boot/dts/qcom/sc7180-trogdor-lazor-limozeen-r4.dtb: /soc@0/phy@88e8000: failed to match any schema with compatible: ['qcom,sc7180-qmp-usb3-dp-phy'] arch/arm64/boot/dts/qcom/x1e78100-lenovo-thinkpad-t14s-oled.dtb: /soc@0/phy@fd5000: failed to match any schema with compatible: ['qcom,x1e80100-qmp-usb3-dp-phy'] arch/arm64/boot/dts/qcom/x1e78100-lenovo-thinkpad-t14s-oled.dtb: /soc@0/phy@fda000: failed to match any schema with compatible: ['qcom,x1e80100-qmp-usb3-dp-phy'] arch/arm64/boot/dts/qcom/x1e78100-lenovo-thinkpad-t14s-oled.dtb: /soc@0/phy@fdf000: failed to match any schema with compatible: ['qcom,x1e80100-qmp-usb3-dp-phy'] arch/arm64/boot/dts/qcom/sc7280-herobrine-crd-pro.dtb: /soc@0/phy@88e8000: failed to match any schema with compatible: ['qcom,sc7280-qmp-usb3-dp-phy'] arch/arm64/boot/dts/qcom/sc7180-trogdor-quackingstick-r0.dtb: /soc@0/phy@88e8000: failed to match any schema with compatible: ['qcom,sc7180-qmp-usb3-dp-phy'] arch/arm64/boot/dts/qcom/sc7180-trogdor-pazquel360-wifi.dtb: /soc@0/phy@88e8000: failed to match any schema with compatible: ['qcom,sc7180-qmp-usb3-dp-phy'] arch/arm64/boot/dts/qcom/x1e80100-dell-latitude-7455.dtb: /soc@0/phy@fd5000: failed to match any schema with compatible: ['qcom,x1e80100-qmp-usb3-dp-phy'] arch/arm64/boot/dts/qcom/x1e80100-dell-latitude-7455.dtb: /soc@0/phy@fda000: failed to match any schema with compatible: ['qcom,x1e80100-qmp-usb3-dp-phy'] arch/arm64/boot/dts/qcom/x1e80100-dell-latitude-7455.dtb: /soc@0/phy@fdf000: failed to match any schema with compatible: ['qcom,x1e80100-qmp-usb3-dp-phy'] arch/arm64/boot/dts/qcom/sc7180-trogdor-coachz-r1-lte.dtb: /soc@0/phy@88e8000: failed to match any schema with compatible: ['qcom,sc7180-qmp-usb3-dp-phy'] arch/arm64/boot/dts/qcom/sdm845-lg-judyp.dtb: /soc@0/phy@88e8000: failed to match any schema with compatible: ['qcom,sdm845-qmp-usb3-dp-phy'] arch/arm64/boot/dts/qcom/sc7280-herobrine-zombie.dtb: /soc@0/phy@88e8000: failed to match any schema with compatible: ['qcom,sc7280-qmp-usb3-dp-phy'] arch/arm64/boot/dts/qcom/qrb5165-rb5.dtb: /soc@0/phy@88e8000: failed to match any schema with compatible: ['qcom,sm8250-qmp-usb3-dp-phy'] arch/arm64/boot/dts/qcom/x1e80100-lenovo-yoga-slim7x.dtb: /soc@0/phy@fd5000: failed to match any schema with compatible: ['qcom,x1e80100-qmp-usb3-dp-phy'] arch/arm64/boot/dts/qcom/x1e80100-lenovo-yoga-slim7x.dtb: /soc@0/phy@fda000: failed to match any schema with compatible: ['qcom,x1e80100-qmp-usb3-dp-phy'] arch/arm64/boot/dts/qcom/x1e80100-lenovo-yoga-slim7x.dtb: /soc@0/phy@fdf000: failed to match any schema with compatible: ['qcom,x1e80100-qmp-usb3-dp-phy'] arch/arm64/boot/dts/qcom/sm8550-sony-xperia-yodo-pdx234.dtb: /soc@0/phy@88e8000: failed to match any schema with compatible: ['qcom,sm8550-qmp-usb3-dp-phy'] arch/arm64/boot/dts/qcom/sc8280xp-microsoft-arcata.dtb: /soc@0/phy@88eb000: failed to match any schema with compatible: ['qcom,sc8280xp-qmp-usb43dp-phy'] arch/arm64/boot/dts/qcom/sc8280xp-microsoft-arcata.dtb: /soc@0/phy@8903000: failed to match any schema with compatible: ['qcom,sc8280xp-qmp-usb43dp-phy'] arch/arm64/boot/dts/qcom/sm8550-qrd.dtb: /soc@0/phy@88e8000: failed to match any schema with compatible: ['qcom,sm8550-qmp-usb3-dp-phy'] arch/arm64/boot/dts/qcom/sdm845-oneplus-fajita.dtb: /soc@0/phy@88e8000: failed to match any schema with compatible: ['qcom,sdm845-qmp-usb3-dp-phy'] arch/arm64/boot/dts/qcom/sc7180-trogdor-lazor-limozeen-nots-r4.dtb: /soc@0/phy@88e8000: failed to match any schema with compatible: ['qcom,sc7180-qmp-usb3-dp-phy'] arch/arm64/boot/dts/qcom/sc7180-trogdor-wormdingler-rev1-inx.dtb: /soc@0/phy@88e8000: failed to match any schema with compatible: ['qcom,sc7180-qmp-usb3-dp-phy'] arch/arm64/boot/dts/qcom/sc7180-trogdor-lazor-r10.dtb: /soc@0/phy@88e8000: failed to match any schema with compatible: ['qcom,sc7180-qmp-usb3-dp-phy'] arch/arm64/boot/dts/qcom/sc7180-trogdor-coachz-r1.dtb: /soc@0/phy@88e8000: failed to match any schema with compatible: ['qcom,sc7180-qmp-usb3-dp-phy'] arch/arm64/boot/dts/qcom/sm8350-microsoft-surface-duo2.dtb: /soc@0/phy@88e8000: failed to match any schema with compatible: ['qcom,sm8350-qmp-usb3-dp-phy'] arch/arm64/boot/dts/qcom/qcm6490-idp.dtb: /soc@0/phy@88e8000: failed to match any schema with compatible: ['qcom,sc7280-qmp-usb3-dp-phy'] arch/arm64/boot/dts/qcom/sm8550-mtp.dtb: /soc@0/phy@88e8000: failed to match any schema with compatible: ['qcom,sm8550-qmp-usb3-dp-phy'] arch/arm64/boot/dts/qcom/sm8250-samsung-x1q.dtb: /soc@0/phy@88e8000: failed to match any schema with compatible: ['qcom,sm8250-qmp-usb3-dp-phy'] arch/arm64/boot/dts/qcom/sdm845-sony-xperia-tama-akari.dtb: /soc@0/phy@88e8000: failed to match any schema with compatible: ['qcom,sdm845-qmp-usb3-dp-phy'] arch/arm64/boot/dts/qcom/x1p42100-crd.dtb: /soc@0/phy@fd5000: failed to match any schema with compatible: ['qcom,x1e80100-qmp-usb3-dp-phy'] arch/arm64/boot/dts/qcom/x1p42100-crd.dtb: /soc@0/phy@fda000: failed to match any schema with compatible: ['qcom,x1e80100-qmp-usb3-dp-phy'] arch/arm64/boot/dts/qcom/x1p42100-crd.dtb: /soc@0/phy@fdf000: failed to match any schema with compatible: ['qcom,x1e80100-qmp-usb3-dp-phy'] arch/arm64/boot/dts/qcom/sc7180-trogdor-lazor-limozeen-nots-r9.dtb: /soc@0/phy@88e8000: failed to match any schema with compatible: ['qcom,sc7180-qmp-usb3-dp-phy'] arch/arm64/boot/dts/qcom/sm8250-mtp.dtb: /soc@0/phy@88e8000: failed to match any schema with compatible: ['qcom,sm8250-qmp-usb3-dp-phy'] arch/arm64/boot/dts/qcom/sm8250-xiaomi-elish-csot.dtb: /soc@0/phy@88e8000: failed to match any schema with compatible: ['qcom,sm8250-qmp-usb3-dp-phy'] arch/arm64/boot/dts/qcom/qcs8550-aim300-aiot.dtb: /soc@0/phy@88e8000: failed to match any schema with compatible: ['qcom,sm8550-qmp-usb3-dp-phy'] arch/arm64/boot/dts/qcom/qcm6490-particle-tachyon.dtb: /soc@0/phy@88e8000: failed to match any schema with compatible: ['qcom,sc7280-qmp-usb3-dp-phy'] arch/arm64/boot/dts/qcom/sm8250-xiaomi-elish-boe.dtb: /soc@0/phy@88e8000: failed to match any schema with compatible: ['qcom,sm8250-qmp-usb3-dp-phy'] arch/arm64/boot/dts/qcom/x1e001de-devkit.dtb: /soc@0/phy@fd5000: failed to match any schema with compatible: ['qcom,x1e80100-qmp-usb3-dp-phy'] arch/arm64/boot/dts/qcom/x1e001de-devkit.dtb: /soc@0/phy@fda000: failed to match any schema with compatible: ['qcom,x1e80100-qmp-usb3-dp-phy'] arch/arm64/boot/dts/qcom/x1e001de-devkit.dtb: /soc@0/phy@fdf000: failed to match any schema with compatible: ['qcom,x1e80100-qmp-usb3-dp-phy'] arch/arm64/boot/dts/qcom/sm8150-sony-xperia-kumano-griffin.dtb: /soc@0/phy@88e8000: failed to match any schema with compatible: ['qcom,sm8150-qmp-usb3-dp-phy'] arch/arm64/boot/dts/qcom/sc7280-herobrine-crd.dtb: /soc@0/phy@88e8000: failed to match any schema with compatible: ['qcom,sc7280-qmp-usb3-dp-phy'] arch/arm64/boot/dts/qcom/sc8180x-lenovo-flex-5g.dtb: /soc@0/phy@88e8000: failed to match any schema with compatible: ['qcom,sc8180x-qmp-usb3-dp-phy'] arch/arm64/boot/dts/qcom/sc8180x-lenovo-flex-5g.dtb: /soc@0/phy@88ee000: failed to match any schema with compatible: ['qcom,sc8180x-qmp-usb3-dp-phy'] arch/arm64/boot/dts/qcom/sdm845-lg-judyln.dtb: /soc@0/phy@88e8000: failed to match any schema with compatible: ['qcom,sdm845-qmp-usb3-dp-phy'] arch/arm64/boot/dts/qcom/sm8250-xiaomi-pipa.dtb: /soc@0/phy@88e8000: failed to match any schema with compatible: ['qcom,sm8250-qmp-usb3-dp-phy'] arch/arm64/boot/dts/qcom/sdm845-oneplus-enchilada.dtb: /soc@0/phy@88e8000: failed to match any schema with compatible: ['qcom,sdm845-qmp-usb3-dp-phy'] arch/arm64/boot/dts/qcom/sc7180-trogdor-lazor-r3-kb.dtb: /soc@0/phy@88e8000: failed to match any schema with compatible: ['qcom,sc7180-qmp-usb3-dp-phy'] arch/arm64/boot/dts/qcom/sc7280-idp.dtb: /soc@0/phy@88e8000: failed to match any schema with compatible: ['qcom,sc7280-qmp-usb3-dp-phy'] arch/arm64/boot/dts/qcom/sc7280-herobrine-evoker-lte.dtb: /soc@0/phy@88e8000: failed to match any schema with compatible: ['qcom,sc7280-qmp-usb3-dp-phy'] arch/arm64/boot/dts/qcom/sc7180-trogdor-homestar-r4.dtb: /soc@0/phy@88e8000: failed to match any schema with compatible: ['qcom,sc7180-qmp-usb3-dp-phy'] arch/arm64/boot/dts/qcom/sm8250-samsung-r8q.dtb: /soc@0/phy@88e8000: failed to match any schema with compatible: ['qcom,sm8250-qmp-usb3-dp-phy'] arch/arm64/boot/dts/qcom/sc7280-idp2.dtb: /soc@0/phy@88e8000: failed to match any schema with compatible: ['qcom,sc7280-qmp-usb3-dp-phy'] arch/arm64/boot/dts/qcom/sm8150-mtp.dtb: /soc@0/phy@88e8000: failed to match any schema with compatible: ['qcom,sm8150-qmp-usb3-dp-phy'] arch/arm64/boot/dts/qcom/sdm845-sony-xperia-tama-apollo.dtb: /soc@0/phy@88e8000: failed to match any schema with compatible: ['qcom,sdm845-qmp-usb3-dp-phy'] arch/arm64/boot/dts/qcom/sc7180-acer-aspire1.dtb: /soc@0/phy@88e8000: failed to match any schema with compatible: ['qcom,sc7180-qmp-usb3-dp-phy'] arch/arm64/boot/dts/qcom/sc7180-trogdor-r1.dtb: /soc@0/phy@88e8000: failed to match any schema with compatible: ['qcom,sc7180-qmp-usb3-dp-phy'] arch/arm64/boot/dts/qcom/x1p42100-hp-omnibook-x14.dtb: /soc@0/phy@fd5000: failed to match any schema with compatible: ['qcom,x1e80100-qmp-usb3-dp-phy'] arch/arm64/boot/dts/qcom/x1p42100-hp-omnibook-x14.dtb: /soc@0/phy@fda000: failed to match any schema with compatible: ['qcom,x1e80100-qmp-usb3-dp-phy'] arch/arm64/boot/dts/qcom/x1p42100-hp-omnibook-x14.dtb: /soc@0/phy@fdf000: failed to match any schema with compatible: ['qcom,x1e80100-qmp-usb3-dp-phy'] arch/arm64/boot/dts/qcom/sc7280-herobrine-evoker.dtb: /soc@0/phy@88e8000: failed to match any schema with compatible: ['qcom,sc7280-qmp-usb3-dp-phy'] arch/arm64/boot/dts/qcom/sc7180-trogdor-kingoftown.dtb: /soc@0/phy@88e8000: failed to match any schema with compatible: ['qcom,sc7180-qmp-usb3-dp-phy'] arch/arm64/boot/dts/qcom/sc7180-trogdor-pompom-r2-lte.dtb: /soc@0/phy@88e8000: failed to match any schema with compatible: ['qcom,sc7180-qmp-usb3-dp-phy'] arch/arm64/boot/dts/qcom/sm8350-sony-xperia-sagami-pdx215.dtb: /soc@0/phy@88e8000: failed to match any schema with compatible: ['qcom,sm8350-qmp-usb3-dp-phy'] arch/arm64/boot/dts/qcom/x1e80100-hp-omnibook-x14.dtb: /soc@0/phy@fd5000: failed to match any schema with compatible: ['qcom,x1e80100-qmp-usb3-dp-phy'] arch/arm64/boot/dts/qcom/x1e80100-hp-omnibook-x14.dtb: /soc@0/phy@fda000: failed to match any schema with compatible: ['qcom,x1e80100-qmp-usb3-dp-phy'] arch/arm64/boot/dts/qcom/x1e80100-hp-omnibook-x14.dtb: /soc@0/phy@fdf000: failed to match any schema with compatible: ['qcom,x1e80100-qmp-usb3-dp-phy'] arch/arm64/boot/dts/qcom/sdm845-mtp.dtb: /soc@0/phy@88e8000: failed to match any schema with compatible: ['qcom,sdm845-qmp-usb3-dp-phy'] arch/arm64/boot/dts/qcom/sc7180-trogdor-pazquel360-lte.dtb: /soc@0/phy@88e8000: failed to match any schema with compatible: ['qcom,sc7180-qmp-usb3-dp-phy'] arch/arm64/boot/dts/qcom/sdm845-shift-axolotl.dtb: /soc@0/phy@88e8000: failed to match any schema with compatible: ['qcom,sdm845-qmp-usb3-dp-phy'] arch/arm64/boot/dts/qcom/sc7280-herobrine-zombie-lte.dtb: /soc@0/phy@88e8000: failed to match any schema with compatible: ['qcom,sc7280-qmp-usb3-dp-phy'] arch/arm64/boot/dts/qcom/sar2130p-qar2130p.dtb: /soc@0/phy@88e8000: failed to match any schema with compatible: ['qcom,sar2130p-qmp-usb3-dp-phy'] arch/arm64/boot/dts/qcom/sc7180-trogdor-lazor-r3.dtb: /soc@0/phy@88e8000: failed to match any schema with compatible: ['qcom,sc7180-qmp-usb3-dp-phy'] arch/arm64/boot/dts/qcom/sm8650-hdk.dtb: /soc@0/phy@88e8000: failed to match any schema with compatible: ['qcom,sm8650-qmp-usb3-dp-phy'] arch/arm64/boot/dts/qcom/sc7180-trogdor-lazor-limozeen-r9.dtb: /soc@0/phy@88e8000: failed to match any schema with compatible: ['qcom,sc7180-qmp-usb3-dp-phy'] arch/arm64/boot/dts/qcom/sm8450-hdk.dtb: /soc@0/phy@88e8000: failed to match any schema with compatible: ['qcom,sm8450-qmp-usb3-dp-phy'] arch/arm64/boot/dts/qcom/sc7280-herobrine-herobrine-r1.dtb: /soc@0/phy@88e8000: failed to match any schema with compatible: ['qcom,sc7280-qmp-usb3-dp-phy'] arch/arm64/boot/dts/qcom/sm8350-hdk.dtb: /soc@0/phy@88e8000: failed to match any schema with compatible: ['qcom,sm8350-qmp-usb3-dp-phy'] arch/arm64/boot/dts/qcom/sm8450-qrd.dtb: /soc@0/phy@88e8000: failed to match any schema with compatible: ['qcom,sm8450-qmp-usb3-dp-phy'] arch/arm64/boot/dts/qcom/sm8250-sony-xperia-edo-pdx203.dtb: /soc@0/phy@88e8000: failed to match any schema with compatible: ['qcom,sm8250-qmp-usb3-dp-phy'] arch/arm64/boot/dts/qcom/sm7225-fairphone-fp4.dtb: /soc@0/phy@88e8000: failed to match any schema with compatible: ['qcom,sm6350-qmp-usb3-dp-phy'] arch/arm64/boot/dts/qcom/sa8155p-adp.dtb: /soc@0/phy@88e8000: failed to match any schema with compatible: ['qcom,sm8150-qmp-usb3-dp-phy'] arch/arm64/boot/dts/qcom/x1e80100-qcp.dtb: /soc@0/phy@fd5000: failed to match any schema with compatible: ['qcom,x1e80100-qmp-usb3-dp-phy'] arch/arm64/boot/dts/qcom/x1e80100-qcp.dtb: /soc@0/phy@fda000: failed to match any schema with compatible: ['qcom,x1e80100-qmp-usb3-dp-phy'] arch/arm64/boot/dts/qcom/x1e80100-qcp.dtb: /soc@0/phy@fdf000: failed to match any schema with compatible: ['qcom,x1e80100-qmp-usb3-dp-phy'] arch/arm64/boot/dts/qcom/sc7180-trogdor-lazor-r1-kb.dtb: /soc@0/phy@88e8000: failed to match any schema with compatible: ['qcom,sc7180-qmp-usb3-dp-phy'] arch/arm64/boot/dts/qcom/sm8250-sony-xperia-edo-pdx206.dtb: /soc@0/phy@88e8000: failed to match any schema with compatible: ['qcom,sm8250-qmp-usb3-dp-phy'] arch/arm64/boot/dts/qcom/sc7180-trogdor-homestar-r3.dtb: /soc@0/phy@88e8000: failed to match any schema with compatible: ['qcom,sc7180-qmp-usb3-dp-phy'] arch/arm64/boot/dts/qcom/x1e80100-asus-vivobook-s15.dtb: /soc@0/phy@fd5000: failed to match any schema with compatible: ['qcom,x1e80100-qmp-usb3-dp-phy'] arch/arm64/boot/dts/qcom/x1e80100-asus-vivobook-s15.dtb: /soc@0/phy@fda000: failed to match any schema with compatible: ['qcom,x1e80100-qmp-usb3-dp-phy'] arch/arm64/boot/dts/qcom/x1e80100-asus-vivobook-s15.dtb: /soc@0/phy@fdf000: failed to match any schema with compatible: ['qcom,x1e80100-qmp-usb3-dp-phy'] arch/arm64/boot/dts/qcom/sc7280-herobrine-zombie-nvme-lte.dtb: /soc@0/phy@88e8000: failed to match any schema with compatible: ['qcom,sc7280-qmp-usb3-dp-phy'] arch/arm64/boot/dts/qcom/x1e78100-lenovo-thinkpad-t14s.dtb: /soc@0/phy@fd5000: failed to match any schema with compatible: ['qcom,x1e80100-qmp-usb3-dp-phy'] arch/arm64/boot/dts/qcom/x1e78100-lenovo-thinkpad-t14s.dtb: /soc@0/phy@fda000: failed to match any schema with compatible: ['qcom,x1e80100-qmp-usb3-dp-phy'] arch/arm64/boot/dts/qcom/x1e78100-lenovo-thinkpad-t14s.dtb: /soc@0/phy@fdf000: failed to match any schema with compatible: ['qcom,x1e80100-qmp-usb3-dp-phy'] arch/arm64/boot/dts/qcom/sm8150-microsoft-surface-duo.dtb: /soc@0/phy@88e8000: failed to match any schema with compatible: ['qcom,sm8150-qmp-usb3-dp-phy'] arch/arm64/boot/dts/qcom/sc8180x-primus.dtb: /soc@0/phy@88e8000: failed to match any schema with compatible: ['qcom,sc8180x-qmp-usb3-dp-phy'] arch/arm64/boot/dts/qcom/sc8180x-primus.dtb: /soc@0/phy@88ee000: failed to match any schema with compatible: ['qcom,sc8180x-qmp-usb3-dp-phy'] arch/arm64/boot/dts/qcom/x1p42100-asus-zenbook-a14.dtb: /soc@0/phy@fd5000: failed to match any schema with compatible: ['qcom,x1e80100-qmp-usb3-dp-phy'] arch/arm64/boot/dts/qcom/x1p42100-asus-zenbook-a14.dtb: /soc@0/phy@fda000: failed to match any schema with compatible: ['qcom,x1e80100-qmp-usb3-dp-phy'] arch/arm64/boot/dts/qcom/x1p42100-asus-zenbook-a14.dtb: /soc@0/phy@fdf000: failed to match any schema with compatible: ['qcom,x1e80100-qmp-usb3-dp-phy'] arch/arm64/boot/dts/qcom/sm8150-hdk.dtb: /soc@0/phy@88e8000: failed to match any schema with compatible: ['qcom,sm8150-qmp-usb3-dp-phy'] arch/arm64/boot/dts/qcom/sc7180-idp.dtb: /soc@0/phy@88e8000: failed to match any schema with compatible: ['qcom,sc7180-qmp-usb3-dp-phy'] arch/arm64/boot/dts/qcom/x1e80100-hp-elitebook-ultra-g1q.dtb: /soc@0/phy@fd5000: failed to match any schema with compatible: ['qcom,x1e80100-qmp-usb3-dp-phy'] arch/arm64/boot/dts/qcom/x1e80100-hp-elitebook-ultra-g1q.dtb: /soc@0/phy@fda000: failed to match any schema with compatible: ['qcom,x1e80100-qmp-usb3-dp-phy'] arch/arm64/boot/dts/qcom/x1e80100-hp-elitebook-ultra-g1q.dtb: /soc@0/phy@fdf000: failed to match any schema with compatible: ['qcom,x1e80100-qmp-usb3-dp-phy'] arch/arm64/boot/dts/qcom/sc7180-trogdor-lazor-r10-lte.dtb: /soc@0/phy@88e8000: failed to match any schema with compatible: ['qcom,sc7180-qmp-usb3-dp-phy'] arch/arm64/boot/dts/qcom/x1e80100-microsoft-romulus15.dtb: /soc@0/phy@fd5000: failed to match any schema with compatible: ['qcom,x1e80100-qmp-usb3-dp-phy'] arch/arm64/boot/dts/qcom/x1e80100-microsoft-romulus15.dtb: /soc@0/phy@fda000: failed to match any schema with compatible: ['qcom,x1e80100-qmp-usb3-dp-phy'] arch/arm64/boot/dts/qcom/x1e80100-microsoft-romulus15.dtb: /soc@0/phy@fdf000: failed to match any schema with compatible: ['qcom,x1e80100-qmp-usb3-dp-phy'] arch/arm64/boot/dts/qcom/sc7280-herobrine-zombie-nvme.dtb: /soc@0/phy@88e8000: failed to match any schema with compatible: ['qcom,sc7280-qmp-usb3-dp-phy'] arch/arm64/boot/dts/qcom/sc7180-trogdor-lazor-limozeen-r10.dtb: /soc@0/phy@88e8000: failed to match any schema with compatible: ['qcom,sc7180-qmp-usb3-dp-phy'] arch/arm64/boot/dts/qcom/sc7180-trogdor-pazquel-parade.dtb: /soc@0/phy@88e8000: failed to match any schema with compatible: ['qcom,sc7180-qmp-usb3-dp-phy'] arch/arm64/boot/dts/qcom/sc7180-trogdor-wormdingler-rev1-boe-rt5682s.dtb: /soc@0/phy@88e8000: failed to match any schema with compatible: ['qcom,sc7180-qmp-usb3-dp-phy'] arch/arm64/boot/dts/qcom/sc7180-trogdor-lazor-r9-kb.dtb: /soc@0/phy@88e8000: failed to match any schema with compatible: ['qcom,sc7180-qmp-usb3-dp-phy'] arch/arm64/boot/dts/qcom/sc7180-trogdor-coachz-r3-lte.dtb: /soc@0/phy@88e8000: failed to match any schema with compatible: ['qcom,sc7180-qmp-usb3-dp-phy'] arch/arm64/boot/dts/qcom/sc7280-crd-r3.dtb: /soc@0/phy@88e8000: failed to match any schema with compatible: ['qcom,sc7280-qmp-usb3-dp-phy'] arch/arm64/boot/dts/qcom/sm8450-samsung-r0q.dtb: /soc@0/phy@88e8000: failed to match any schema with compatible: ['qcom,sm8450-qmp-usb3-dp-phy'] arch/arm64/boot/dts/qcom/sc7180-trogdor-wormdingler-rev1-boe.dtb: /soc@0/phy@88e8000: failed to match any schema with compatible: ['qcom,sc7180-qmp-usb3-dp-phy'] arch/arm64/boot/dts/qcom/sc7280-herobrine-villager-r1.dtb: /soc@0/phy@88e8000: failed to match any schema with compatible: ['qcom,sc7280-qmp-usb3-dp-phy'] arch/arm64/boot/dts/qcom/sc7180-trogdor-pazquel-ti.dtb: /soc@0/phy@88e8000: failed to match any schema with compatible: ['qcom,sc7180-qmp-usb3-dp-phy'] arch/arm64/boot/dts/qcom/qcm6490-shift-otter.dtb: /soc@0/phy@88e8000: failed to match any schema with compatible: ['qcom,sc7280-qmp-usb3-dp-phy'] arch/arm64/boot/dts/qcom/hamoa-iot-evk.dtb: /soc@0/phy@fd5000: failed to match any schema with compatible: ['qcom,x1e80100-qmp-usb3-dp-phy'] arch/arm64/boot/dts/qcom/hamoa-iot-evk.dtb: /soc@0/phy@fda000: failed to match any schema with compatible: ['qcom,x1e80100-qmp-usb3-dp-phy'] arch/arm64/boot/dts/qcom/hamoa-iot-evk.dtb: /soc@0/phy@fdf000: failed to match any schema with compatible: ['qcom,x1e80100-qmp-usb3-dp-phy'] arch/arm64/boot/dts/qcom/sdm845-samsung-starqltechn.dtb: /soc@0/phy@88e8000: failed to match any schema with compatible: ['qcom,sdm845-qmp-usb3-dp-phy'] arch/arm64/boot/dts/qcom/sc7180-trogdor-pompom-r1-lte.dtb: /soc@0/phy@88e8000: failed to match any schema with compatible: ['qcom,sc7180-qmp-usb3-dp-phy'] arch/arm64/boot/dts/qcom/x1e80100-dell-inspiron-14-plus-7441.dtb: /soc@0/phy@fd5000: failed to match any schema with compatible: ['qcom,x1e80100-qmp-usb3-dp-phy'] arch/arm64/boot/dts/qcom/x1e80100-dell-inspiron-14-plus-7441.dtb: /soc@0/phy@fda000: failed to match any schema with compatible: ['qcom,x1e80100-qmp-usb3-dp-phy'] arch/arm64/boot/dts/qcom/x1e80100-dell-inspiron-14-plus-7441.dtb: /soc@0/phy@fdf000: failed to match any schema with compatible: ['qcom,x1e80100-qmp-usb3-dp-phy'] arch/arm64/boot/dts/qcom/sc7180-trogdor-lazor-r9.dtb: /soc@0/phy@88e8000: failed to match any schema with compatible: ['qcom,sc7180-qmp-usb3-dp-phy'] arch/arm64/boot/dts/qcom/sc7180-trogdor-r1-lte.dtb: /soc@0/phy@88e8000: failed to match any schema with compatible: ['qcom,sc7180-qmp-usb3-dp-phy'] arch/arm64/boot/dts/qcom/x1e80100-crd.dtb: /soc@0/phy@fd5000: failed to match any schema with compatible: ['qcom,x1e80100-qmp-usb3-dp-phy'] arch/arm64/boot/dts/qcom/x1e80100-crd.dtb: /soc@0/phy@fda000: failed to match any schema with compatible: ['qcom,x1e80100-qmp-usb3-dp-phy'] arch/arm64/boot/dts/qcom/x1e80100-crd.dtb: /soc@0/phy@fdf000: failed to match any schema with compatible: ['qcom,x1e80100-qmp-usb3-dp-phy'] arch/arm64/boot/dts/qcom/sdm845-sony-xperia-tama-akatsuki.dtb: /soc@0/phy@88e8000: failed to match any schema with compatible: ['qcom,sdm845-qmp-usb3-dp-phy'] arch/arm64/boot/dts/qcom/x1p42100-lenovo-thinkbook-16.dtb: /soc@0/phy@fd5000: failed to match any schema with compatible: ['qcom,x1e80100-qmp-usb3-dp-phy'] arch/arm64/boot/dts/qcom/x1p42100-lenovo-thinkbook-16.dtb: /soc@0/phy@fda000: failed to match any schema with compatible: ['qcom,x1e80100-qmp-usb3-dp-phy'] arch/arm64/boot/dts/qcom/x1p42100-lenovo-thinkbook-16.dtb: /soc@0/phy@fdf000: failed to match any schema with compatible: ['qcom,x1e80100-qmp-usb3-dp-phy'] arch/arm64/boot/dts/qcom/sc7180-trogdor-coachz-r3.dtb: /soc@0/phy@88e8000: failed to match any schema with compatible: ['qcom,sc7180-qmp-usb3-dp-phy'] arch/arm64/boot/dts/qcom/sc7180-trogdor-pazquel-lte-ti.dtb: /soc@0/phy@88e8000: failed to match any schema with compatible: ['qcom,sc7180-qmp-usb3-dp-phy'] arch/arm64/boot/dts/qcom/sc7180-trogdor-lazor-r9-lte.dtb: /soc@0/phy@88e8000: failed to match any schema with compatible: ['qcom,sc7180-qmp-usb3-dp-phy'] arch/arm64/boot/dts/qcom/sa8295p-adp.dtb: /soc@0/phy@88eb000: failed to match any schema with compatible: ['qcom,sc8280xp-qmp-usb43dp-phy'] arch/arm64/boot/dts/qcom/sa8295p-adp.dtb: /soc@0/phy@8903000: failed to match any schema with compatible: ['qcom,sc8280xp-qmp-usb43dp-phy'] arch/arm64/boot/dts/qcom/sdm845-xiaomi-beryllium-ebbg.dtb: /soc@0/phy@88e8000: failed to match any schema with compatible: ['qcom,sdm845-qmp-usb3-dp-phy'] arch/arm64/boot/dts/qcom/sm8650-mtp.dtb: /soc@0/phy@88e8000: failed to match any schema with compatible: ['qcom,sm8650-qmp-usb3-dp-phy'] arch/arm64/boot/dts/qcom/sc7180-trogdor-pompom-r3.dtb: /soc@0/phy@88e8000: failed to match any schema with compatible: ['qcom,sc7180-qmp-usb3-dp-phy'] arch/arm64/boot/dts/qcom/x1e80100-microsoft-romulus13.dtb: /soc@0/phy@fd5000: failed to match any schema with compatible: ['qcom,x1e80100-qmp-usb3-dp-phy'] arch/arm64/boot/dts/qcom/x1e80100-microsoft-romulus13.dtb: /soc@0/phy@fda000: failed to match any schema with compatible: ['qcom,x1e80100-qmp-usb3-dp-phy'] arch/arm64/boot/dts/qcom/x1e80100-microsoft-romulus13.dtb: /soc@0/phy@fdf000: failed to match any schema with compatible: ['qcom,x1e80100-qmp-usb3-dp-phy'] arch/arm64/boot/dts/qcom/sm8550-hdk.dtb: /soc@0/phy@88e8000: failed to match any schema with compatible: ['qcom,sm8550-qmp-usb3-dp-phy'] arch/arm64/boot/dts/qcom/sc8280xp-huawei-gaokun3.dtb: /soc@0/phy@88eb000: failed to match any schema with compatible: ['qcom,sc8280xp-qmp-usb43dp-phy'] arch/arm64/boot/dts/qcom/sc8280xp-huawei-gaokun3.dtb: /soc@0/phy@8903000: failed to match any schema with compatible: ['qcom,sc8280xp-qmp-usb43dp-phy'] arch/arm64/boot/dts/qcom/sc7180-trogdor-lazor-r1-lte.dtb: /soc@0/phy@88e8000: failed to match any schema with compatible: ['qcom,sc7180-qmp-usb3-dp-phy'] arch/arm64/boot/dts/qcom/sm6350-sony-xperia-lena-pdx213.dtb: /soc@0/phy@88e8000: failed to match any schema with compatible: ['qcom,sm6350-qmp-usb3-dp-phy'] arch/arm64/boot/dts/qcom/sc7180-trogdor-pompom-r2.dtb: /soc@0/phy@88e8000: failed to match any schema with compatible: ['qcom,sc7180-qmp-usb3-dp-phy'] arch/arm64/boot/dts/qcom/sc7180-trogdor-wormdingler-rev1-inx-rt5682s.dtb: /soc@0/phy@88e8000: failed to match any schema with compatible: ['qcom,sc7180-qmp-usb3-dp-phy'] arch/arm64/boot/dts/qcom/qcm6490-fairphone-fp5.dtb: /soc@0/phy@88e8000: failed to match any schema with compatible: ['qcom,sc7280-qmp-usb3-dp-phy'] arch/arm64/boot/dts/qcom/sm8150-sony-xperia-kumano-bahamut.dtb: /soc@0/phy@88e8000: failed to match any schema with compatible: ['qcom,sm8150-qmp-usb3-dp-phy'] arch/arm64/boot/dts/qcom/sc7180-trogdor-pazquel-lte-parade.dtb: /soc@0/phy@88e8000: failed to match any schema with compatible: ['qcom,sc7180-qmp-usb3-dp-phy'] arch/arm64/boot/dts/qcom/sc7180-trogdor-homestar-r2.dtb: /soc@0/phy@88e8000: failed to match any schema with compatible: ['qcom,sc7180-qmp-usb3-dp-phy'] arch/arm64/boot/dts/qcom/sm8250-hdk.dtb: /soc@0/phy@88e8000: failed to match any schema with compatible: ['qcom,sm8250-qmp-usb3-dp-phy'] arch/arm64/boot/dts/qcom/sc8280xp-microsoft-blackrock.dtb: /soc@0/phy@88eb000: failed to match any schema with compatible: ['qcom,sc8280xp-qmp-usb43dp-phy'] arch/arm64/boot/dts/qcom/sc8280xp-microsoft-blackrock.dtb: /soc@0/phy@8903000: failed to match any schema with compatible: ['qcom,sc8280xp-qmp-usb43dp-phy'] arch/arm64/boot/dts/qcom/sm8650-qrd.dtb: /soc@0/phy@88e8000: failed to match any schema with compatible: ['qcom,sm8650-qmp-usb3-dp-phy'] arch/arm64/boot/dts/qcom/sc8280xp-crd.dtb: /soc@0/phy@88eb000: failed to match any schema with compatible: ['qcom,sc8280xp-qmp-usb43dp-phy'] arch/arm64/boot/dts/qcom/sc8280xp-crd.dtb: /soc@0/phy@8903000: failed to match any schema with compatible: ['qcom,sc8280xp-qmp-usb43dp-phy'] arch/arm64/boot/dts/qcom/sc7180-trogdor-lazor-limozeen-nots-r5.dtb: /soc@0/phy@88e8000: failed to match any schema with compatible: ['qcom,sc7180-qmp-usb3-dp-phy'] arch/arm64/boot/dts/qcom/sdm850-lenovo-yoga-c630.dtb: /soc@0/phy@88e8000: failed to match any schema with compatible: ['qcom,sdm845-qmp-usb3-dp-phy'] arch/arm64/boot/dts/qcom/sdm850-samsung-w737.dtb: /soc@0/phy@88e8000: failed to match any schema with compatible: ['qcom,sdm845-qmp-usb3-dp-phy'] arch/arm64/boot/dts/qcom/sc7180-trogdor-lazor-r10-kb.dtb: /soc@0/phy@88e8000: failed to match any schema with compatible: ['qcom,sc7180-qmp-usb3-dp-phy'] arch/arm64/boot/dts/qcom/sc7280-herobrine-villager-r1-lte.dtb: /soc@0/phy@88e8000: failed to match any schema with compatible: ['qcom,sc7280-qmp-usb3-dp-phy'] arch/arm64/boot/dts/qcom/sm8350-sony-xperia-sagami-pdx214.dtb: /soc@0/phy@88e8000: failed to match any schema with compatible: ['qcom,sm8350-qmp-usb3-dp-phy'] arch/arm64/boot/dts/qcom/sc7180-trogdor-pompom-r3-lte.dtb: /soc@0/phy@88e8000: failed to match any schema with compatible: ['qcom,sc7180-qmp-usb3-dp-phy'] arch/arm64/boot/dts/qcom/sa8540p-ride.dtb: /soc@0/phy@88eb000: failed to match any schema with compatible: ['qcom,sc8280xp-qmp-usb43dp-phy'] arch/arm64/boot/dts/qcom/sdm845-db845c.dtb: /soc@0/phy@88e8000: failed to match any schema with compatible: ['qcom,sdm845-qmp-usb3-dp-phy'] arch/arm64/boot/dts/qcom/sa8540p-ride.dtb: /soc@0/phy@8903000: failed to match any schema with compatible: ['qcom,sc8280xp-qmp-usb43dp-phy'] arch/arm64/boot/dts/qcom/sm8550-samsung-q5q.dtb: /soc@0/phy@88e8000: failed to match any schema with compatible: ['qcom,sm8550-qmp-usb3-dp-phy'] arch/arm64/boot/dts/qcom/sm8350-mtp.dtb: /soc@0/phy@88e8000: failed to match any schema with compatible: ['qcom,sm8350-qmp-usb3-dp-phy'] arch/arm64/boot/dts/qcom/sc7180-trogdor-lazor-r1.dtb: /soc@0/phy@88e8000: failed to match any schema with compatible: ['qcom,sc7180-qmp-usb3-dp-phy'] arch/arm64/boot/dts/qcom/sc7180-trogdor-pompom-r1.dtb: /soc@0/phy@88e8000: failed to match any schema with compatible: ['qcom,sc7180-qmp-usb3-dp-phy'] arch/arm64/boot/dts/qcom/sc7280-herobrine-villager-r0.dtb: /soc@0/phy@88e8000: failed to match any schema with compatible: ['qcom,sc7280-qmp-usb3-dp-phy'] arch/arm64/boot/dts/qcom/sdm845-xiaomi-beryllium-tianma.dtb: /soc@0/phy@88e8000: failed to match any schema with compatible: ['qcom,sdm845-qmp-usb3-dp-phy'] arch/arm64/boot/dts/qcom/sdm845-xiaomi-polaris.dtb: /soc@0/phy@88e8000: failed to match any schema with compatible: ['qcom,sdm845-qmp-usb3-dp-phy'] arch/arm64/boot/dts/qcom/sm8450-sony-xperia-nagara-pdx224.dtb: /soc@0/phy@88e8000: failed to match any schema with compatible: ['qcom,sm8450-qmp-usb3-dp-phy'] arch/arm64/boot/dts/qcom/sm7125-xiaomi-joyeuse.dtb: /soc@0/phy@88e8000: failed to match any schema with compatible: ['qcom,sc7180-qmp-usb3-dp-phy'] arch/arm64/boot/dts/qcom/sm8450-sony-xperia-nagara-pdx223.dtb: /soc@0/phy@88e8000: failed to match any schema with compatible: ['qcom,sm8450-qmp-usb3-dp-phy'] arch/arm64/boot/dts/qcom/sc7180-trogdor-lazor-limozeen-nots-r10.dtb: /soc@0/phy@88e8000: failed to match any schema with compatible: ['qcom,sc7180-qmp-usb3-dp-phy'] arch/arm64/boot/dts/qcom/sc7180-trogdor-quackingstick-r0-lte.dtb: /soc@0/phy@88e8000: failed to match any schema with compatible: ['qcom,sc7180-qmp-usb3-dp-phy'] -- linux-phy mailing list linux-phy@lists.infradead.org https://lists.infradead.org/mailman/listinfo/linux-phy ^ permalink raw reply [flat|nested] 17+ messages in thread
end of thread, other threads:[~2025-10-06 14:54 UTC | newest] Thread overview: 17+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2025-09-30 7:39 [PATCH v4 0/3] arm64: qcom: x1e78100-lenovo-thinkpad-t14s: add support for HDMI output Neil Armstrong 2025-09-30 7:39 ` [PATCH v4 1/3] dt-bindings: phy: qcom,sc8280xp-qmp-usb43dp-phy: Document lanes mapping when not using in USB-C complex Neil Armstrong 2025-10-06 9:43 ` Konrad Dybcio 2025-10-06 9:48 ` Neil Armstrong 2025-09-30 7:39 ` [PATCH v4 2/3] phy: qcom: qmp-combo: get the USB3 & DisplayPort lanes mapping from DT Neil Armstrong 2025-09-30 18:56 ` Dmitry Baryshkov 2025-10-01 7:06 ` Neil Armstrong 2025-10-04 6:46 ` Dmitry Baryshkov 2025-10-06 10:08 ` Konrad Dybcio 2025-10-06 10:35 ` Dmitry Baryshkov 2025-10-06 10:54 ` Konrad Dybcio 2025-10-06 12:50 ` Neil Armstrong 2025-10-06 14:54 ` Konrad Dybcio 2025-09-30 7:39 ` [PATCH v4 3/3] arm64: dts: qcom: x1e78100-lenovo-thinkpad-t14s: add HDMI nodes Neil Armstrong 2025-09-30 19:18 ` Dmitry Baryshkov 2025-10-06 10:25 ` Konrad Dybcio 2025-09-30 14:39 ` [PATCH v4 0/3] arm64: qcom: x1e78100-lenovo-thinkpad-t14s: add support for HDMI output Rob Herring (Arm)
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox