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