2399205_ja-JP

キャンセル
次の結果を表示 
表示  限定  | 次の代わりに検索 
もしかして: 

2399205_ja-JP

2399205_ja-JP

i.MX95 LPI2Cにおける動的I2Cスレーブアドレス構成

こんにちは、専門家の皆様。

私はiについて取り組んでいます。MX95 プラットフォームで、 Linux上でLPI2CコントローラをI2Cスレーブモードで 使用しています。

現在、I2Cスレーブアドレスはデバイスツリー内で静的に定義されています。私の要件は、デバイスツリーにアドレスをハードコーディングするのではなく、外部GPIO入力(例えば、ボードIDやアドレス選択GPIO)に基づいてスレーブアドレスを動的に決定することです。

知りたいのは以下の点です。

  1. i.MX95 LPI2Cハードウェアは、実行時にI2Cスレーブアドレスを動的に変更することをサポートしていますか?
  2. NXP BSP/Linux LPI2Cのスレーブドライバーは、起動後にスレーブアドレスを更新できるのでしょうか?それともドライバーの変更が必要でしょうか?
  3. SoCまたはBSPの観点から、スレーブ登録前または登録中に外部GPIOに基づいてスレーブアドレスを選択するための推奨されるメカニズムはありますか?
  4. 動的なI2Cスレーブアドレス設定を示すリファレンス実装やサンプルはありますか?

何かご助言や推奨される方法があれば、ぜひお聞かせください。

BR、

アルン・クマール

Re: Dynamic I2C Slave Address Configuration on i.MX95 LPI2C

こんにちは、

1. はい、i.MX95のLPI2Cモジュールで可能です。

2. いいえ、ドライバの改造は不要です。

現在のNXP BSP Linuxドライバはマスターモードとスレーブモードの両方をサポートしていますが、スレーブアドレスはデバイスツリーから一度だけ読み込みます。

3. このモモディットドライバーがプローブ中にGPIOアドレスを読み取り、ラインを変更する最良の方法。

https://github.com/nxp-imx/linux-imx/blob/b096ce610e956cc2596006343df8a2a26ed6e019/drivers/i2c/busse...

4. i2c-imx-lpi2c.c を使用するスレーブ DTS のサンプルがあります。ただし、GPIOを使って実行時にアドレスを変更することはできません。次のリンクからご覧いただけます:

https://github.com/nxp-imx/linux-imx/blob/74521e3f425001c27a54323ee8de4f7c59ee88dc/arch/arm64/boot/d...

よろしくお願いいたします。

タグ(1)
評価なし
バージョン履歴
最終更新日:
火曜日
更新者: