Shikra's EMAC requires two additional clocks for NOC interconnect access (axi-noc, pcie-tile-axi-noc) beyond the standard four, and an OPP table with required-opps to vote VDD_CX to SVS when the NOC clocks are enabled. Add qcom,shikra-ethqos to the compatible enum and use an if/else block to constrain Shikra to exactly six clocks and require operating-points-v2, while leaving existing compatibles unchanged. Add the relevant compatible to the binding document for snps,dwmac as well. Signed-off-by: Mohd Ayaan Anwar --- .../devicetree/bindings/net/qcom,ethqos.yaml | 55 ++++++++++++++++++++-- .../devicetree/bindings/net/snps,dwmac.yaml | 2 + 2 files changed, 53 insertions(+), 4 deletions(-) diff --git a/Documentation/devicetree/bindings/net/qcom,ethqos.yaml b/Documentation/devicetree/bindings/net/qcom,ethqos.yaml index 423959cb928d945aa3e758a3c803d12bd61ec42b..1167f11adbf30c234186a415004a75a774aa4492 100644 --- a/Documentation/devicetree/bindings/net/qcom,ethqos.yaml +++ b/Documentation/devicetree/bindings/net/qcom,ethqos.yaml @@ -14,9 +14,6 @@ description: dwmmac based Qualcomm ethernet devices which support Gigabit ethernet (version v2.3.0 and onwards). -allOf: - - $ref: snps,dwmac.yaml# - properties: compatible: oneOf: @@ -32,6 +29,7 @@ properties: - qcom,qcs404-ethqos - qcom,sa8775p-ethqos - qcom,sc8280xp-ethqos + - qcom,shikra-ethqos - qcom,sm8150-ethqos reg: @@ -57,9 +55,11 @@ properties: - const: sfty clocks: - maxItems: 4 + minItems: 4 + maxItems: 6 clock-names: + minItems: 4 items: - const: stmmaceth - const: pclk @@ -67,6 +67,8 @@ properties: - enum: - rgmii - phyaux + - const: axi-noc + - const: pcie-tile-axi-noc iommus: maxItems: 1 @@ -81,6 +83,11 @@ properties: - const: cpu-mac - const: mac-mem + operating-points-v2: true + + opp-table: + type: object + phys: true phy-names: @@ -92,6 +99,46 @@ required: - clock-names - reg-names +allOf: + - $ref: snps,dwmac.yaml# + + - if: + properties: + compatible: + contains: + const: qcom,shikra-ethqos + then: + properties: + clocks: + minItems: 6 + clock-names: + items: + - const: stmmaceth + - const: pclk + - const: ptp_ref + - const: rgmii + - const: axi-noc + - const: pcie-tile-axi-noc + operating-points-v2: + description: | + The OPP table specifies the rates for the NOC access + clocks in "stmmaceth", "axi-noc", "pcie-tile-axi-noc" + order. + required: + - operating-points-v2 + else: + properties: + clocks: + maxItems: 4 + clock-names: + items: + - const: stmmaceth + - const: pclk + - const: ptp_ref + - enum: + - rgmii + - phyaux + unevaluatedProperties: false examples: diff --git a/Documentation/devicetree/bindings/net/snps,dwmac.yaml b/Documentation/devicetree/bindings/net/snps,dwmac.yaml index 2218a492817fd3d864e0bc529b83fdcbb4ed023b..20b1da2f1096c94215902834a1ea014fb4ae44b2 100644 --- a/Documentation/devicetree/bindings/net/snps,dwmac.yaml +++ b/Documentation/devicetree/bindings/net/snps,dwmac.yaml @@ -75,6 +75,7 @@ properties: - qcom,qcs404-ethqos - qcom,sa8775p-ethqos - qcom,sc8280xp-ethqos + - qcom,shikra-ethqos - qcom,sm8150-ethqos - renesas,r9a06g032-gmac - renesas,r9a08g046-gbeth @@ -585,6 +586,7 @@ allOf: - qcom,qcs404-ethqos - qcom,sa8775p-ethqos - qcom,sc8280xp-ethqos + - qcom,shikra-ethqos - qcom,sm8150-ethqos - snps,dwmac-4.00 - snps,dwmac-4.10a -- 2.34.1