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@xxxxxxxxxxxxxxx> --- 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