Re: [PATCH 04/41] dt-bindings: phy: migrate QMP PCIe PHY bindings to qcom,sc8280xp-qmp-pcie-phy.yaml

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Fri, Mar 24, 2023 at 05:24:37AM +0300, Dmitry Baryshkov wrote:
> Migrate legacy bindings (described in qcom,ipq8074-qmp-pcie-phy.yaml)
> to qcom,sc8280xp-qmp-pcie-phy.yaml. This removes a need to declare
> the child PHY node or split resource regions.
> 
> Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@xxxxxxxxxx>
> ---
>  .../phy/qcom,ipq8074-qmp-pcie-phy.yaml        | 299 ------------------
>  .../phy/qcom,sc8280xp-qmp-pcie-phy.yaml       | 213 +++++++++++--
>  2 files changed, 187 insertions(+), 325 deletions(-)
>  delete mode 100644 Documentation/devicetree/bindings/phy/qcom,ipq8074-qmp-pcie-phy.yaml

> diff --git a/Documentation/devicetree/bindings/phy/qcom,sc8280xp-qmp-pcie-phy.yaml b/Documentation/devicetree/bindings/phy/qcom,sc8280xp-qmp-pcie-phy.yaml
> index ef49efbd0a20..328588448c6b 100644
> --- a/Documentation/devicetree/bindings/phy/qcom,sc8280xp-qmp-pcie-phy.yaml
> +++ b/Documentation/devicetree/bindings/phy/qcom,sc8280xp-qmp-pcie-phy.yaml
> @@ -16,10 +16,23 @@ description:
>  properties:
>    compatible:
>      enum:
> +      - qcom,ipq6018-qmp-pcie-phy
> +      - qcom,ipq8074-qmp-gen3-pcie-phy
> +      - qcom,ipq8074-qmp-pcie-phy
> +      - qcom,msm8998-qmp-pcie-phy
> +      - qcom,sc8180x-qmp-pcie-phy
>        - qcom,sc8280xp-qmp-gen3x1-pcie-phy
>        - qcom,sc8280xp-qmp-gen3x2-pcie-phy
>        - qcom,sc8280xp-qmp-gen3x4-pcie-phy
> +      - qcom,sdm845-qhp-pcie-phy
> +      - qcom,sdm845-qmp-pcie-phy
> +      - qcom,sdx55-qmp-pcie-phy
> +      - qcom,sm8250-qmp-gen3x1-pcie-phy
> +      - qcom,sm8250-qmp-gen3x2-pcie-phy
> +      - qcom,sm8250-qmp-modem-pcie-phy
>        - qcom,sm8350-qmp-gen3x1-pcie-phy
> +      - qcom,sm8450-qmp-gen3x1-pcie-phy
> +      - qcom,sm8450-qmp-gen4x2-pcie-phy
>        - qcom,sm8550-qmp-gen3x2-pcie-phy
>        - qcom,sm8550-qmp-gen4x2-pcie-phy
>  
> @@ -28,18 +41,12 @@ properties:
>      maxItems: 2
>  
>    clocks:
> -    minItems: 5
> +    minItems: 3
>      maxItems: 6
>  
>    clock-names:
> -    minItems: 5
> -    items:
> -      - const: aux
> -      - const: cfg_ahb
> -      - const: ref
> -      - const: rchng
> -      - const: pipe
> -      - const: pipediv2
> +    minItems: 3
> +    maxItems: 6
>  
>    power-domains:
>      maxItems: 1
> @@ -50,9 +57,7 @@ properties:
>  
>    reset-names:
>      minItems: 1
> -    items:
> -      - const: phy
> -      - const: phy_nocsr
> +    maxItems: 2
>  
>    vdda-phy-supply: true
>  
> @@ -83,11 +88,8 @@ required:
>    - reg
>    - clocks
>    - clock-names
> -  - power-domains
>    - resets
>    - reset-names
> -  - vdda-phy-supply
> -  - vdda-pll-supply
>    - "#clock-cells"
>    - clock-output-names
>    - "#phy-cells"
> @@ -119,21 +121,116 @@ allOf:
>          compatible:
>            contains:
>              enum:
> -              - qcom,sm8350-qmp-gen3x1-pcie-phy
> -              - qcom,sm8550-qmp-gen3x2-pcie-phy
> -              - qcom,sm8550-qmp-gen4x2-pcie-phy
> +              - qcom,msm8998-qmp-pcie-phy
>      then:
>        properties:
>          clocks:
> -          maxItems: 5
> +          maxItems: 4
>          clock-names:
> +          items:
> +            - const: aux
> +            - const: cfg_ahb
> +            - const: ref
> +            - const: pipe
> +        resets:
> +          maxItems: 2
> +        reset-names:
> +          items:
> +            - const: phy
> +            - const: common

Reset name looks wrong here too.

> +      required:
> +        - vdda-phy-supply
> +        - vdda-pll-supply
> +
> +  - if:
> +      properties:
> +        compatible:
> +          contains:
> +            enum:
> +              - qcom,ipq6018-qmp-pcie-phy
> +              - qcom,ipq8074-qmp-gen3-pcie-phy
> +              - qcom,ipq8074-qmp-pcie-phy
> +    then:
> +      properties:
> +        clocks:
> +          maxItems: 3
> +        clock-names:
> +          items:
> +            - const: aux
> +            - const: cfg_ahb
> +            - const: pipe
> +        resets:
> +          maxItems: 2
> +        reset-names:
> +          items:
> +            - const: phy
> +            - const: common

Same here.

> +
> +  - if:
> +      properties:
> +        compatible:
> +          contains:
> +            enum:
> +              - qcom,sc8180x-qmp-pcie-phy
> +              - qcom,sdm845-qhp-pcie-phy
> +              - qcom,sdm845-qmp-pcie-phy
> +              - qcom,sdx55-qmp-pcie-phy
> +              - qcom,sm8250-qmp-gen3x1-pcie-phy
> +              - qcom,sm8250-qmp-gen3x2-pcie-phy
> +              - qcom,sm8250-qmp-modem-pcie-phy
> +              - qcom,sm8450-qmp-gen3x1-pcie-phy
> +              - qcom,sm8450-qmp-gen4x2-pcie-phy
> +    then:
> +      properties:
> +        clocks:
>            maxItems: 5
> -    else:
> +        clock-names:
> +          items:
> +            - const: aux
> +            - const: cfg_ahb
> +            - const: ref
> +            - const: refgen

This one should be named 'rchng' and this set a strict subset of the
sc8280xp clocks.

> +            - const: pipe
> +        resets:
> +          maxItems: 1
> +        reset-names:
> +          items:
> +            - const: phy
> +      required:
> +        - vdda-phy-supply
> +        - vdda-pll-supply
> +
> +  - if:
> +      properties:
> +        compatible:
> +          contains:
> +            enum:
> +              - qcom,sm8350-qmp-gen3x1-pcie-phy
> +              - qcom,sm8550-qmp-gen3x2-pcie-phy
> +        resets:
> +          minItems: 1
> +        reset-names:
> +          items:
> +            - const: phy
> +    then:
>        properties:
>          clocks:
> -          minItems: 6
> +          maxItems: 5
>          clock-names:
> -          minItems: 6
> +          items:
> +            - const: aux
> +            - const: cfg_ahb
> +            - const: ref
> +            - const: rchng
> +            - const: pipe
> +        resets:
> +          maxItems: 1
> +        reset-names:
> +          items:
> +            - const: phy
> +      required:
> +        - vdda-phy-supply
> +        - vdda-pll-supply
>  
>    - if:
>        properties:
> @@ -143,16 +240,53 @@ allOf:
>                - qcom,sm8550-qmp-gen4x2-pcie-phy
>      then:
>        properties:
> +        clocks:
> +          maxItems: 5
> +        clock-names:
> +          items:
> +            - const: aux
> +            - const: cfg_ahb
> +            - const: ref
> +            - const: rchng
> +            - const: pipe
>          resets:
>            minItems: 2
>          reset-names:
> -          minItems: 2
> -    else:
> +          items:
> +            - const: phy
> +            - const: phy_nocsr
> +      required:
> +        - vdda-phy-supply
> +        - vdda-pll-supply
> +
> +  - if:
> +      properties:
> +        compatible:
> +          contains:
> +            enum:
> +              - qcom,sc8280xp-qmp-gen3x1-pcie-phy
> +              - qcom,sc8280xp-qmp-gen3x2-pcie-phy
> +              - qcom,sc8280xp-qmp-gen3x4-pcie-phy
> +    then:
>        properties:
> +        clocks:
> +          minItems: 6
> +        clock-names:
> +          items:
> +            - const: aux
> +            - const: cfg_ahb
> +            - const: ref
> +            - const: rchng
> +            - const: pipe
> +            - const: pipediv2
>          resets:
> -          maxItems: 1
> +          minItems: 1
>          reset-names:
> -          maxItems: 1
> +          items:
> +            - const: phy
> +      required:
> +        - vdda-phy-supply
> +        - vdda-pll-supply
>  
>  examples:
>    - |
> @@ -213,3 +347,30 @@ examples:
>  
>        #phy-cells = <0>;
>      };
> +  - |
> +    #define GCC_PCIE1_PHY_REFGEN_CLK   47
> +    #define GCC_PCIE_PHY_AUX_CLK       71
> +    #define GCC_PCIE_WIGIG_CLKREF_EN   74
> +
> +    phy@1c0e000 {
> +        compatible = "qcom,sm8250-qmp-gen3x2-pcie-phy";
> +        reg = <0x01c0e000 0x1c0>;
> +
> +        clocks = <&gcc GCC_PCIE_PHY_AUX_CLK>,
> +                 <&gcc GCC_PCIE_1_CFG_AHB_CLK>,
> +                 <&gcc GCC_PCIE_WIGIG_CLKREF_EN>,
> +                 <&gcc GCC_PCIE1_PHY_REFGEN_CLK>,
> +                 <&gcc GCC_PCIE_1_PIPE_CLK>;
> +        clock-names = "aux", "cfg_ahb", "ref", "refgen", "pipe";
> +
> +        resets = <&gcc GCC_PCIE_1_PHY_BCR>;
> +        reset-names = "phy";
> +
> +        vdda-phy-supply = <&vreg_l10c_0p88>;
> +        vdda-pll-supply = <&vreg_l6b_1p2>;
> +
> +        #clock-cells = <0>;
> +        clock-output-names = "pcie_1_pipe_clk";
> +
> +        #phy-cells = <0>;
> +    };

This example also looks redundant.

Johan



[Index of Archives]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [Linux for Sparc]     [IETF Annouce]     [Security]     [Bugtraq]     [Linux MIPS]     [ECOS]     [Asterisk Internet PBX]     [Linux API]

  Powered by Linux