[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <25fce6e7-604e-6c07-3ff1-b65a5115a491@starfivetech.com>
Date: Tue, 27 Dec 2022 15:48:18 +0800
From: yanhong wang <yanhong.wang@...rfivetech.com>
To: Krzysztof Kozlowski <krzysztof.kozlowski@...aro.org>,
<linux-riscv@...ts.infradead.org>, <netdev@...r.kernel.org>,
<devicetree@...r.kernel.org>, <linux-kernel@...r.kernel.org>
CC: "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>,
Emil Renner Berthing <kernel@...il.dk>,
Richard Cochran <richardcochran@...il.com>,
Andrew Lunn <andrew@...n.ch>,
Heiner Kallweit <hkallweit1@...il.com>,
Peter Geis <pgwipeout@...il.com>
Subject: Re: [PATCH v2 2/9] dt-bindings: net: snps,dwmac: Update the maxitems
number of resets and reset-names
On 2022/12/20 17:21, Krzysztof Kozlowski wrote:
> On 20/12/2022 07:48, yanhong wang wrote:
>
>>>> diff --git a/Documentation/devicetree/bindings/net/snps,dwmac.yaml b/Documentation/devicetree/bindings/net/snps,dwmac.yaml
>>>> index e26c3e76ebb7..7870228b4cd3 100644
>>>> --- a/Documentation/devicetree/bindings/net/snps,dwmac.yaml
>>>> +++ b/Documentation/devicetree/bindings/net/snps,dwmac.yaml
>>>> @@ -133,12 +133,19 @@ properties:
>>>> - ptp_ref
>>>>
>>>> resets:
>>>> - maxItems: 1
>>>> - description:
>>>> - MAC Reset signal.
>>>> + minItems: 1
>>>> + maxItems: 3
>>>> + additionalItems: true
>>>> + items:
>>>> + - description: MAC Reset signal
>>>>
>>>> reset-names:
>>>> - const: stmmaceth
>>>> + minItems: 1
>>>> + maxItems: 3
>>>> + additionalItems: true
>>>> + contains:
>>>> + enum:
>>>> + - stmmaceth
>>>
>>> No, this is highly unspecific and you know affect all the schemas using
>>> snps,dwmac.yaml. Both lists must be specific - for your device and for
>>> others.
>>>
>>
>> I have tried to define the resets in "starfive,jh71x0-dwmac.yaml", but it can not over-write the maxItems limit in "snps,dwmac.yaml",therefore, it will report error "reset-names: ['stmmaceth', 'ahb'] is too long" running "make dt_binding_check". Do you have any suggestions to deal with this situation?
>
> The solution is not to affect all schemas with allowing anything as reset.
>
> If you need more items for your case, you can change snps,dwmac.yaml and
> add constraints in allOf:if:then: allowing it only for your compatible.
> There are plenty of examples how this is done, e.g.:
>
> https://elixir.bootlin.com/linux/v5.19-rc6/source/Documentation/devicetree/bindings/clock/samsung,exynos7-clock.yaml#L57
>
Thanks. Refer to the definition in the example and update the definition as follows:
snps,dwmac.yaml[Partial Content]:
properties:
resets:
maxItems: 1
description:
MAC Reset signal.
reset-names:
const: stmmaceth
allOf:
- if:
properties:
compatible:
contains:
const: starfive,jh7110-dwmac
then:
properties:
resets:
minItems: 2
maxItems: 2
reset-names:
items:
- const: stmmaceth
- const: ahb
required:
- resets
- reset-names
starfive,jh7110-dwmac.yaml[Partial Content]:
properties:
resets:
items:
- description: MAC Reset signal.
- description: AHB Reset signal.
reset-names:
items:
- const: stmmaceth
- const: ahb
allOf:
- $ref: snps,dwmac.yaml#
It will also report error "reset-names: ['stmmaceth', 'ahb'] is too long" running "make dt_binding_check" with 'starfive,jh7110-dwmac.yaml'. Do you have any better suggestions to solve this problem?
>>
>>> Best regards,
>>> Krzysztof
>>>
>
> Best regards,
> Krzysztof
>
Powered by blists - more mailing lists