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

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 




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@xxxxxxxxxxx>
---
  .../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@40027000: st,syscon:0: [4294967295] is too short

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

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

So it is seems good :-)






[Index of Archives]     [Device Tree Compilter]     [Device Tree Spec]     [Linux Driver Backports]     [Video for Linux]     [Linux USB Devel]     [Linux PCI Devel]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [XFree86]     [Yosemite Backpacking]


  Powered by Linux