こんにちは、NXP チームの皆様、
AppleのMFi認証ICにアクセスしている際に、i.MX8QXP C0 MEKプラットフォームでI2Cのロングリード問題に直面しています。
MFiデバイスは、最大256バイトまでの読み取りにおいて正しく通信します。しかし、256バイトを超える単一の読み取りは必ずタイムアウトする。完全な証明書は128バイトのページに分割すると正常に読み取ることができます。
この問題が i.MX LPI2C PIOドライバの既知の制限や問題かどうかを確認するためのサポートを必要としており、適切なドライバ修正やDMA設定を推奨したいのです。
カーネル初期化によりPIOモードが確認されます。
imx-lpi2c 5a810000.i2c:pioモードを使用する
i2c i2c-1: LPI2Cアダプタが登録されました
ライブデバイスツリーは400kHzであることを確認しています。
MFiアプリケーションは以下のシーケンスを実行します。
申請結果:
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
動的デバッグ出力:
i2c i2c-1:exit with: error: -5 i2c i2c-1: exit with: error: -110 i2c i2c-1: exit with: error: -110