개발중인 임베디드 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 커널을 사용 중입니다.