Skip to content

Commit

Permalink
dt-bindings: net: starfive,jh7110-dwmac: Add JH7100 SoC compatible
Browse files Browse the repository at this point in the history
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: Cristian Ciocaltea <cristian.ciocaltea@collabora.com>
Reviewed-by: Jacob Keller <jacob.e.keller@intel.com>
Reviewed-by: Rob Herring <robh@kernel.org>
Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
  • Loading branch information
Cristian Ciocaltea authored and David S. Miller committed Jan 31, 2024
1 parent ccf1445 commit 53e41b7
Show file tree
Hide file tree
Showing 2 changed files with 57 additions and 26 deletions.
11 changes: 7 additions & 4 deletions Documentation/devicetree/bindings/net/snps,dwmac.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -95,6 +95,7 @@ properties:
- snps,dwmac-5.20
- snps,dwxgmac
- snps,dwxgmac-2.10
- starfive,jh7100-dwmac
- starfive,jh7110-dwmac

reg:
Expand Down Expand Up @@ -144,10 +145,12 @@ properties:
- description: AHB reset

reset-names:
minItems: 1
items:
- const: stmmaceth
- const: ahb
oneOf:
- items:
- enum: [stmmaceth, ahb]
- items:
- const: stmmaceth
- const: ahb

power-domains:
maxItems: 1
Expand Down
72 changes: 50 additions & 22 deletions Documentation/devicetree/bindings/net/starfive,jh7110-dwmac.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -16,16 +16,20 @@ select:
compatible:
contains:
enum:
- starfive,jh7100-dwmac
- starfive,jh7110-dwmac
required:
- compatible

properties:
compatible:
items:
- enum:
- starfive,jh7110-dwmac
- const: snps,dwmac-5.20
oneOf:
- items:
- const: starfive,jh7100-dwmac
- const: snps,dwmac
- items:
- const: starfive,jh7110-dwmac
- const: snps,dwmac-5.20

reg:
maxItems: 1
Expand All @@ -46,24 +50,6 @@ properties:
- const: tx
- 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:
description:
Tx clock is provided by external rgmii clock.
Expand Down Expand Up @@ -94,6 +80,48 @@ required:
allOf:
- $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

examples:
Expand Down

0 comments on commit 53e41b7

Please sign in to comment.