diff mbox series

[6/6] dt-bindings: timer: fsl,imxgpt: Add optional osc_per clock

Message ID 20230810144451.1459985-7-alexander.stein@ew.tq-group.com (mailing list archive)
State Handled Elsewhere, archived
Headers show
Series imx6q related DT binding fixes | expand

Commit Message

Alexander Stein Aug. 10, 2023, 2:44 p.m. UTC
Since commit bad3db104f89 ("ARM: imx: source gpt per clk from OSC for
system timer") osc_per can be used for clocking the GPT which is not
scaled when entering low bus mode.
This clock source is available only on i.MX6Q (incl. i.MX6QP) and i.MX6DL.

Signed-off-by: Alexander Stein <alexander.stein@ew.tq-group.com>
---

Notes:
    osc_per is only used in arch/arm/boot/dts/nxp/imx/imx6qdl.dtsi, so I assume
    this is the only platform supporting this source.
    
    I had to use minItem:2 and maxItems:3 in the constraints as fsl,imx6sx-gpt
    and fsl,imx6sl-gpt are also compatible to fsl,imx6dl-gpt, but only provide
    two clocks. Maybe this the compatible list needs some cleanup, but I do
    not know which hardware is compatible to what. The driver
    drivers/clocksource/timer-imx-gpt.c also gives no clues because it's totally
    mixed.

 .../devicetree/bindings/timer/fsl,imxgpt.yaml | 27 +++++++++++++++++++
 1 file changed, 27 insertions(+)
diff mbox series

Patch

diff --git a/Documentation/devicetree/bindings/timer/fsl,imxgpt.yaml b/Documentation/devicetree/bindings/timer/fsl,imxgpt.yaml
index c5d3be8c1d68..e2607377cbae 100644
--- a/Documentation/devicetree/bindings/timer/fsl,imxgpt.yaml
+++ b/Documentation/devicetree/bindings/timer/fsl,imxgpt.yaml
@@ -48,14 +48,18 @@  properties:
     maxItems: 1
 
   clocks:
+    minItems: 2
     items:
       - description: SoC GPT ipg clock
       - description: SoC GPT per clock
+      - description: SoC GPT osc per clock
 
   clock-names:
+    minItems: 2
     items:
       - const: ipg
       - const: per
+      - const: osc_per
 
 required:
   - compatible
@@ -64,6 +68,29 @@  required:
   - clocks
   - clock-names
 
+allOf:
+  - if:
+      properties:
+        compatible:
+          contains:
+            enum:
+              - fsl,imx6dl-gpt
+              - fsl,imx6q-gpt
+    then:
+      properties:
+        clocks:
+          minItems: 2
+          maxItems: 3
+        clock-names:
+          minItems: 2
+          maxItems: 3
+    else:
+      properties:
+        clocks:
+          maxItems: 2
+        clock-names:
+          maxItems: 2
+
 additionalProperties: false
 
 examples: