@@ -16,6 +16,8 @@ description:
properties:
compatible:
enum:
+ - qcom,ipq9574-qmp-gen3x1-pcie-phy
+ - qcom,ipq9574-qmp-gen3x2-pcie-phy
- qcom,sc8280xp-qmp-gen3x1-pcie-phy
- qcom,sc8280xp-qmp-gen3x2-pcie-phy
- qcom,sc8280xp-qmp-gen3x4-pcie-phy
@@ -34,13 +36,7 @@ properties:
clock-names:
minItems: 5
- items:
- - const: aux
- - const: cfg_ahb
- - const: ref
- - const: rchng
- - const: pipe
- - const: pipediv2
+ maxItems: 6
power-domains:
maxItems: 1
@@ -51,9 +47,7 @@ properties:
reset-names:
minItems: 1
- items:
- - const: phy
- - const: phy_nocsr
+ maxItems: 2
vdda-phy-supply: true
@@ -84,11 +78,8 @@ required:
- reg
- clocks
- clock-names
- - power-domains
- resets
- reset-names
- - vdda-phy-supply
- - vdda-pll-supply
- "#clock-cells"
- clock-output-names
- "#phy-cells"
@@ -128,13 +119,58 @@ allOf:
clocks:
maxItems: 5
clock-names:
- maxItems: 5
- else:
+ items:
+ - const: aux
+ - const: cfg_ahb
+ - const: ref
+ - const: rchng
+ - const: pipe
+
+ - 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:
- minItems: 6
+ items:
+ - const: aux
+ - const: cfg_ahb
+ - const: ref
+ - const: rchng
+ - const: pipe
+ - const: pipediv2
+
+ - if:
+ properties:
+ compatible:
+ contains:
+ enum:
+ - qcom,ipq9574-qmp-gen3x1-pcie-phy
+ - qcom,ipq9574-qmp-gen3x2-pcie-phy
+ then:
+ properties:
+ clocks:
+ maxItems: 5
+ clock-names:
+ items:
+ - const: aux
+ - const: cfg_ahb
+ - const: anoc_lane
+ - const: snoc_lane
+ - const: pipe
+ resets:
+ maxItems: 2
+ reset-names:
+ items:
+ - const: phy
+ - const: common
- if:
properties:
@@ -147,13 +183,42 @@ allOf:
resets:
minItems: 2
reset-names:
- minItems: 2
- else:
+ items:
+ - const: phy
+ - const: phy_nocsr
+
+ - if:
+ properties:
+ compatible:
+ contains:
+ enum:
+ - qcom,sc8280xp-qmp-gen3x1-pcie-phy
+ - qcom,sc8280xp-qmp-gen3x2-pcie-phy
+ - qcom,sc8280xp-qmp-gen3x4-pcie-phy
+ - qcom,sm8350-qmp-gen3x1-pcie-phy
+ - qcom,sm8550-qmp-gen3x2-pcie-phy
+
+ then:
properties:
resets:
maxItems: 1
reset-names:
- maxItems: 1
+ items:
+ - const: phy
+
+ - if:
+ not:
+ properties:
+ compatible:
+ contains:
+ enum:
+ - qcom,ipq9574-qmp-gen3x1-pcie-phy
+ - qcom,ipq9574-qmp-gen3x2-pcie-phy
+ then:
+ required:
+ - power-domains
+ - vdda-phy-supply
+ - vdda-pll-supply
examples:
- |
Add bindings for the PCIe QMP PHYs found on IPQ9574 Signed-off-by: Devi Priya <quic_devipriy@quicinc.com> --- Changes in V2: - Added the ipq9574 bindings here as the phy nodes in the DT are modified to follow the latest style (without child node) .../phy/qcom,sc8280xp-qmp-pcie-phy.yaml | 103 ++++++++++++++---- 1 file changed, 84 insertions(+), 19 deletions(-)