[PATCH v4 01/11] dt-bindings: net: add STM32MP13 compatible in documentation for stm32

Christophe ROULLIER christophe.roullier at foss.st.com
Wed Jun 5 02:55:47 PDT 2024


On 6/5/24 10:14, Krzysztof Kozlowski wrote:
> On 04/06/2024 16:34, Christophe Roullier wrote:
>> New STM32 SOC have 2 GMACs instances.
>> GMAC IP version is SNPS 4.20.
>>
>> Signed-off-by: Christophe Roullier <christophe.roullier at foss.st.com>
>> ---
>>   .../devicetree/bindings/net/stm32-dwmac.yaml  | 41 +++++++++++++++----
>>   1 file changed, 34 insertions(+), 7 deletions(-)
>>
>> diff --git a/Documentation/devicetree/bindings/net/stm32-dwmac.yaml b/Documentation/devicetree/bindings/net/stm32-dwmac.yaml
>> index 7ccf75676b6d5..ecbed9a7aaf6d 100644
>> --- a/Documentation/devicetree/bindings/net/stm32-dwmac.yaml
>> +++ b/Documentation/devicetree/bindings/net/stm32-dwmac.yaml
>> @@ -22,18 +22,17 @@ select:
>>           enum:
>>             - st,stm32-dwmac
>>             - st,stm32mp1-dwmac
>> +          - st,stm32mp13-dwmac
>>     required:
>>       - compatible
>>   
>> -allOf:
>> -  - $ref: snps,dwmac.yaml#
>> -
>>   properties:
>>     compatible:
>>       oneOf:
>>         - items:
>>             - enum:
>>                 - st,stm32mp1-dwmac
>> +              - st,stm32mp13-dwmac
>>             - const: snps,dwmac-4.20a
>>         - items:
>>             - enum:
>> @@ -75,12 +74,15 @@ properties:
>>     st,syscon:
>>       $ref: /schemas/types.yaml#/definitions/phandle-array
>>       items:
>> -      - items:
>> +      - minItems: 2
>> +        items:
>>             - description: phandle to the syscon node which encompases the glue register
>>             - description: offset of the control register
>> +          - description: field to set mask in register
>>       description:
>>         Should be phandle/offset pair. The phandle to the syscon node which
>> -      encompases the glue register, and the offset of the control register
>> +      encompases the glue register, the offset of the control register and
>> +      the mask to set bitfield in control register
>>   
>>     st,ext-phyclk:
>>       description:
>> @@ -112,12 +114,37 @@ required:
>>   
>>   unevaluatedProperties: false
>>   
>> +allOf:
>> +  - $ref: snps,dwmac.yaml#
>> +  - if:
>> +      properties:
>> +        compatible:
>> +          contains:
>> +            enum:
>> +              - st,stm32mp1-dwmac
>> +              - st,stm32-dwmac
>> +    then:
>> +      properties:
>> +        st,syscon:
>> +          items:
>> +            maxItems: 2
>> +
>> +  - if:
>> +      properties:
>> +        compatible:
>> +          contains:
>> +            enum:
>> +              - st,stm32mp13-dwmac
>> +    then:
>> +      properties:
>> +        st,syscon:
>> +          items:
>> +            minItems: 3
> I don't think this works. You now constrain the first dimension which
> had only one item before.
>
> Make your example complete and test it.
>
> Best regards,
> Krzysztof

Hi Krzysztof,

"Official" bindings for MP15: st,syscon = <&syscfg 0x4>;
"Official" bindings for MP13: st,syscon = <&syscfg 0x4 0xff0000>; or 
st,syscon = <&syscfg 0x4 0xff000000>;

If I execute make dt_binding_check 
DT_SCHEMA_FILES=Documentation/devicetree/bindings/net/stm32-dwmac.yaml with:

    For MP15: st,syscon = <&syscfg>; 
=>bindings/net/stm32-dwmac.example.dtb: ethernet at 40027000: st,syscon:0: 
[4294967295] is too short

    For MP15: st,syscon = <&syscfg 0x4 0xff0000>; 
=>devicetree/bindings/net/stm32-dwmac.example.dtb: ethernet at 40027000: 
st,syscon:0: [4294967295, 4, 16711680] is too long

    For MP13: st,syscon = <&syscfg 0x4>; => 
devicetree/bindings/net/stm32-dwmac.example.dtb: ethernet at 5800a000: 
st,syscon:0: [4294967295, 4] is too short

    For MP13: st,syscon = <&syscfg 0x4 0xff0000 0xff>; => 
devicetree/bindings/net/stm32-dwmac.example.dtb: ethernet at 5800a000: 
st,syscon:0: [4294967295, 4, 16711680, 255] is too long

So it is seems good :-)

>



More information about the linux-arm-kernel mailing list