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

Alexander Stein
2023-08-10T14:45:08Z

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 --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:
--
2.34.1