AnsweredAssumed Answered

i.MX8 PCIe legacy interrupt

Question asked by Michael zu on Aug 7, 2018
Latest reply on Aug 24, 2018 by Bernhard Fink

Hi,

     I am porting the new Qualcomm 6574 WLAN  driver into i.MX8, kernel is 4.9.69. This driver only support PCIe legacy interrupt. The kernel has successfully detect the PCIe device and called the probe function of the driver. But the ISR handler have never been called. I confirm that the MSI interrupt works well as other driver use it and works well.

    Attachment is the output of "cat /proc/interrupts". The dts description as below:

pciea: pcie@0x5f000000 {
        compatible = "fsl,imx8qm-pcie","snps,dw-pcie";
        --------------------base address and length of the PCIe controller---------------------
        reg = <0x0 0x5f000000 0x0 0x10000>, /* Controller reg */
              <0x0 0x6ff00000 0x0 0x80000>; /* PCI cfg space */
        reg-names = "dbi", "config";
        #address-cells = <3>;
        #size-cells = <2>;
        device_type = "pci";
        ranges = <0x81000000 0 0x00000000 0x0 0x6ff80000 0 0x00010000 /* downstream I/O */
              0x82000000 0 0x60000000 0x0 0x60000000 0 0x0ff00000>; /* non-prefetchable memory */
        num-lanes = <1>;

 

        #interrupt-cells = <1>;
        ------------------------A list of interrupt outputs of the controller. Must contain an entry for each entry in the interrupt-names property.
        interrupts = <GIC_SPI 70 IRQ_TYPE_LEVEL_HIGH>;
        ------------------------Must include the following entries:
                                ----------       - "msi": The interrupt that is asserted when an MSI is received
        interrupt-names = "msi";

 

        /*
         * Set these clocks in default, then clocks should be
         * refined for exact hw design of imx8 pcie.
         */
        clocks = <&clk IMX8QM_HSIO_PCIE_A_MSTR_AXI_CLK>,
             <&clk IMX8QM_HSIO_PCIE_A_SLV_AXI_CLK>,
             <&clk IMX8QM_HSIO_PHY_X2_PCLK_0>,
             <&clk IMX8QM_HSIO_PCIE_X2_PER_CLK>,
             <&clk IMX8QM_HSIO_PCIE_A_DBI_AXI_CLK>;
        --------------------------Must include the following additional entries: "pcie_phy"---------------------------
        clock-names = "pcie", "pcie_bus", "pcie_phy", "pcie_per", "pcie_inbound_axi";

 

        interrupt-map-mask = <0 0 0 0x7>;
        interrupt-map =  <0 0 0 1 &gic 0 73 4>,
                 <0 0 0 2 &gic 0 74 4>,
                 <0 0 0 3 &gic 0 75 4>,
                 <0 0 0 4 &gic 0 76 4>;
        power-domains = <&pd_pcie0>;
        fsl,max-link-speed = <3>;
        hsio-cfg = <PCIEAX1PCIEBX1SATA>;
        hsio = <&hsio>;
        ctrl-id = <0>; /* pciea */
        cpu-base-addr = <0x40000000>;
        status = "disabled";
    };

    how can i do to enable the PCIe legacy interrupt?

Attachments

Outcomes