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

Cristian Ciocaltea
2023-12-15T21:03:56Z

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!

> Regards,
> Samuel