[PATCH 1/6] dt-bindings: clock: imx8m: document nominal/overdrive properties

Ahmad Fatoum
2024-12-19T07:28:03Z

The imx8m-clock.yaml binding covers the clock controller inside all
of the i.MX8M Q/M/N/P SoCs. All of them have in common that they
support two operating modes: nominal and overdrive mode.

While the overdrive mode allows for higher frequencies for many IPs,
the nominal mode needs a lower SoC voltage, thereby reducing
heat generation and power usage.

In any case, software should respect the maximum clock rate limits
described in the datasheet for each of the two operating modes.

To allow device tree consumers to enforce these limits, document two new
optional properties that can be used to sanity check the clock tree.

Signed-off-by: Ahmad Fatoum <a.fatoum@pengutronix.de>
---
Documentation/devicetree/bindings/clock/imx8m-clock.yaml | 14 ++++++++++++++
1 file changed, 14 insertions(+)

diff --git a/Documentation/devicetree/bindings/clock/imx8m-clock.yaml b/Documentation/devicetree/bindings/clock/imx8m-clock.yaml
index c643d4a81478..a6ae5257ef53 100644
--- a/Documentation/devicetree/bindings/clock/imx8m-clock.yaml
+++ b/Documentation/devicetree/bindings/clock/imx8m-clock.yaml
@@ -43,6 +43,14 @@ properties:
ID in its "clocks" phandle cell. See include/dt-bindings/clock/imx8m-clock.h
for the full list of i.MX8M clock IDs.

+ fsl,nominal-mode:
+ description: Set if SoC is operated in nominal mode
+ $ref: /schemas/types.yaml#/definitions/flag
+
+ fsl,overdrive-mode:
+ description: Set if SoC is operated in overdrive mode
+ $ref: /schemas/types.yaml#/definitions/flag
+
required:
- compatible
- reg
@@ -95,6 +103,12 @@ allOf:
- const: clk_ext2
- const: clk_ext3
- const: clk_ext4
+ - if:
+ required:
+ - fsl,overdrive-mode
+ then:
+ properties:
+ fsl,nominal-mode: false

additionalProperties: false

--
2.39.5