Skip to content

U-Boot i.MX8M: Host tool to reduce usage of space for RAM settings

For i.MX8M SoCs we need different RAM settings for different boards and for different RAM-configurations on the same board. Each single set of RAM settings requires ~14KB, which is quite large considering that U-Boot SPL must fit in an SRAM area of ~150KB, and in fact with just 4 sets of RAM-settings U-Boot SPL won't compile anymore, due to lack of space.

We therefore decided to take a similar aproach SECO Italy is using:

  • include only one single set of complete RAM settings as "base"
  • create a single "patch" function for each board/RAM-configuration combination to patch the "base" settings accordingly

As generating and maintaining such patch functions by hand is extremely tedious and very error-prone, we want to support this with tools integrated into the U-Boot build-process, which will generate such patches automatically, given complete sets of RAM settings.

For debugging purposes we also want to:

  • generate complete RAM settings for each base+patch combination (so we can compare the result to the RAM settings generated by NXP's tools)
  • output the RAM settings actually used from U-Boot SPL to verify that correct settings are actually in use.

BCS US: 746-001343

Merge request reports