Can IOMUX configuration be changed dynamically? How?

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

Can IOMUX configuration be changed dynamically? How?

918 Views
ozu
Contributor III

Hi all,

We are developing a custom board using imx6 soloX. We want to use a parallel NOR and need 24 address lines for it.

If we check External Interface Module signals from the Reference Manual, some of the address lines are using LCD1_DATAx pads, which is ok, cause we anyway do not want to use LCD functionality and can configure these pads to work as EIM_ADx lines, using ALT1 mode.

The problem is, for development purpose we also wish to explore different booting options and need to use SRC_BOOT_CFGx signals to be connected to DIP switches. But these signals are also available on only one module pads, namely, LCD1_DATAx pads. (in ALT6 mode)

Question is,

1) Can we change IOMUX settings dynamically?

2) If yes, when does the controller check IOMUX settings, only once while booting or even during execution?

3) Will it work, if we have an IOMUX configuration, which will select LCD1_DATAx pads in ALT6 mode to behave as SRC_BOOT_CFGx lines and after booting if we change the IOMUX configuration that will select the same LCD1_DATAx pads in ALT1 mode to behave as EIM_ADx lines?

4) If this works, please guide us how to switch IOMUX configuration dynamically?

Labels (2)
2 Replies

703 Views
yashavanthkumar
Contributor II

Hi Ozu,

1) Can we change IOMUX settings dynamically?

Yes, we can change the IOMUX settings dynamically by configuring the associated IOMUX registers.

2) If yes, when does the controller check IOMUX settings, only once while booting or even during execution?

While booting, BOOTROM initializes/configures the some of the peripherals(uSDHC, QSPI, EIM,....). Please refer the RM, section : 8.4.2 Boot Block Activation.

In user code or application code, it is user responsibility to set the IOMUX config registers for the selected peripherals(for ex: DDR, I2C,GPIO, ..) in the initialization code.

3) Will it work, if we have an IOMUX configuration, which will select LCD1_DATAx pads in ALT6 mode to behave as SRC_BOOT_CFGx lines and after booting if we change the IOMUX configuration that will select the same LCD1_DATAx pads in ALT1 mode to behave as EIM_ADx lines?

By default, BOOTROM will configure the BOOT_CFG lines as GPIO based on BOOT_MODE options. In your application code, you can configure the same pins for different functionalities.

Regards,

Yash

703 Views
igorpadykov
NXP Employee
NXP Employee

Hi ozu

iomux can be changed dynamically, for isolation lcd signals from

boot signals one can use solution given on p.21 spf-27962, buffers

U35-37.

Best regards

igor

-----------------------------------------------------------------------------------------------------------------------

Note: If this post answers your question, please click the Correct Answer button. Thank you!

-----------------------------------------------------------------------------------------------------------------------