augusto

i.MX53 I2C iomux bug

Discussion created by augusto on Dec 13, 2012

We noticed on some i.MX53 I2C iomux macros a wrong mux setup that prevents some pin configurations to be used for I2C lines.

The file to be patched is arch/arm/plat-mxc/include/mach/iomux-mx53.h

 

Below an example of the fix:

#define _MX53_PAD_EIM_D21__I2C1_SCL IOMUX_PAD(0x474, 0x12C, 5, 0x814, 1, 0)

#define _MX53_PAD_EIM_D28__I2C1_SDA IOMUX_PAD(0x494, 0x14C, 5, 0x818, 1, 0)

to be changed as:

#define _MX53_PAD_EIM_D28__I2C1_SDA IOMUX_PAD(0x494, 0x14C, 5 | IOMUX_CONFIG_SION, 0x818, 1, 0)

#define _MX53_PAD_EIM_D21__I2C1_SCL IOMUX_PAD(0x474, 0x12C, 5 | IOMUX_CONFIG_SION, 0x814, 1, 0)

otherwise SCL and SDA lines turns low for 500ms the up for other 500ms when a data transfer should occur.

 

We did not verified all the possible I2C pin configurations however this fix should also work for the non working others.

 

Augusto

Original Attachment has been moved to: iomux-mx53.h.zip

Outcomes