Hi NXP Team,
We are facing an I2C long-read issue on the i.MX8QXP C0 MEK platform while accessing an Apple MFi authentication IC.
The MFi device communicates correctly for reads up to 256 bytes. However, any single read greater than 256 bytes consistently times out. The complete certificate can be read successfully when divided into 128-byte pages.
We need support to confirm whether this is a known limitation or issue in the i.MX LPI2C PIO driver and to recommend an appropriate driver fix or DMA configuration ?
Kernel initialization confirms PIO mode:
imx-lpi2c 5a810000.i2c: use pio mode
i2c i2c-1: LPI2C adapter registered
The live Device Tree confirms 400 kHz:
The MFi application performs the following sequence:
Application result:
Reading Certificate Size Setting register 0x30 Reading register 0x30, 2 bytes Allocating Certificate Size: 608 bytes Reading Certificate Data Setting register 0x31 Reading register 0x31, 608 bytes Reading register 0x31, 608 bytes failed: EIO Reading register 0x31, 608 bytes Reading register 0x31, 608 bytes failed: ETIMEDOUT Reading register 0x31, 608 bytes Reading register 0x31, 608 bytes failed: ETIMEDOUT
Dynamic-debug output:
i2c i2c-1:exit with: error: -5 i2c i2c-1: exit with: error: -110 i2c i2c-1: exit with: error: -110