[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <fa4b9c1d-6033-4b35-b03c-e03419edb5dc@collabora.com>
Date: Mon, 18 Dec 2023 14:02:06 +0200
From: Cristian Ciocaltea <cristian.ciocaltea@...labora.com>
To: Conor Dooley <conor@...nel.org>
Cc: Samuel Holland <samuel.holland@...ive.com>,
Jessica Clarke <jrtc27@...c27.com>, "David S. Miller" <davem@...emloft.net>,
Eric Dumazet <edumazet@...gle.com>, Jakub Kicinski <kuba@...nel.org>,
Paolo Abeni <pabeni@...hat.com>, Rob Herring <robh+dt@...nel.org>,
Krzysztof Kozlowski <krzysztof.kozlowski+dt@...aro.org>,
Conor Dooley <conor+dt@...nel.org>, Emil Renner Berthing <kernel@...il.dk>,
Samin Guo <samin.guo@...rfivetech.com>,
Paul Walmsley <paul.walmsley@...ive.com>, Palmer Dabbelt
<palmer@...belt.com>, Albert Ou <aou@...s.berkeley.edu>,
Hal Feng <hal.feng@...rfivetech.com>,
Michael Turquette <mturquette@...libre.com>, Stephen Boyd
<sboyd@...nel.org>, Alexandre Torgue <alexandre.torgue@...s.st.com>,
Jose Abreu <joabreu@...opsys.com>,
Maxime Coquelin <mcoquelin.stm32@...il.com>,
Richard Cochran <richardcochran@...il.com>,
Giuseppe Cavallaro <peppe.cavallaro@...com>, netdev@...r.kernel.org,
"open list:OPEN FIRMWARE AND FLATTENED DEVICE TREE BINDINGS"
<devicetree@...r.kernel.org>, LKML <linux-kernel@...r.kernel.org>,
linux-riscv <linux-riscv@...ts.infradead.org>, linux-clk@...r.kernel.org,
linux-stm32@...md-mailman.stormreply.com,
linux-arm-kernel@...ts.infradead.org, kernel@...labora.com
Subject: Re: [PATCH v3 2/9] dt-bindings: net: starfive,jh7110-dwmac: Add
JH7100 SoC compatible
On 12/17/23 23:09, Conor Dooley wrote:
> 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@...labora.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@...labora.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.
Before commit 843f603762a5 ("dt-bindings: net: snps,dwmac: Add 'ahb'
reset/reset-name"), the 'stmmaceth' was the only possible option, hence
there was no need for any constraints on the consumer bindings. But
afterwards it was allowed to use both resets, hence I think the bindings
should have been updated at that time by adding 'maxItems: 1' to prevent
using the 2nd reset.
I could fix this in a separate series, if it's not something mandatory
to be handled here.
Thanks for reviewing,
Cristian
Powered by blists - more mailing lists