-
Notifications
You must be signed in to change notification settings - Fork 6.6k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
i2c: No support for bus recovery imx.rt and or timeout on bus busy #42574
Comments
@EmbedWise You are encountering this on the teensy41 board? Just to confirm as I don't see any support for this board in upstream Zephyr. |
@henrikbrixandersen Yes via the teensy41. The dts goes from teensy41 to teensy40 to nxp/nxp_rt1060.dtsi to nxp/nxp_rt.dtsi. In these dtsi the i2c interfaces are defined.
Enabling:
And defining in an overlay
Which points to
|
This issue has been marked as stale because it has been open (more than) 60 days with no activity. Remove the stale label or add a comment saying that you would like to have the label removed otherwise this issue will automatically be closed in 14 days. Note, that you can always re-open a closed issue at any time. |
This issue has been marked as stale because it has been open (more than) 60 days with no activity. Remove the stale label or add a comment saying that you would like to have the label removed otherwise this issue will automatically be closed in 14 days. Note, that you can always re-open a closed issue at any time. |
@EmbedWise Please see #46472 - also worth noting is the |
Add I2C bus recovery support to the NXP MCUX LPI2C driver. Since the LPI2C peripheral block does not natively support I2C bus recovery, recovery is performed using GPIO bitbanging. Fixes: zephyrproject-rtos#42574 Signed-off-by: Henrik Brix Andersen <[email protected]>
Add I2C bus recovery support to the NXP MCUX LPI2C driver. Since the LPI2C peripheral block does not natively support I2C bus recovery, recovery is performed using GPIO bitbanging. Fixes: #42574 Signed-off-by: Henrik Brix Andersen <[email protected]>
Describe the bug
Running a simple main loop program that reads out i2c sensor values or controlling an i2c GPIO extender in a loop, causes the i2c peripheral at a non-deterministic time interval to become unresponsive.
Please also mention any information which could help others to understand
the problem you're facing:
To Reproduce
Steps to reproduce the behavior:
Expected behavior
In theory a perfect working I2C peripheral with no hanging/unresponsive busses. If it still becomes unresponsive a way to recover. E.g. bus recovery function, currently not implemented for the imx.rt.
Impact
A none robust working I2C bus is a show stopper
Environment (please complete the following information):
Additional context
Only a kernel reboot warm/cold recovers the bus. Not e.g. the shell command i2c recover, since it is not implemented in the imx rt driver.
Issues that are related to this issue:
#4040 with reference to #27715.
The main question is what is the overall structure that is preferred with respect to bus recovery?
The text was updated successfully, but these errors were encountered: