[PATCH v3 2/7] dt-bindings: net: snps,dwmac: Update the maxitems number of resets and reset-names

yanhong wang yanhong.wang at starfivetech.com
Tue Jan 17 00:14:50 PST 2023



On 2023/1/17 15:46, Krzysztof Kozlowski wrote:
> On 17/01/2023 07:52, yanhong wang wrote:
>> 
>> 
>> On 2023/1/6 20:44, Krzysztof Kozlowski wrote:
>>> On 06/01/2023 03:59, Yanhong Wang wrote:
>>>> Some boards(such as StarFive VisionFive v2) require more than one value
>>>> which defined by resets property, so the original definition can not
>>>> meet the requirements. In order to adapt to different requirements,
>>>> adjust the maxitems number definition.
>>>>
>>>> Signed-off-by: Yanhong Wang <yanhong.wang at starfivetech.com>
>>>> ---
>>>>  .../devicetree/bindings/net/snps,dwmac.yaml   | 36 ++++++++++++++-----
>>>>  1 file changed, 28 insertions(+), 8 deletions(-)
>>>>
>>>> diff --git a/Documentation/devicetree/bindings/net/snps,dwmac.yaml b/Documentation/devicetree/bindings/net/snps,dwmac.yaml
>>>> index e26c3e76ebb7..f7693e8c8d6d 100644
>>>> --- a/Documentation/devicetree/bindings/net/snps,dwmac.yaml
>>>> +++ b/Documentation/devicetree/bindings/net/snps,dwmac.yaml
>>>> @@ -132,14 +132,6 @@ properties:
>>>>          - pclk
>>>>          - ptp_ref
>>>>  
>>>> -  resets:
>>>> -    maxItems: 1
>>>> -    description:
>>>> -      MAC Reset signal.
>>>> -
>>>> -  reset-names:
>>>> -    const: stmmaceth
>>>> -
>>>>    power-domains:
>>>>      maxItems: 1
>>>>  
>>>> @@ -463,6 +455,34 @@ allOf:
>>>>              Enables the TSO feature otherwise it will be managed by
>>>>              MAC HW capability register.
>>>>  
>>>> +  - if:
>>>> +      properties:
>>>> +        compatible:
>>>> +          contains:
>>>> +            const: starfive,jh7110-dwmac
>>>> +
>>>
>>> Looking at your next binding patch, this seems a bit clearer. First of
>>> all, this patch on itself has little sense. It's not usable on its own,
>>> because you need the next one.
>>>
>>> Probably the snps,dwmac should be just split into common parts used by
>>> devices. It makes code much less readable and unnecessary complicated to
>>> support in one schema both devices and re-usability.
>>>
>>> Otherwise I propose to make the resets/reset-names just like clocks are
>>> made: define here wide constraints and update all other users of this
>>> binding to explicitly restrict resets.
>>>
>>>
>> 
>> Thanks, refer to the definition of clocks. If it is defined as follows, is it OK?
>> 
>> properties:
>>   resets:
>>     minItems: 1
>>     maxItems: 3
>>     additionalItems: true
> 
> Drop
> 
>>     items:
>>       - description: MAC Reset signal.
> 
> Drop both
> 
>> 
>>   reset-names:
>>     minItems: 1
>>     maxItems: 3
>>     additionalItems: true
> 
> Drop
> 
>>     contains:
>>       enum:
>>         - stmmaceth
> 
> Drop all
> 
>> 
>> 
>> 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  
>>     else:
>>       properties:
>>         resets:
>>           maxItems: 1
>>           description:
>>             MAC Reset signal.
>> 
>>         reset-names:
>>           const: stmmaceth
>> 
>> Do you have any other better suggestions?
> 
> More or less like this but the allOf should not be in snps,dwmac schema
> but in individual schemas. The snps,dwmac is growing unmaintainable...
> 

Thanks, it is defined as follows, is it right?

properties:
  resets:
    minItems: 1
    maxItems: 3
    additionalItems: true

  reset-names:
    minItems: 1
    maxItems: 3
    additionalItems: true


> Best regards,
> Krzysztof
> 



More information about the linux-riscv mailing list