PCI中断未分配

时间:2018-05-04 12:27:47

标签: interrupt xilinx pci-e zynq

PCI接口的传统中断分配正在接收中断0。

我们正在评估Xilinx Zynq UltraScale + MPSoC ZCU102评估套件。我们在PCI-e载板上有一个PMC接口,插在板上的PCI-e插槽中。

当驱动程序加载时,电路板的中断被分配给OS的中断0(Linux 16.0.4)。中断0显然不正确。

PCI的设备树应该分配中断。我们确实看到已分配misc中断,但未报告intx中断,或者从操作系统返回0。

我们如何确定未报告中断的原因?我们可以做出哪些改变来确定问题所在?

这是pcie的设备树条目 -

ZynqMP> fdt print /amba/pcie
pcie@fd0e0000 {
        compatible = "xlnx,nwl-pcie-2.11";
        status = "okay";
        #address-cells = <0x00000003>;
        #size-cells = <0x00000002>;
        #interrupt-cells = <0x00000001>;
        msi-controller;
        device_type = "pci";
        interrupt-parent = <0x00000004>;
        interrupts = <0x00000000 0x00000076 0x00000004 0x00000000 0x00000075 0x00000004 0x00000000 0x00000074 0x00000004 0x00000000 0x00000073 0x00000004 0x00000000 0x00000072 0x00000004>;
        interrupt-names = "misc", "dummy", "intx", "msi1", "msi0";
        msi-parent = <0x00000023>;
        reg = <0x00000000 0xfd0e0000 0x00000000 0x00001000 0x00000000 0xfd480000 0x00000000 0x00001000 0x00000080 0x00000000 0x00000000 0x01000000>;
        reg-names = "breg", "pcireg", "cfg";
        ranges = <0x02000000 0x00000000 0xe0000000 0x00000000 0xe0000000 0x00000000 0x10000000 0x43000000 0x00000006 0x00000000 0x00000006 0x00000000 0x00000002 0x00000000>;
        interrupt-map-mask = <0x00000000 0x00000000 0x00000000 0x00000007>;
        bus-range = <0x00000000 0x000000ff>;
        interrupt-map = * 0x000000007ff8495c [0x00000060];
        power-domains = <0x00000025>;
        clocks = <0x00000003 0x00000017>;
        xlnx,pcie-mode = "Root Port";
        linux,phandle = <0x00000023>;
        phandle = <0x00000023>;
        legacy-interrupt-controller {
                interrupt-controller;
                #address-cells = <0x00000000>;
                #interrupt-cells = <0x00000001>;
                linux,phandle = <0x00000024>;
                phandle = <0x00000024>;
        };
};

0 个答案:

没有答案