Recovering from I2C hangs on LS1028

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

Recovering from I2C hangs on LS1028

126 Views
pb3
Contributor II

Hi,

I'm using LS1028A and I'm wondering on how to recover from the situation when one of the devices connected to I2C hangs and makes the I2C bus inoperable.

From what I see in the source code of i2c-imx (the one used by LS1028a), the driver is capable of recovering from I2C hangs. The idea is simple - reconfigure pinctrl subsystem to its GPIO function and do some bitbaging.

However the thing that worries me is that I haven't found any pinctrl configuration in LS1028a's device-tree. Why is that? Is it possible to reconfigure in runtime pinctrl function for I2C peripherals of this SoC?

I know that pinctrl can be configured through RCW but what if I need to update it in the runtime?

The second question - is RCW meant to be updatable at some point while the device is operational on the field?

0 Kudos
1 Reply

107 Views
yipingwang
NXP TechSupport
NXP TechSupport

Unlike LS1043/LS1046 processors, LS1028A doesn't have Extended RCW PinMux Control Register(SCFG_RCWPMUXCR0), so it is impossible to reconfigure in runtime pinctrl function for I2C peripherals.

So LS1028A can't get pinctrl, bus recovery is not supported.

0 Kudos