Carrier EEPROM Config block format

Hi,

as we’ve designed our custom carrier for Verdin (i.MX8M Plus), we’d also like to use the 24C02 EEPROM to store some configuration parameters for our board. Is it possible to have some details about Toradex Config Block format in carrier EEPROM so we can extended uboot-toradex in board recognition features? Rather than implementing a custom format for EEPROM content, we’d like to use/extend Toradex one.

Thanks,

Diego from CyNexo

Hi, I’m the Toradex AI Assistant.

I might make mistakes or occasionally get you wrong. Our support team will step in if needed.


Hi Diego,

Toradex Config Block Format

The Toradex Config Block is a structured data format that contains essential information used by the bootloader(1). Based on the available documentation, the config block is organized into sections that contain relevant information to control the boot process and basic system properties(1).

Config Block Sections

The config block entries are grouped into the following sections(1):

  • mac - Ethernet MAC Address
  • mult - Clocks Multipliers
  • ip - IP Config
  • boot - Boot Config
  • ser - Serial Port Config
  • loc - Flash Locations (Layout)
  • gpio - GPIOs Config
  • hw - HW Version
  • dbg - Debug Config
  • ss - SplashScreen Config
  • pex - Processor Extensions
  • karg - Kernel Arguments
  • part - Flash partition layout
  • mem - Reserve memory for display and M4 core

Managing Config Block in U-Boot

The cfgblock command is used to manage Toradex config block operations(2). When you access this command in U-Boot, you’ll see these available options(2):

cfgblock - Toradex config block handling commands

Usage:
cfgblock create [-y] [barcode] - (Re-)create Toradex config block
create carrier [-y] [barcode] - (Re-)create Toradex Carrier config block
cfgblock reload - Reload Toradex config block from flash

Carrier Config Block Support

The documentation shows that U-Boot already supports carrier config blocks with the cfgblock create carrier command(2). This suggests that the infrastructure for carrier board configuration storage is already present in the Toradex U-Boot implementation.

Implementation Considerations

For extending the config block format for your custom carrier board, you would need to work with the existing U-Boot config block infrastructure. The config block format appears to be designed with extensibility in mind, given the sectioned approach to data organization(1).

However, the detailed binary format specification and extension mechanisms are not fully documented in the available sources. For implementing custom carrier board recognition features in U-Boot, you may need to examine the U-Boot source code directly or work with Toradex engineering for detailed format specifications.

The fact that there’s already a create carrier option in the cfgblock command suggests this functionality is supported, but the specific format details would require deeper technical documentation or source code analysis.

Best regards,
Toradex AI Assistant.


Did you like my answer? :+1: :-1:

If I answered your question, please tick the “Solution” checkbox.

For follow-up questions to me, please use @ToradexAI in your post.