This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

AM5728: Can't get WiFi card entry in /proc/interrupts

Other Parts Discussed in Thread: XIO2001, AM5728

Hello,

We have interfaced XIO2001 PCI Bridge(PCIe to PCI) Chip with AM572x processor(custom board). We are using x2 MINI PCI TYPE 3 Connector Form Factor on other (PCI) Side.

XIO2001 is having four interrupt pins INT[A:D], while type 3 Connector which we are using is having only two interrupt pins INT[A:B].

Following is the hardware connection details between XIO2001 & x2 MINI PCI Type 3 Connector, also below is the schematic of XIO2001 and x2 MINI PCI TYPE 3 connectors.

Schematic file -- xio_and_mini_pci.pdf

1) XIO2001 Pin# M6(INT_A) to x1 MINI PCI TYPE 3 Connector Pin#20(INT_A)

2) XIO2001 Pin# N6(INT_B) to x1  MINI PCI TYPE 3 Connector Pin#17(INT_B)

3) XIO2001 Pin# M7(INT_C) to x2 MINI PCI TYPE 3 Connector Pin#20(INT_A)

4) XIO2001 Pin# L7(INT_D) to x2 MINI PCI TYPE 3 Connector Pin#17(INT_B)

Based on the above HW configuration, and our understanding there should be some relation between HW interrupts and interrupt map which is define in dts file ("./arch/arm/boot/dts/dra7.dtsi").

Below is snippet
 
/******************************** Snippet Start **********************************/
pcie1: pcie@51000000 {
                                compatible = "ti,dra7-pcie";
                                reg = <0x51000000 0x2000>, <0x51002000 0x14c>, <0x1000 0x2000>;
                                reg-names = "rc_dbics", "ti_conf", "config";
                                interrupts = <0 232 0x4>, <0 233 0x4>;
                                #address-cells = <3>;
                                #size-cells = <2>;
                                device_type = "pci";
                                ranges = <0x81000000 0 0          0x03000 0 0x00010000
                                          0x82000000 0 0x20013000 0x13000 0 0xffed000>;
                                #interrupt-cells = <1>;
                                num-lanes = <1>;
                                ti,hwmods = "pcie1";
                                phys = <&pcie1_phy>;
                                phy-names = "pcie-phy0";
                                interrupt-map-mask = <0 0 0 7>;
                                interrupt-map = <0 0 0 1 &pcie1_intc 1>,
                                                <0 0 0 2 &pcie1_intc 2>,
                                                <0 0 0 3 &pcie1_intc 3>,
                                                <0 0 0 4 &pcie1_intc 4>;
                                linux,pci-domain = <0>;
                                pcie1_intc: interrupt-controller {
                                        interrupt-controller;
                                        #address-cells = <0>;
                                        #interrupt-cells = <1>;
                                };
                        };
/******************************* Snippet End **********************************/
 
Is there relation between HW connections of INT A/B/C/D which is done on custom boards, and the above interrupt map in kernel(dtsi file)?
If yes than please suggest the changes which needs to be required either on HW side or in kernerl dtsi file side.
We tried with same kernel, but we are not getting entry in the /proc/interrupts.
Please do the needful.
Regards,
-- Ronak
  • Hello,
    Yes, there is a relationship in HW for interrupt mapping, please refer to Table 6 of the XIo2001's datasheet to understand how the device numbering works and also refer to Section 6 of the XIO2001's Implementation Guide for INTx mapping.
    You can find both documents at link below.
    Regards

    www.ti.com/.../technicaldocuments
  • Hello,

    I am trying to connect Atheros WiFi card to AM5728 custom board via XIO-2001 bridge board.

    Trying to scan and connect the AP(access point) from that Atheros WiFi module.

    I could see the the entry of Atheros card in "lspci -vv", but wasn't able to do the scan AP by "iw dev wlp2s0 scan" .

    Then I disabled "CONFIG_PCI_MSI" from the kernel and was able to scan and connect AP.

    Before I disabled "CONFIG_PCI_MSI" kernel used to load basic module automatically (As seen in "lsmod").

    But after disabling the "CONFIG_PCI_MSI" kernel isn't able to load modules.


    Is there any relation of interrupt in dts file to this problem, if yes what is the relation,

    Has the above issue occurred due to interrupt which is define in dts file, if yes please provide me the solution.
    Here I am attaching the snippet of dts file for your reference.

    / ------------------------------------------------- START --------------------------------------------------------- /

    axi@0 {
    compatible = "simple-bus";
    #size-cells = <1>;
    #address-cells = <1>;
    ranges = <0x51000000 0x51000000 0x3000
    0x0 0x20000000 0x10000000>;
    pcie1: pcie@51000000 {
    compatible = "ti,dra7-pcie";
    reg = <0x51000000 0x2000>, <0x51002000 0x14c>, <0x1000 0x2000>;
    reg-names = "rc_dbics", "ti_conf", "config";
    interrupts = <0 232 0x4>, <0 233 0x4>;
    #address-cells = <3>;
    #size-cells = <2>;
    device_type = "pci";
    ranges = <0x81000000 0 0 0x03000 0 0x00010000
    0x82000000 0 0x20013000 0x13000 0 0xffed000>;
    #interrupt-cells = <1>;
    num-lanes = <1>;
    ti,hwmods = "pcie1";
    phys = <&pcie1_phy>;
    phy-names = "pcie-phy0";
    interrupt-map-mask = <0 0 0 7>;

    interrupt-map = <0 0 0 1 &pcie1_intc 1>,
    <0 0 0 2 &pcie1_intc 2>,
    <0 0 0 3 &pcie1_intc 3>,
    <0 0 0 4 &pcie1_intc 4>;

    linux,pci-domain = <0>;

    pcie1_intc: interrupt-controller {
    interrupt-controller;
    #address-cells = <0>;
    #interrupt-cells = <1>;
    };
    };
    };

    / ------------------------------------------------- END --------------------------------------------------------- /
    Please do the needful.

    In case any more information required please let me know.

    Regards,

    -- Ronak