Commit 53e41b76 authored by Cristian Ciocaltea's avatar Cristian Ciocaltea Committed by David S. Miller

dt-bindings: net: starfive,jh7110-dwmac: Add JH7100 SoC compatible

The Synopsys DesignWare MAC found on StarFive JH7100 SoC is mostly
similar to the newer JH7110, but it requires only two interrupts and a
single reset line, which is 'ahb' instead of the commonly used
'stmmaceth'.

Since the common binding 'snps,dwmac' allows selecting 'ahb' only in
conjunction with 'stmmaceth', extend the logic to also permit exclusive
usage of the 'ahb' reset name.  This ensures the following use cases are
supported:

  JH7110: reset-names = "stmmaceth", "ahb";
  JH7100: reset-names = "ahb";
  other:  reset-names = "stmmaceth";

Also note the need to use a different dwmac fallback, as v5.20 applies
to JH7110 only, while JH7100 relies on v3.7x.

Additionally, drop the reset description items from top-level binding as
they are already provided by the included snps,dwmac schema.
Signed-off-by: default avatarCristian Ciocaltea <cristian.ciocaltea@collabora.com>
Reviewed-by: default avatarJacob Keller <jacob.e.keller@intel.com>
Reviewed-by: default avatarRob Herring <robh@kernel.org>
Reviewed-by: default avatarKrzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent ccf14452
...@@ -95,6 +95,7 @@ properties: ...@@ -95,6 +95,7 @@ properties:
- snps,dwmac-5.20 - snps,dwmac-5.20
- snps,dwxgmac - snps,dwxgmac
- snps,dwxgmac-2.10 - snps,dwxgmac-2.10
- starfive,jh7100-dwmac
- starfive,jh7110-dwmac - starfive,jh7110-dwmac
reg: reg:
...@@ -144,10 +145,12 @@ properties: ...@@ -144,10 +145,12 @@ properties:
- description: AHB reset - description: AHB reset
reset-names: reset-names:
minItems: 1 oneOf:
items: - items:
- const: stmmaceth - enum: [stmmaceth, ahb]
- const: ahb - items:
- const: stmmaceth
- const: ahb
power-domains: power-domains:
maxItems: 1 maxItems: 1
......
...@@ -16,16 +16,20 @@ select: ...@@ -16,16 +16,20 @@ select:
compatible: compatible:
contains: contains:
enum: enum:
- starfive,jh7100-dwmac
- starfive,jh7110-dwmac - starfive,jh7110-dwmac
required: required:
- compatible - compatible
properties: properties:
compatible: compatible:
items: oneOf:
- enum: - items:
- starfive,jh7110-dwmac - const: starfive,jh7100-dwmac
- const: snps,dwmac-5.20 - const: snps,dwmac
- items:
- const: starfive,jh7110-dwmac
- const: snps,dwmac-5.20
reg: reg:
maxItems: 1 maxItems: 1
...@@ -46,24 +50,6 @@ properties: ...@@ -46,24 +50,6 @@ properties:
- const: tx - const: tx
- const: gtx - const: gtx
interrupts:
minItems: 3
maxItems: 3
interrupt-names:
minItems: 3
maxItems: 3
resets:
items:
- description: MAC Reset signal.
- description: AHB Reset signal.
reset-names:
items:
- const: stmmaceth
- const: ahb
starfive,tx-use-rgmii-clk: starfive,tx-use-rgmii-clk:
description: description:
Tx clock is provided by external rgmii clock. Tx clock is provided by external rgmii clock.
...@@ -94,6 +80,48 @@ required: ...@@ -94,6 +80,48 @@ required:
allOf: allOf:
- $ref: snps,dwmac.yaml# - $ref: snps,dwmac.yaml#
- 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 unevaluatedProperties: false
examples: examples:
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment