[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <Z3wHp6eLQuV9GGvh@lizhi-Precision-Tower-5810>
Date: Mon, 6 Jan 2025 11:41:11 -0500
From: Frank Li <Frank.li@....com>
To: Ahmad Fatoum <a.fatoum@...gutronix.de>
Cc: Abel Vesa <abelvesa@...nel.org>, Peng Fan <peng.fan@....com>,
Michael Turquette <mturquette@...libre.com>,
Stephen Boyd <sboyd@...nel.org>, Rob Herring <robh@...nel.org>,
Krzysztof Kozlowski <krzk+dt@...nel.org>,
Conor Dooley <conor+dt@...nel.org>, Shawn Guo <shawnguo@...nel.org>,
Sascha Hauer <s.hauer@...gutronix.de>,
Pengutronix Kernel Team <kernel@...gutronix.de>,
Fabio Estevam <festevam@...il.com>,
Abel Vesa <abel.vesa@...aro.org>, Marek Vasut <marex@...x.de>,
linux-clk@...r.kernel.org, imx@...ts.linux.dev,
devicetree@...r.kernel.org, linux-arm-kernel@...ts.infradead.org,
linux-kernel@...r.kernel.org,
Conor Dooley <conor.dooley@...rochip.com>
Subject: Re: [PATCH v2 1/6] dt-bindings: clock: imx8m: document
nominal/overdrive properties
On Mon, Jan 06, 2025 at 03:21:42PM +0100, Ahmad Fatoum wrote:
> 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.
>
> As increasing clock rates beyond the maximum permitted by the supplied
> SoC voltage can lead to difficult to debug issues, device tree consumers
> would benefit from knowing what mode is active to enforce the clock rate
> limits that come with it.
>
> To facilitate this, extend the clock controller bindings with two mutually
> exclusive optional properties. Allowing for absence of both properties is
> needed, because there is no default suitable for all boards:
>
> For i.MX8M Mini and Nano, the kernel SoC DTSIs has assigned-clock-rates
> that are all achievable in nominal mode. For i.MX8MP, there are some
> rates only validated for overdrive mode.
>
> But even for the i.MX8M Mini/Nano boards, we don't know what rates they
> may configure at runtime, so it has not been possible so far to infer from
> just the device tree what the mode is.
>
> Acked-by: Conor Dooley <conor.dooley@...rochip.com>
> Signed-off-by: Ahmad Fatoum <a.fatoum@...gutronix.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 c643d4a814786a1fc7e559140fe58911990f71bb..a6ae5257ef531f3fa8506d515d202f5b7842c4fa 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
> +
why need two flags? suppose "not set fsl,overdrive-mode" is equal to
fsl,nominal-mode
Frank
> 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
>
Powered by blists - more mailing lists