Dear NXP team
I'm porting the WIN10IOT v1.1.0 to our IMX8MP project ,and there is a problem with I2C1.
The problem is , it can't access the i2c1 after system bootup(I2C1 is enabled in UEFI already).
And I found that after install i2c driver, I2C1_SCL and I2C1_SDA pin change to low all the time, if uninstall i2c driver,these pins change back to high. i2c2 and i2c3 don't have this problem.
What is the reason for this, have any suggestions?
Best Regards
Solved! Go to Solution.
HI all:
Fininally , I found that , it's the problem of PMIC driver in uboot, it will be ok if not enable PMIC.
Hi @jiangyaqiang ,
We actually observed similar behavior with an I2C device that took unexpectedly long time to respond.
You could try to multiply timeout value on all four places in imx-windows-iot\driver\i2c\imxi2c\imx_hw.cpp or pick i2c driver binary from newer release while somebody looks at your logs:
timeoutMax = ( 1000 * 1000000 ) / DeviceCtxPtr->CurrentTargetPtr->Settings.ConnectionSpeed;
EDIT:
I am actually curious. Does the problem happen only when communicating with a particular IC?
hi nxa15248:
I have tried the to enlarge the timeout, but no help.
And it happens in all device(four devices tried).
Hello @jiangyaqiang
Could you please attach those files ?
1.) mu_platform_nxp\NXP\"board_name"\Library\iMX8BoardLib.c
2.) mu_platform_nxp\NXP\"board_name"\AcpiTables\Dsdt-I2c.asl
And could you create WPP trace file for I2C driver?
Regards,
Michal
HI michal_hromadka:
Thanks for your reply.
I have attached the file you mentioned above. And one more file Dsdt-Rhp.asl, which changed to make sure i2c test tool (I2cTestTool.exe) can list the i2c1, and a succes log file log-read-i2c2-device-success.txt which access i2c2.
More information about it : I have used Windbg tool step by step to debug, and found that after set the control reg(see the picture below), the SCL and SDA pull to low, and never high again.
HI all:
Fininally , I found that , it's the problem of PMIC driver in uboot, it will be ok if not enable PMIC.