All of lore.kernel.org
 help / color / mirror / Atom feed
From: sashiko-bot@kernel.org
To: "Konrad Dybcio" <konradybcio@kernel.org>
Cc: olteanv@gmail.com, vkoul@kernel.org,
	linux-phy@lists.infradead.org, devicetree@vger.kernel.org,
	conor+dt@kernel.org, robh@kernel.org, neil.armstrong@linaro.org
Subject: Re: [PATCH v3 1/5] dt-bindings: phy: qcom,qmp-usb3-dp: Extend X1E description for USB4
Date: Thu, 30 Jul 2026 14:33:25 +0000	[thread overview]
Message-ID: <20260730143326.368671F000E9@smtp.kernel.org> (raw)
In-Reply-To: <20260730-topic-usb4phy-v3-1-ccf0f7ea98b5@oss.qualcomm.com>

Thank you for your contribution! Sashiko AI review found 2 potential issue(s) to consider:
- [High] The `clock-names` definition for `qcom,x1e80100-qmp-usb3-dp-phy` implicitly makes the 5th clock mandatory, breaking validation for existing device trees.
- [Medium] The `p2rr2p_pipe` clock is artificially restricted to the X1E SoC, preventing other USB4-capable SoCs in the same binding from modeling their hardware correctly.
--

--- Patch [1]: [PATCH v3 1/5] dt-bindings: phy: qcom,qmp-usb3-dp: Extend X1E description for USB4 ---
commit 86283e120a292e73e741d8fc0d233382e691770a
Author: Konrad Dybcio <konrad.dybcio@oss.qualcomm.com>

dt-bindings: phy: qcom,qmp-usb3-dp: Extend X1E description for USB4

This commit extends the X1E USB3/DP PHY bindings to support USB4 mode by
allowing an additional clock (P2RR2P). It adds conditionals to handle the
differences in clock requirements between earlier generations and X1E.

> 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 4eff92343ce4f..18930eb96bdfe 100644
> --- a/Documentation/devicetree/bindings/phy/qcom,sc8280xp-qmp-usb43dp-phy.yaml
> +++ b/Documentation/devicetree/bindings/phy/qcom,sc8280xp-qmp-usb43dp-phy.yaml

[ ... ]

> @@ -187,21 +182,59 @@ allOf:
>    - if:
>        properties:
>          compatible:
> -          enum:
> -            - qcom,sc7180-qmp-usb3-dp-phy
> -            - qcom,sdm845-qmp-usb3-dp-phy
> +          contains:
> +            enum:
> +              - qcom,x1e80100-qmp-usb3-dp-phy
>      then:
>        properties:
>          clocks:
>            maxItems: 5
>          clock-names:
> +          items:
> +            - const: aux
> +            - const: ref
> +            - const: com_aux
> +            - const: usb3_pipe
> +            - const: p2rr2p_pipe

[Severity: High]
Will this break device tree validation for existing x1e80100 device trees
that only provide 4 clocks? Since minItems is not explicitly set in this
local subschema, dt-schema will automatically set minItems to 5 to match
the length of the items array. Should minItems: 4 be added to this block to
preserve backward compatibility?

> +
> +  - if:
> +      properties:
> +        compatible:
> +          contains:
> +            enum:
> +              - qcom,sc7180-qmp-usb3-dp-phy
> +              - qcom,sdm845-qmp-usb3-dp-phy
> +    then:
> +      properties:
> +        clocks:
>            maxItems: 5
> -    else:
> +        clock-names:
> +          items:
> +            - const: aux
> +            - const: ref
> +            - const: com_aux
> +            - const: usb3_pipe
> +            - const: cfg_ahb
> +
> +  - if:
> +      not:
> +        properties:
> +          compatible:
> +            contains:
> +              enum:
> +                - qcom,x1e80100-qmp-usb3-dp-phy
> +                - qcom,sc7180-qmp-usb3-dp-phy
> +                - qcom,sdm845-qmp-usb3-dp-phy

[Severity: Medium]
Does this artificial restriction to maxItems: 4 for all other compatibles
prevent other USB4-capable SoCs (like sc8280xp) from correctly modeling
their hardware?

If they share the same USB43DP hardware capabilities and available clock
lines, they will fail validation if a developer attempts to add the
p2rr2p_pipe clock to them in the future.

Could this be structured to allow the 5th clock on other identical hardware
variants?

> +    then:
>        properties:
>          clocks:
>            maxItems: 4
>          clock-names:
> -          maxItems: 4
> +          items:
> +            - const: aux
> +            - const: ref
> +            - const: com_aux
> +            - const: usb3_pipe

-- 
Sashiko AI review · https://sashiko.dev/#/patchset/20260730-topic-usb4phy-v3-0-ccf0f7ea98b5@oss.qualcomm.com?part=1

-- 
linux-phy mailing list
linux-phy@lists.infradead.org
https://lists.infradead.org/mailman/listinfo/linux-phy

WARNING: multiple messages have this Message-ID (diff)
From: sashiko-bot@kernel.org
To: "Konrad Dybcio" <konradybcio@kernel.org>
Cc: olteanv@gmail.com, vkoul@kernel.org,
	linux-phy@lists.infradead.org, devicetree@vger.kernel.org,
	conor+dt@kernel.org, robh@kernel.org, neil.armstrong@linaro.org
Subject: Re: [PATCH v3 1/5] dt-bindings: phy: qcom,qmp-usb3-dp: Extend X1E description for USB4
Date: Thu, 30 Jul 2026 14:33:25 +0000	[thread overview]
Message-ID: <20260730143326.368671F000E9@smtp.kernel.org> (raw)
In-Reply-To: <20260730-topic-usb4phy-v3-1-ccf0f7ea98b5@oss.qualcomm.com>

Thank you for your contribution! Sashiko AI review found 2 potential issue(s) to consider:
- [High] The `clock-names` definition for `qcom,x1e80100-qmp-usb3-dp-phy` implicitly makes the 5th clock mandatory, breaking validation for existing device trees.
- [Medium] The `p2rr2p_pipe` clock is artificially restricted to the X1E SoC, preventing other USB4-capable SoCs in the same binding from modeling their hardware correctly.
--

--- Patch [1]: [PATCH v3 1/5] dt-bindings: phy: qcom,qmp-usb3-dp: Extend X1E description for USB4 ---
commit 86283e120a292e73e741d8fc0d233382e691770a
Author: Konrad Dybcio <konrad.dybcio@oss.qualcomm.com>

dt-bindings: phy: qcom,qmp-usb3-dp: Extend X1E description for USB4

This commit extends the X1E USB3/DP PHY bindings to support USB4 mode by
allowing an additional clock (P2RR2P). It adds conditionals to handle the
differences in clock requirements between earlier generations and X1E.

> 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 4eff92343ce4f..18930eb96bdfe 100644
> --- a/Documentation/devicetree/bindings/phy/qcom,sc8280xp-qmp-usb43dp-phy.yaml
> +++ b/Documentation/devicetree/bindings/phy/qcom,sc8280xp-qmp-usb43dp-phy.yaml

[ ... ]

> @@ -187,21 +182,59 @@ allOf:
>    - if:
>        properties:
>          compatible:
> -          enum:
> -            - qcom,sc7180-qmp-usb3-dp-phy
> -            - qcom,sdm845-qmp-usb3-dp-phy
> +          contains:
> +            enum:
> +              - qcom,x1e80100-qmp-usb3-dp-phy
>      then:
>        properties:
>          clocks:
>            maxItems: 5
>          clock-names:
> +          items:
> +            - const: aux
> +            - const: ref
> +            - const: com_aux
> +            - const: usb3_pipe
> +            - const: p2rr2p_pipe

[Severity: High]
Will this break device tree validation for existing x1e80100 device trees
that only provide 4 clocks? Since minItems is not explicitly set in this
local subschema, dt-schema will automatically set minItems to 5 to match
the length of the items array. Should minItems: 4 be added to this block to
preserve backward compatibility?

> +
> +  - if:
> +      properties:
> +        compatible:
> +          contains:
> +            enum:
> +              - qcom,sc7180-qmp-usb3-dp-phy
> +              - qcom,sdm845-qmp-usb3-dp-phy
> +    then:
> +      properties:
> +        clocks:
>            maxItems: 5
> -    else:
> +        clock-names:
> +          items:
> +            - const: aux
> +            - const: ref
> +            - const: com_aux
> +            - const: usb3_pipe
> +            - const: cfg_ahb
> +
> +  - if:
> +      not:
> +        properties:
> +          compatible:
> +            contains:
> +              enum:
> +                - qcom,x1e80100-qmp-usb3-dp-phy
> +                - qcom,sc7180-qmp-usb3-dp-phy
> +                - qcom,sdm845-qmp-usb3-dp-phy

[Severity: Medium]
Does this artificial restriction to maxItems: 4 for all other compatibles
prevent other USB4-capable SoCs (like sc8280xp) from correctly modeling
their hardware?

If they share the same USB43DP hardware capabilities and available clock
lines, they will fail validation if a developer attempts to add the
p2rr2p_pipe clock to them in the future.

Could this be structured to allow the 5th clock on other identical hardware
variants?

> +    then:
>        properties:
>          clocks:
>            maxItems: 4
>          clock-names:
> -          maxItems: 4
> +          items:
> +            - const: aux
> +            - const: ref
> +            - const: com_aux
> +            - const: usb3_pipe

-- 
Sashiko AI review · https://sashiko.dev/#/patchset/20260730-topic-usb4phy-v3-0-ccf0f7ea98b5@oss.qualcomm.com?part=1

  reply	other threads:[~2026-07-30 14:33 UTC|newest]

Thread overview: 20+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-07-30 14:19 [PATCH v3 0/5] USB4 mode programming for QMMPHY on X1E Konrad Dybcio
2026-07-30 14:19 ` Konrad Dybcio
2026-07-30 14:19 ` [PATCH v3 1/5] dt-bindings: phy: qcom,qmp-usb3-dp: Extend X1E description for USB4 Konrad Dybcio
2026-07-30 14:19   ` Konrad Dybcio
2026-07-30 14:33   ` sashiko-bot [this message]
2026-07-30 14:33     ` sashiko-bot
2026-07-30 14:19 ` [PATCH v3 2/5] phy: core: Define TBT phy_mode Konrad Dybcio
2026-07-30 14:19   ` Konrad Dybcio
2026-07-30 14:19 ` [PATCH v3 3/5] phy: qualcomm: qmp-combo: Add preliminary USB4 support Konrad Dybcio
2026-07-30 14:19   ` Konrad Dybcio
2026-07-30 14:38   ` sashiko-bot
2026-07-30 14:38     ` sashiko-bot
2026-07-30 14:19 ` [PATCH v3 4/5] phy: qualcomm: qmp-combo: Add USB4/TBT3 configuration data for Hamoa Konrad Dybcio
2026-07-30 14:19   ` Konrad Dybcio
2026-07-30 14:44   ` sashiko-bot
2026-07-30 14:44     ` sashiko-bot
2026-07-30 14:19 ` [PATCH v3 5/5] arm64: dts: qcom: hamoa: Extend QMPPHY description for USB4 Konrad Dybcio
2026-07-30 14:19   ` Konrad Dybcio
2026-07-30 14:31   ` sashiko-bot
2026-07-30 14:31     ` sashiko-bot

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20260730143326.368671F000E9@smtp.kernel.org \
    --to=sashiko-bot@kernel.org \
    --cc=conor+dt@kernel.org \
    --cc=devicetree@vger.kernel.org \
    --cc=konradybcio@kernel.org \
    --cc=linux-phy@lists.infradead.org \
    --cc=neil.armstrong@linaro.org \
    --cc=olteanv@gmail.com \
    --cc=robh@kernel.org \
    --cc=sashiko-reviews@lists.linux.dev \
    --cc=vkoul@kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.