2152925_ja-JP

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

2152925_ja-JP

2152925_ja-JP

iMx8-m | ユーザー空間からレギュレータGPIOを制御

こんにちは、チームの皆さん

カーネル 5.10.0-30-amd64 を使用して i.MX 8 のユーザー空間からレギュレータ ピン (gpiochip3-25) を制御しようとしていますしかし、変更は許可されません。

エコーが有効 > /sys/devices/プラットフォーム/regulator-lte-on/regulator/regulator.4/state
sh: /sys/devices/platform/regulator-lte-on/regulator/regulator.4/state:権限が拒否されました

さらに、汎用レギュレータ ドライバー「regulator-fixed」を使用しており、CONFIG_REGULATOR_USERSPACE_CONSUMER」カーネル構成が有効になっていますが、それでも同じです。

さらに、異なるドライバーと特定のデバイス ツリーの変更を使用してこれを行う方法について説明した、ドキュメントレギュレータ ユーザースペース コンシューマー - NXPコミュニティが1 つあります。

質問:
上記のリンクに記載されている手順、特に特別な dts の変更を実行せずに、レギュレータ ピンの状態を制御するより良い方法はありますか?

前もって感謝します。

よろしくお願いいたします
パテル

Re: iMx8-m | control regulator gpio from user space

こんにちは@Harshkumar_Patel !

残念ながら、当社は問題のドライバの開発に責任を負っていないため、パッチを提供する予定はありません。


コミュニティで共有されるすべてのリソースは参照目的のみを目的としていることにご注意ください。NXP から公式にサポートされているソフトウェアは GitHub で入手でき、通常、特定のCASEごとにユーザーに使用する方法を説明するマニュアルが提供されます。


よろしくお願いします、
チャビラ

Re: iMx8-m | control regulator gpio from user space

こんにちは、チャビラさん。

迅速かつ明確なご回答ありがとうございます。

さらに、ご存知のとおり、
ユーザー空間からレギュレータを制御することが最も一般的なニーズであるため、userspace_regulatorパッチをi.MX8 Yocto SDK の次のリビジョンの一部にする予定はありますか?

ありがとう

Re: iMx8-m | control regulator gpio from user space

こんにちは@Harshkumar_Patel !

gpio-led ドライバを使用して GPIO トグルを確認していただきありがとうございます。


gpiochip3-25 はモデムの電源を制御し、オンのままにしておく必要があるため、regulator-fixed を使用することをお勧めします。電源管理フレームワークとの統合が向上し、サスペンド/再開、カーネルの停止、またはシステムの高負荷時の安定性が確保されます。このようなシナリオでは、gpio 主導のドライバは GPIO 状態を確実に維持できない可能性があります。


ただし、アクティブ モード時にのみ電源レールを維持するだけで十分な場合は、プルアップ抵抗を備えた gpio-led ドライバを使用して信号を HIGH に保ち、不要になったときにレールをオフにすることができます。


よろしくお願いします、
チャビラ

Re: iMx8-m | control regulator gpio from user space

こんにちは、チャビラさん。

非常に速くて明確な回答をありがとうございます。
gpio-led ドライバを使用して、予想される gpio トグルを検証しましたが、このオプションを使用する前に専門家の意見が必要です。

お気づきかもしれませんが、モデムの電源を有効にするために gpiochi3-25 を使用しており、オンのままにしておく必要があります。
これを「regulator-fixed」ではなく「gpio-led」として使用すると、カーネルのストールやオーバーロード、レイテンシ、低電力モードのCASEに何か問題が発生しますか?

ありがとう




Re: iMx8-m | control regulator gpio from user space

こんにちは@Harshkumar_Patelさん

デフォルトでは、レギュレータ固定ドライバはユーザー空間からの直接制御を許可しません。この機能を有効にするには、通常、ドライバを変更するか、デバイス ツリーを調整して、レギュレータ - ユーザー空間 - コンシューマー ノードを含める必要があります。

ただし、よりシンプルで柔軟な代替案は、gpio-led ドライバを使用してレギュレーターの GPIO 有効化を宣言することです。このアプローチにより、レギュレータ フレームワークやデバイス ツリーを大幅に変更することなく、sysfs や libgpiod などの標準インターフェースを使用して、ユーザー空間から GPIO を直接制御できます。

この方法は、基本的なオン/オフ制御のみが必要で、カーネルまたは DTS のより深い変更を避けたい場合に特に便利です。

よろしくお願いします、
チャビラ

タグ(1)
評価なし
バージョン履歴
最終更新日:
‎11-20-2025 02:48 PM
更新者: