1

開発中の組み込みARM FPGAシステムでザイリンクス割り込みコントローラドライバを使用しようとしています。IRQCHIP_DECLARE:init関数が実行されていません

IRQCHIP_DECLARE(xilinx_intc_xps, "xlnx,xps-intc-1.00.a", xilinx_intc_of_init);

私は割り込みコントローラのための私のデバイスツリーにエントリを追加しました: (https://github.com/torvalds/linux/blob/master/drivers/irqchip/irq-xilinx-intc.c)このドライバの終わりに

はラインです。

xil_intc: [email protected] {   
     compatible = "xlnx,xps-intc-1.00.a";          
     interrupt-parent = <&intc>; 
     interrupts = <0x0 0x1e 0x04>; 
     reg = <0x41810000 0x10000>; 
     interrupt-controller; 
     #interrupt-cells = <2>; 
     xlnx,kind-of-intr = <0x0>; 
     xlnx,num-intr-inputs = <0x1>; 
    }; 

しかし、私が知る限り、xilinx_intc_of_init関数は起動時に呼び出されません。私はpr_infoを関数の先頭に追加しましたが、呼び出されることはありません。問題を示すように思わ

唯一のメッセージは次のとおりです。

[ 0.177772] irq: no irq domain found for /amba/[email protected] !

私が正常に書かれており、他のデバイスドライバをコンパイルし、デバイスツリー内のエントリを追加し、それらをdmesgにアップロードショーがありました何らかの理由で私はこれを動作させることができません。

これをデバッグするための提案はありますか?

私は、ドライバをカーネルモジュールにコンパイルしてmodules_installを使用してインストールし、起動時にロードするために/etc/modulesというエントリを追加しました。

編集:私は4.6カーネルを使用しています。

答えて

0

私は結論として、/ lib/modulesからのirqchipドライバのロードがブートプロセスで遅すぎると判断しました。

このドライバを組み込むために変更された設定でカーネル全体を再構築して、初期化が正しく機能しました。

私は、IRQCHIPドライバをカーネルにコンパイルし、他のデバイスドライバのようにカーネルモジュールとして動作させる必要がないことを教えてくれますか?私はそのような文書を見つけることができませんが、それは私が観察した動作です。

関連する問題