[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <Z4U4OElqJMeuF1tw@lizhi-Precision-Tower-5810>
Date: Mon, 13 Jan 2025 10:58:48 -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
Subject: Re: [PATCH v3 1/6] dt-bindings: clock: imx8m: document
nominal/overdrive properties
On Mon, Jan 13, 2025 at 02:42:51PM +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 an
> optional fsl,operating-mode property. This intentionally allows the
> absence of the property, 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.
>
> Signed-off-by: Ahmad Fatoum <a.fatoum@...gutronix.de>
> ---
> Documentation/devicetree/bindings/clock/imx8m-clock.yaml | 11 +++++++++++
> 1 file changed, 11 insertions(+)
>
> diff --git a/Documentation/devicetree/bindings/clock/imx8m-clock.yaml b/Documentation/devicetree/bindings/clock/imx8m-clock.yaml
> index c643d4a814786a1fc7e559140fe58911990f71bb..b03672255cae9462013a8a4e7a2adaff440f1420 100644
> --- a/Documentation/devicetree/bindings/clock/imx8m-clock.yaml
> +++ b/Documentation/devicetree/bindings/clock/imx8m-clock.yaml
> @@ -43,6 +43,16 @@ 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,operating-mode:
> + $ref: /schemas/types.yaml#/definitions/string
> + description:
> + The operating mode of the SoC. This affects the maximum clock rates that
> + can safely be configured by the clock controller.
> + oneOf:
> + - enum:
> + - nominal
> + - overdrive
I remember
fsl,operating-mode:
enum: [nominal, overdrive]
should work without oneOf
Frank
> +
> required:
> - compatible
> - reg
> @@ -109,6 +119,7 @@ examples:
> <&clk_ext3>, <&clk_ext4>;
> clock-names = "osc_32k", "osc_24m", "clk_ext1", "clk_ext2",
> "clk_ext3", "clk_ext4";
> + fsl,operating-mode = "nominal";
> };
>
> - |
>
> --
> 2.39.5
>
Powered by blists - more mailing lists