Colibri IMX6 WinCE 7: SODIMM Pin Boot Configuration (Registry vs ConfigBlock?)

Hello,

We are using the Colibri IMX6 module, and we wish to prevent LCD, EIM, and additional UART signals (e.g. CTS, RTS, etc.) from being present on any SODIMM pin at boot. With some assistance, we have been able to achieve the above: now, when we boot the IMX6 and run the GPIO Tool, all of the relevant pins are appropriately configured as inputs.

However, I have a question about the approach we used for [2] and [3] (see Appendix below). Does the custom pinout method (i.e. using the registry to specify pin-associated values under the driver subkey ‘Pinout_Default’) achieve the same effect as the ConfigBlock method for specifying a boot state for a pin?

In other words, having used the custom pinout method to configure the desired pins as inputs, is there any value in also modifying the ConfigBlock to achieve the same? Specifically, we wish to minimise the amount of time that any SODIMM pin contends with external signals from our carrier board, so perhaps using the ConfigBlock will guarantee a “good” (floating input) state earlier in the boot?

Thank you for your help.

Kind regards,
Dylan

Appendix:
[1] To eliminate the undesired LCD signals, we followed the instructions here to replace ipuv3flat.dll with a dummy driver, ddi_nop.dll.
[2] To eliminate the undesired EIM signals, we followed the instructions here to specify a custom GPIOMux pinout in the registry.
[3] To eliminate the undesired additional UART signals, we followed the instructions here to specify a custom pinout for the COM1, COM2, and COM3 drivers.

Hi, I’m the Toradex AI Assistant. The Toradex Support team will follow up with you shortly!

Did you like my answer?

:+1: :-1:


Hello Dylan,

Thank you for reaching out with your question about configuring SODIMM pins on the Colibri iMX6 module. It’s great to hear that you’ve successfully configured the pins as inputs using the registry method.

To address your query, both the registry and ConfigBlock methods serve to configure pin states, but they operate at different stages of the boot process:

  1. Registry Method: This method involves setting pin configurations under the driver subkey ‘Pinout_Default’ in the registry. It is effective once the operating system is fully booted and the drivers are loaded. However, it does not affect the initial state of the pins during the early boot stages.

  2. ConfigBlock Method: This is a lower-level configuration that allows you to set pin states earlier in the boot process, potentially before the operating system and drivers are fully initialized. This can be advantageous if you need to ensure that pins are in a specific state as soon as possible to avoid contention with external signals.

Given your goal of minimizing the time that SODIMM pins contend with external signals, using the ConfigBlock method could indeed be beneficial. It allows you to define the pin states at a very early stage in the boot process, potentially reducing the risk of unwanted interactions with external hardware.

In summary, while the registry method is suitable for configuring pins once the system is running, the ConfigBlock method provides an opportunity to set pin states earlier, which might better meet your requirements for minimizing pin contention. If achieving a “good” state as early as possible is critical, consider implementing the ConfigBlock configuration in addition to your current registry settings.

I hope this helps clarify the differences and assists you in making the best decision for your setup.

Best regards,
Toradex AI Assistant.

Please, also check if these links can help you solve your problem:

How to change MAC address of Colibri iMX6 running WinCE.