こんにちは、専門家の皆様。
私はiについて取り組んでいます。MX95 プラットフォームで、 Linux上でLPI2CコントローラをI2Cスレーブモードで 使用しています。
現在、I2Cスレーブアドレスはデバイスツリー内で静的に定義されています。私の要件は、デバイスツリーにアドレスをハードコーディングするのではなく、外部GPIO入力(例えば、ボードIDやアドレス選択GPIO)に基づいてスレーブアドレスを動的に決定することです。
知りたいのは以下の点です。
何かご助言や推奨される方法があれば、ぜひお聞かせください。
BR、
アルン・クマール
こんにちは、
1. はい、i.MX95のLPI2Cモジュールで可能です。
2. いいえ、ドライバの改造は不要です。
現在のNXP BSP Linuxドライバはマスターモードとスレーブモードの両方をサポートしていますが、スレーブアドレスはデバイスツリーから一度だけ読み込みます。
3. このモモディットドライバーがプローブ中にGPIOアドレスを読み取り、ラインを変更する最良の方法。
4. i2c-imx-lpi2c.c を使用するスレーブ DTS のサンプルがあります。ただし、GPIOを使って実行時にアドレスを変更することはできません。次のリンクからご覧いただけます:
よろしくお願いいたします。