How to regenerate lpddr4_timing.c when porting from U-Boot 2023.04 to 2025.04 (i.MX8MQ)

sudarsan n sudarsansamy2002 at gmail.com
Tue Nov 4 08:16:27 CET 2025


Hi all,

I’m currently working on *migrating U-Boot from version 2023.04 to 2025.04*
for the *NXP i.MX8MQ* platform, and I’ve run into issues related to the
*lpddr4_timing.c* file.

In the older U-Boot (2023.04) BSP, this file was available under the board
directory (e.g. board/freescale/imx8mq_evk/lpddr4_timing.c) and contained
all DDR initialization parameters and timing configurations.

However, in the *2025.04* version, I see:

   -

   The structure of the DDR init code has changed.
   -

   Several *APIs are deprecated* and *macros have been updated/renamed*.
   -

   The newer timing files contain more *hexadecimal configuration data
   blocks*, and references to new DDR PHY macros and structs.

I would like to confirm:

   1.

   *What is the current recommended method to generate lpddr4_timing.c* for
   i.MX8MQ in the newer U-Boot (2025.04)?
   2.

   Should I use *NXP’s DDR Tool (e.g. DDR Tool from the BSP / i.MX8 DDR
   calibration package)* to regenerate it?
   3.

   Is there any *migration guide or documentation* for converting the old
   lpddr4_timing.c format to the new structure (used in U-Boot 2025.x)?
   4.

   Are there any examples in the latest *imx-mkimage* or *NXP U-Boot branch*
   that show the updated timing file format for i.MX8MQ?

Any reference to the proper tool version, documentation, or example source
would be very helpful.

Thanks in advance,

*Sudarsan*


More information about the U-Boot mailing list