4

GPIOに関するドキュメントはほとんど読んでいませんが、 GPIOの最上位レベルの多重化をまだ理解できていません。

コードから、専用デバイスのいくつかのGPIO ( IntReset Pinsなど) が、その特定のドライバーのsuspend /*resume* コールバック中に多重化されていることがわかります。このgpio多重化が正確に何を行い、システムのサスペンド/*再開*にどのように影響するかを知りたいですか?

4

2 に答える 2

1

Gpio TLMM は、単一の GPIO ピンを複数の機能に使用できるようにするため、その gpio ピンをデータシート/回路図で指定された機能のいずれかに設定できます。システムがサスペンドしようとすると、漏れ電流を減らすために、すべての gpio が低電力状態に応じて構成されます。また、システムがスリープ状態のときに起動できる割り込みとして gpio が構成されている場合、その gpio 割り込み監視は、通常の gpio 所有者から常に電源制御ブロックに切り替えられます。

于 2013-05-08T08:17:09.533 に答える
1

あなたが尋ねている機能は、一般的に多重化として知られていません。GPIO でサスペンド/レジュームを有効にするには、GPIO にinterrupt機能が必要です。次に、これinterruptをウェイクアップ可能としてマークできます。これを行うirq_set_irq_wake()gpio_to_irq()役立ちます。基礎となるgpioと Linuxドライバーがこれをサポートしている必要があります。これは実際にはドライバーではなく、プラットフォームのgpio サブシステムのインスタンスです。

関心のあるドライバーがこれらの機能を使用していない場合、それは非標準の Linux の使用であり、適切なドライバー ソースを指摘する必要があります。

参照: LWN pinctrlLinux gpio docpinctrl+gpio デバイス ツリー バインディング

于 2013-03-16T14:50:30.987 に答える