Re: [PATCH v3 2/9] dt-bindings: net: starfive,jh7110-dwmac: Add JH7100 SoC compatible

Conor Dooley
2023-12-17T21:10:20Z

[-- Attachment #1.1: Type: text/plain, Size: 2676 bytes --]

On Fri, Dec 15, 2023 at 11:03:24PM +0200, Cristian Ciocaltea wrote:
> On 12/15/23 22:59, Samuel Holland wrote:
> > On 2023-12-15 2:47 PM, Jessica Clarke wrote:
> >> On 15 Dec 2023, at 20:40, Cristian Ciocaltea <cristian.ciocaltea@collabora.com> wrote:
> >>>
> >>> 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.
> >>>
> >>> Signed-off-by: Cristian Ciocaltea <cristian.ciocaltea@collabora.com>
> >>> ---
> >>> .../devicetree/bindings/net/snps,dwmac.yaml | 3 +-
> >>> .../bindings/net/starfive,jh7110-dwmac.yaml | 74 +++++++++++++------
> >>> 2 files changed, 55 insertions(+), 22 deletions(-)
> >>>
> >>> diff --git a/Documentation/devicetree/bindings/net/snps,dwmac.yaml b/Documentation/devicetree/bindings/net/snps,dwmac.yaml
> >>> index 5c2769dc689a..c1380ff1c054 100644
> >>> --- a/Documentation/devicetree/bindings/net/snps,dwmac.yaml
> >>> +++ b/Documentation/devicetree/bindings/net/snps,dwmac.yaml
> >>> @@ -95,6 +95,7 @@ properties:
> >>> - snps,dwmac-5.20
> >>> - snps,dwxgmac
> >>> - snps,dwxgmac-2.10
> >>> + - starfive,jh7100-dwmac
> >>> - starfive,jh7110-dwmac
> >>>
> >>> reg:
> >>> @@ -146,7 +147,7 @@ properties:
> >>> reset-names:
> >>> minItems: 1
> >>> items:
> >>> - - const: stmmaceth
> >>> + - enum: [stmmaceth, ahb]
> >>> - const: ahb
> >>
> >> I’m not so well-versed in the YAML bindings, but would this not allow
> >> reset-names = "ahb", "ahb"?
> >
> > Yes, it would. You need something like:
> >
> > reset-names:
> > oneOf:
> > - enum: [stmmaceth, ahb]
> > - items:
> > - const: stmmaceth
> > - const: ahb
>
> Oh yes, I always forget about the "oneOf" thing. Thanks!

Won't this also relax the naming for all devices that allow a single
reset, but expect the stmmaceth one? I'm not sure that that actually
matters, I think the consumer bindings have constraints themselves.

[-- Attachment #1.2: signature.asc --]
[-- Type: application/pgp-signature, Size: 228 bytes --]

[-- Attachment #2: Type: text/plain, Size: 176 bytes --]