Linux(newbieレベル)を実行しているSoC用の簡単なGPIOドライバを開発中です IRQ番号がデータシートの番号と異なるため、私は問題に直面しています。カーネルIRQドメインリスト
効果的なIRQマネージャがIRQドメインを作成する可能性があることを知りました。 しかし、
unsigned int irq_find_mapping(struct irq_domain * domain、irq_hw_number_t hwirq)にはドメイン構造が必要です。 プレートフォームに使用可能なドメインを一覧表示する方法を教えてください。 ありがとうございます。 irq_domain_mapping
name mapped linear-max direct-max devtree_node gpio-dwapb 29 29 0 /soc/[email protected]/gpio-controller ... 99 0x00019 none
ファイル:/ procの/
99 ... 25 edge gpiolib
を中断しかし、DTSファイルが
interrupts = <0x00000000 0x000000a5 0x00000004>
'cat/sys/kernel/debug/irq_domain_mapping'です。 * CONFIG_IRQ_DOMAIN_DEBUG = y *がカーネル構成に含まれていることを確認してください。 – 0andriy
質問を編集しました。中断はDTSファイルの197にマップされますが、Linuxでは99に設定されています – SOFuser
3つのファイル(/ proc/interrupts、irq_domain_mapping、問題のコードを含むDTS)をすべて収集すると良いでしょう。いくつかのインターネット共有(ペーストビンのような)w/**フル**コンテンツ。 – 0andriy