• No : 14237
  • 公開日時 : 2023/04/18 11:45
  • 印刷

【NXP:i.MX】 i.MX8MNのI2Cでライトバースト時のレイテンシについて

i.MXのLinux BSPを使用しています。
I2Cドライバを使ってライトを行う場合、タイミングによって書込みバースト間でレイテンシが発生します。
 
下記投稿でも同様の議論がなされています。
 
解決策ありましたら教えてください。
カテゴリー : 

回答

i.MX8関連のI2C SDMA mode時のドライバ(drivers/i2c/busses/i2c-imx.c)を下記の通り変更ください。
 
修正前)
    /* Wait controller to be stable */
    if (atomic)
        udelay(50);
    else
        usleep_range(50, 150);
 
修正後)
    /* Wait controller to be stable */
        usleep_range(50, 150);