Add StarFive JH8100 dwmac support. The JH8100 dwmac shares the same driver code as the JH7110 dwmac and has only one reset signal. Please refer to below: JH8100: reset-names = "stmmaceth"; JH7110: reset-names = "stmmaceth", "ahb"; JH7100: reset-names = "ahb"; Example usage of JH8100 in the device tree: gmac0: ethernet@16030000 { compatible = "starfive,jh8100-dwmac", "starfive,jh7110-dwmac", "snps,dwmac-5.20"; ... }; Signed-off-by: Tan Chun Hau <chunhau.tan@xxxxxxxxxxxxxxxx> --- .../devicetree/bindings/net/snps,dwmac.yaml | 1 + .../bindings/net/starfive,jh7110-dwmac.yaml | 82 +++++++++++++------ 2 files changed, 58 insertions(+), 25 deletions(-) diff --git a/Documentation/devicetree/bindings/net/snps,dwmac.yaml b/Documentation/devicetree/bindings/net/snps,dwmac.yaml index 6b0341a8e0ea..a6d596b7dcf4 100644 --- a/Documentation/devicetree/bindings/net/snps,dwmac.yaml +++ b/Documentation/devicetree/bindings/net/snps,dwmac.yaml @@ -97,6 +97,7 @@ properties: - snps,dwxgmac-2.10 - starfive,jh7100-dwmac - starfive,jh7110-dwmac + - starfive,jh8100-dwmac reg: minItems: 1 diff --git a/Documentation/devicetree/bindings/net/starfive,jh7110-dwmac.yaml b/Documentation/devicetree/bindings/net/starfive,jh7110-dwmac.yaml index 0d1962980f57..da3cc984fec9 100644 --- a/Documentation/devicetree/bindings/net/starfive,jh7110-dwmac.yaml +++ b/Documentation/devicetree/bindings/net/starfive,jh7110-dwmac.yaml @@ -18,6 +18,7 @@ select: enum: - starfive,jh7100-dwmac - starfive,jh7110-dwmac + - starfive,jh8100-dwmac required: - compatible @@ -30,6 +31,10 @@ properties: - items: - const: starfive,jh7110-dwmac - const: snps,dwmac-5.20 + - items: + - const: starfive,jh8100-dwmac + - const: starfive,jh7110-dwmac + - const: snps,dwmac-5.20 reg: maxItems: 1 @@ -83,29 +88,13 @@ allOf: - if: properties: compatible: - contains: - const: starfive,jh7100-dwmac - then: - properties: - interrupts: - minItems: 2 - maxItems: 2 - - interrupt-names: - minItems: 2 - maxItems: 2 - - resets: - maxItems: 1 - - reset-names: - const: ahb - - - if: - properties: - compatible: - contains: - const: starfive,jh7110-dwmac + allOf: + - contains: + enum: + - starfive,jh8100-dwmac + - contains: + enum: + - starfive,jh7110-dwmac then: properties: interrupts: @@ -117,10 +106,53 @@ allOf: maxItems: 3 resets: - minItems: 2 + maxItems: 1 reset-names: - minItems: 2 + const: stmmaceth + + else: + if: + properties: + compatible: + contains: + const: starfive,jh7100-dwmac + then: + properties: + interrupts: + minItems: 2 + maxItems: 2 + + interrupt-names: + minItems: 2 + maxItems: 2 + + resets: + maxItems: 1 + + reset-names: + const: ahb + + if: + properties: + compatible: + contains: + const: starfive,jh7110-dwmac + then: + properties: + interrupts: + minItems: 3 + maxItems: 3 + + interrupt-names: + minItems: 3 + maxItems: 3 + + resets: + minItems: 2 + + reset-names: + minItems: 2 unevaluatedProperties: false -- 2.25.1