Thread (15 messages) 15 messages, 7 authors, 2021-06-29

Re: [EXT] Re: [PATCH v4 1/4] dt-bindings: soc: imx8m: add DT Binding doc for soc unique ID

From: Krzysztof Kozlowski <krzk@kernel.org>
Date: 2020-11-23 09:05:04
Also in: linux-devicetree, lkml

On Mon, Nov 23, 2020 at 04:45:13AM +0000, Alice Guo wrote:
quoted
-----Original Message-----
From: Krzysztof Kozlowski <krzk@kernel.org>
Sent: 2020年11月20日 18:51
To: Alice Guo <redacted>
Cc: robh+dt@kernel.org; shawnguo@kernel.org; s.hauer@pengutronix.de;
dl-linux-imx [off-list ref]; Peng Fan [off-list ref];
devicetree@vger.kernel.org; linux-kernel@vger.kernel.org;
linux-arm-kernel@lists.infradead.org
Subject: [EXT] Re: [PATCH v4 1/4] dt-bindings: soc: imx8m: add DT Binding doc
for soc unique ID

Caution: EXT Email

On Fri, Nov 20, 2020 at 06:11:09PM +0800, Alice Guo wrote:
quoted
Add DT Binding doc for the Unique ID of i.MX 8M series.

v2: remove the subject prefix "LF-2571-1"
v3: put it into Documentation/devicetree/bindings/arm/fsl.yaml
    modify the description of nvmem-cells
    use "make ARCH=arm64 dtbs_check" to test it and fix errors
v4: use allOf to limit new version DTS files for i.MX8M to include
    "fsl,imx8mm/n/p/q-soc", nvmem-cells and nvmem-cells-names

Signed-off-by: Alice Guo <redacted>
---
 .../devicetree/bindings/arm/fsl.yaml          | 51
+++++++++++++++++++
quoted
 1 file changed, 51 insertions(+)
diff --git a/Documentation/devicetree/bindings/arm/fsl.yaml
b/Documentation/devicetree/bindings/arm/fsl.yaml
index 67980dcef66d..d8048323a290 100644
--- a/Documentation/devicetree/bindings/arm/fsl.yaml
+++ b/Documentation/devicetree/bindings/arm/fsl.yaml
@@ -918,6 +918,57 @@ properties:
               - fsl,s32v234-evb           # S32V234-EVB2 Customer
Evaluation Board
quoted
           - const: fsl,s32v234

+  soc:
+    type: object
+    properties:
+      compatible:
+        oneOf:
+          - description: new version compatible for i.MX8M SoCs
+            items:
+              - enum:
+                  - fsl,imx8mm-soc
+                  - fsl,imx8mn-soc
+                  - fsl,imx8mp-soc
+                  - fsl,imx8mq-soc
+              - const: simple-bus
+
+          - description: old version compatible for i.MX8M SoCs
+            items:
+              - const: simple-bus
+
+      nvmem-cells:
+        maxItems: 1
+        description: Phandle to the SOC Unique ID provided by a nvmem
+ node
+
+      nvmem-cells-names:
+        const: soc_unique_id
+
+    allOf:
Nothing changed here comparing to previous version. Still does not work.

The allOf should not be part of soc node because the "if" below won't match.
Instead, it should be against root node.

Best regards,
Krzysztof
I'm sorry to disturb you. I don't very clear about the grammar rules of yaml, so don't know how to make allOf be part of root node.
If allof is part of root node, how does it specify the soc node? The following is my change which is definitely wrong.
  soc:
    properties:
      compatible:
        - description: new version compatible for i.MX8M SoCs
          items:
            - enum:
                - fsl,imx8mm-soc
                - fsl,imx8mn-soc
                - fsl,imx8mp-soc
                - fsl,imx8mq-soc
            - const: simple-bus

      nvmem-cells:
        maxItems: 1
        description: Phandle to the SOC Unique ID provided by a nvmem node

      nvmem-cells-names:
        const: soc_unique_id

allOf:
  - if:
      properties:
        compatible:
          contains:
            enum:
              - fsl,imx8mm
              - fsl,imx8mn
              - fsl,imx8mp
              - fsl,imx8mq

      then:
        required:
          - soc

Please give me suggestion. Thank you.
This should work:

940 allOf:
941   - if:
942       properties:
943         compatible:
944           contains:
945             enum:
946               - fsl,imx8mm
947               - fsl,imx8mn
948               - fsl,imx8mp
949               - fsl,imx8mq
950 
951     then:
952       patternProperties:
953         "^soc@[0-9a-f]+$":
954           properties:
955             compatible:
956               items:
957                 - enum:
958                     - fsl,imx8mm-soc
959                     - fsl,imx8mn-soc
960                     - fsl,imx8mp-soc
961                     - fsl,imx8mq-soc
962                 - const: simple-bus
963 
964           required:
965             - nvmem-cells
966             - nvmem-cells-names

And probablt "soc" should also be added to required, just below the
"then:".

You need to test it and find the proper solution.

Best regards,
Krzysztof



_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help