@@ -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:
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(+)