AnsweredAssumed Answered

I2C1(GPIO_B0_04 & _05) not working on MXRT1052

Question asked by james kim on Mar 31, 2020
Latest reply on Jun 16, 2020 by Mike Moretti

I only have this problem on LPI2C2. When using LPI2C1 it works fine.

 

The Clock seems good, but SDA transitions from high to low when clock starts and stays low.

We have Pull-ups on SDA.

 

 

I am using the simplest i2c polling example MCUExpresso Project but change:

1. LPI2C2 base address instead of LPI2C1

2. Changed the LPI2C2 instead of LPI2C1 in the PinMux settings as below

IOMUXC_SetPinMux(
IOMUXC_GPIO_B0_04_LPI2C2_SCL, /* GPIO_AD_B1_00 is configured as LPI2C1_SCL */
1U); /* Software Input On Field: Force input path of pad GPIO_AD_B1_00 */
IOMUXC_SetPinMux(
IOMUXC_GPIO_B0_05_LPI2C2_SDA, /* GPIO_AD_B1_01 is configured as LPI2C1_SDA */
1U); /* Software Input On Field: Force input path of pad GPIO_AD_B1_01 */
IOMUXC_SetPinConfig(
IOMUXC_GPIO_B0_04_LPI2C2_SCL, /* GPIO_AD_B1_00 PAD functional properties : */
0xD8B0u); /* Slew Rate Field: Slow Slew Rate
Drive Strength Field: R0/6
Speed Field: medium(100MHz)
Open Drain Enable Field: Open Drain Enabled
Pull / Keep Enable Field: Pull/Keeper Enabled
Pull / Keep Select Field: Keeper
Pull Up / Down Config. Field: 22K Ohm Pull Up
Hyst. Enable Field: Hysteresis Disabled */
IOMUXC_SetPinConfig(
IOMUXC_GPIO_B0_05_LPI2C2_SDA, /* GPIO_AD_B1_01 PAD functional properties : */
0xD8B0u); /* Slew Rate Field: Slow Slew Rate
Drive Strength Field: R0/6
Speed Field: medium(100MHz)
Open Drain Enable Field: Open Drain Enabled
Pull / Keep Enable Field: Pull/Keeper Enabled
Pull / Keep Select Field: Keeper
Pull Up / Down Config. Field: 22K Ohm Pull Up
Hyst. Enable Field: Hysteresis Disabled */

 

I see few posting reporting the same issue. 

Is this a known problem by NXP? If so, what is a resolution?

Regards,

Outcomes