Re: [PATCH 0/6] arm64: dts: freescale: imx8mp-skov: switch to nominal drive mode

Ahmad Fatoum
2024-12-20T06:21:51Z

Hello Peng,

On 20.12.24 07:16, Peng Fan wrote:
> On Thu, Dec 19, 2024 at 08:27:31AM +0100, Ahmad Fatoum wrote:
>> Unlike the i.MX8MM and i.MX8MN SoCs added earlier, the imx8mp.dtsi
>> configures some clocks at frequencies that are only validated for
>> overdrive mode, i.e., when VDD_SOC is 950 mV.
>>
>> For the Skov i.MX8MP board, we want to run the SoC at the lower voltage of
>> 850 mV though to reduce heat generation and power usage. For this to work,
>> clock rates need to adhere to the limits of the nominal drive mode.
>>
>> This is done by this series: A new imx8mp-nominal.dtsi reconfigures
>> the imx8mp.dtsi clock tree to be compatible with nominal mode, an adaptation
>> to the Linux clock driver makes it sanity check the actual clock rates against
>> the SoC operating mode's constraints and finally the Skov DT makes use
>> of it.
>>
>> Actual configuration of the VDD_SOC rail continues to happen prior to Linux
>> as well as PLL configuration that needs to happen earlier than the kernel
>> running. See the corresponding barebox patch series[1] for details.
>> Note that the barebox series didn't yet include VDD_SOC reconfiguration
>> to 850mV, that would follow once the kernel changes have been merged.
>
> Good to see this. I had same plan to support i.MX9.
>
> I see you introduce a new property, how about using a boot pararmeter,
> saying "mode=nominal" or "mode=overdrive". Then drivers could
> act accordingly.

I assume you would place that parameter in drivers/soc/imx/soc-imx8m.c?

That's certainly possible as well, but I think for such a hardware property,
the device tree is the natural place.

Thanks,
Ahmad

>
> Regards,
> Peng
>
>>
>> [1]: https://lore.kernel.org/barebox/20240503103717.1370636-1-a.fatoum@pengutronix.de/
>>
>> ---
>> Ahmad Fatoum (6):
>> dt-bindings: clock: imx8m: document nominal/overdrive properties
>> arm64: dts: imx8mp: Add optional nominal drive mode DTSI
>> arm64: dts: imx8mp: add fsl,nominal-mode property into nominal.dtsi
>> arm64: dts: freescale: imx8mp-skov: fix LDB clock rate configuration
>> arm64: dts: freescale: imx8mp-skov: operate SoC in nominal mode
>> clk: imx8mp: inform CCF of maximum frequency of clocks
>>
>> .../devicetree/bindings/clock/imx8m-clock.yaml | 14 ++
>> arch/arm64/boot/dts/freescale/imx8mp-nominal.dtsi | 64 +++++++++
>> .../arm64/boot/dts/freescale/imx8mp-skov-reva.dtsi | 5 +-
>> .../freescale/imx8mp-skov-revb-mi1010ait-1cp1.dts | 19 +--
>> drivers/clk/imx/clk-imx8mp.c | 147 +++++++++++++++++++++
>> 5 files changed, 233 insertions(+), 16 deletions(-)
>> ---
>> base-commit: 78d4f34e2115b517bcbfe7ec0d018bbbb6f9b0b8
>> change-id: 20241217-imx8m-clk-9467763dfcd8
>>
>> Best regards,
>> --
>> Ahmad Fatoum <a.fatoum@pengutronix.de>
>>
>

--
Pengutronix e.K. | |
Steuerwalder Str. 21 | http://www.pengutronix.de/ |
31137 Hildesheim, Germany | Phone: +49-5121-206917-0 |
Amtsgericht Hildesheim, HRA 2686 | Fax: +49-5121-206917-5555 |