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@xxxxxxxxxxxxx> 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@xxxxxxxxxxxxx> >>>>> --- >>>>> .../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