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: WiFi Device not detected on PCIe interface

Part Number: AM5728

Hello,

I have a custom board based on TI's AM5728 EVM. I am using the latest Linux PSDK 6.03 on it. 

I am using Spark LAN WNFQ-258ACN(BT), which is an 802.11ac/a/b/g/n Dual-Band Wi-Fi+Bluetooth M.2 card based on Qualcomm Atheros QCA6174A chipset. The interface for WiFi is PCIe and for Bluetooth is USB.

I have connected the WiFi device to PCIe_SS1 (PCIe0) in single-lane host mode. The PCIe is configured as RC (root complex) in the board-level device tree file.

Following are the device tree entries -

  pcie1_rc: pcie@51000000 {
                                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>;
                                bus-range = <0x00 0xff>;
                                #interrupt-cells = <1>;
                                num-lanes = <1>;
                                linux,pci-domain = <0>;
                                ti,hwmods = "pcie1";
                                phys = <&pcie1_phy>;
                                phy-names = "pcie-phy0";
                                ti,syscon-lane-sel = <&scm_conf_pcie 0x18>;
                                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>;
                                ti,syscon-unaligned-access = <&scm_conf1 0x14 1>;
                                status = "disabled";
                                pcie1_intc: interrupt-controller {
                                        interrupt-controller;
                                        #address-cells = <0>;
                                        #interrupt-cells = <1>;
                                };
                        };
                        
                        
&pcie1_rc {
        status = "okay";
        gpios = <&gpio2 8 GPIO_ACTIVE_LOW>;
};

 

I am getting the following logs in the kernel while booting -

root@am57xx-evm:~# dmesg | grep pci
[    0.664203] dra7-pcie 51000000.pcie: Linked as a consumer to phy-4a094000.pciephy.1
[    0.664373] dra7-pcie 51000000.pcie: GPIO lookup for consumer (null)
[    0.664380] dra7-pcie 51000000.pcie: using device tree for GPIO lookup
[    0.664413] of_get_named_gpiod_flags: parsed 'gpios' property of node '/ocp/axi@0/pcie@51000000[0]' - status (0)
[    0.664631] dra7-pcie 51000000.pcie: host bridge /ocp/axi@0/pcie@51000000 ranges:
[    0.664673] dra7-pcie 51000000.pcie:    IO 0x20003000..0x20012fff -> 0x00000000
[    0.664701] dra7-pcie 51000000.pcie:   MEM 0x20013000..0x2fffffff -> 0x20013000
[    1.664965] dra7-pcie 51000000.pcie: Phy link never came up
[    1.665098] dra7-pcie 51000000.pcie: PCI host bridge to bus 0000:00
[    1.665113] pci_bus 0000:00: root bus resource [bus 00-ff]
[    1.665126] pci_bus 0000:00: root bus resource [io  0x0000-0xffff]
[    1.665137] pci_bus 0000:00: root bus resource [mem 0x20013000-0x2fffffff]
[    1.665174] pci 0000:00:00.0: [104c:8888] type 01 class 0x060400
[    1.665208] pci 0000:00:00.0: reg 0x10: [mem 0x00000000-0x000fffff 64bit]
[    1.665270] pci 0000:00:00.0: supports D1
[    1.665278] pci 0000:00:00.0: PME# supported from D0 D1 D3hot
[    1.676386] pci 0000:00:00.0: BAR 0: assigned [mem 0x20100000-0x201fffff 64bit]
[    1.676406] pci 0000:00:00.0: PCI bridge to [bus 01-ff]
[    1.676741] pcieport 0000:00:00.0: Signaling PME with IRQ 177
[    1.676874] pcieport 0000:00:00.0: AER enabled with IRQ 177

But the WiFi device is not detected in lspci output. However, the Bluetooth device is detected in lsusb output.

root@am57xx-evm:~# lspci 
00:00.0 PCI bridge: Texas Instruments Multicore DSP+ARM KeyStone II SOC (rev 01)


root@am57xx-evm:~# lsusb
Bus 001 Device 003: ID 0cf3:e300 Qualcomm Atheros Communications 
Bus 001 Device 002: ID 0451:8142 Texas Instruments, Inc. TUSB8041 4-Port Hub
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 002 Device 002: ID 0451:8140 Texas Instruments, Inc. TUSB8041 4-Port Hub
Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub

Also, after inserting the WiFi driver (Atheros 10k based), lspci gives the same output. The wlanX interface is also not getting created.

I am not able to understand why the device is not detected. Am I missing something else here?

Kindly acknowledge and revert.

 

Regards,

Devashish

  • Hello TI Experts,

    This is a gentle reminder that I am waiting for your reply to this post.

    Regards.

    Devashish

  • Hello,

    Any update on this?

    Regards,

    Devashish

  • Hello,

    Any Update?

    Can you help?

    Regards,

    Devashish

  • Hello,

    Any update on this?

    Regards,

    Devashish

  • Hello TI Experts,

    Today I could detect Realtek RTL8822BE based Sparklan WNFT-234ACN(BT) using lspci command on the same custom board. Please see the logs.

    root@am57xx-evm:~# lspci
    00:00.0 PCI bridge: Texas Instruments Multicore DSP+ARM KeyStone II SOC (rev 01)
    01:00.0 Network controller: Realtek Semiconductor Co., Ltd. RTL8822BE 802.11a/b/g/n/ac WiFi adapter
    root@am57xx-evm:~# lsusb
    Bus 001 Device 003: ID 0bda:b822 Realtek Semiconductor Corp.
    Bus 001 Device 002: ID 0451:8142 Texas Instruments, Inc. TUSB8041 4-Port Hub
    Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
    Bus 002 Device 002: ID 0451:8140 Texas Instruments, Inc. TUSB8041 4-Port Hub
    Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
    
    
    oot@am57xx-evm:~# dmesg | grep pci
    [    0.634285] dra7-pcie 51000000.pcie: Linked as a consumer to phy-4a094000.pciephy.1
    [    0.634454] dra7-pcie 51000000.pcie: GPIO lookup for consumer (null)
    [    0.634462] dra7-pcie 51000000.pcie: using device tree for GPIO lookup
    [    0.634496] of_get_named_gpiod_flags: parsed 'gpios' property of node '/ocp/axi@0/pcie@51000000[0]' - status (0)
    [    0.634714] dra7-pcie 51000000.pcie: host bridge /ocp/axi@0/pcie@51000000 ranges:
    [    0.634732] dra7-pcie 51000000.pcie: Parsing ranges property...
    [    0.634764] dra7-pcie 51000000.pcie:    IO 0x20003000..0x20012fff -> 0x00000000
    [    0.634793] dra7-pcie 51000000.pcie:   MEM 0x20013000..0x2fffffff -> 0x20013000
    [    0.734877] dra7-pcie 51000000.pcie: Link up
    [    0.735011] dra7-pcie 51000000.pcie: PCI host bridge to bus 0000:00
    [    0.735026] pci_bus 0000:00: root bus resource [bus 00-ff]
    [    0.735039] pci_bus 0000:00: root bus resource [io  0x0000-0xffff]
    [    0.735051] pci_bus 0000:00: root bus resource [mem 0x20013000-0x2fffffff]
    [    0.735063] pci_bus 0000:00: scanning bus
    [    0.735096] pci 0000:00:00.0: [104c:8888] type 01 class 0x060400
    [    0.735131] pci 0000:00:00.0: reg 0x10: [mem 0x00000000-0x000fffff 64bit]
    [    0.735198] pci 0000:00:00.0: supports D1
    [    0.735205] pci 0000:00:00.0: PME# supported from D0 D1 D3hot
    [    0.735215] pci 0000:00:00.0: PME# disabled
    [    0.740937] pci_bus 0000:00: fixups for bus
    [    0.740967] pci 0000:00:00.0: scanning [bus 01-ff] behind bridge, pass 0
    [    0.741057] pci_bus 0000:01: scanning bus
    [    0.741140] pci 0000:01:00.0: [10ec:b822] type 00 class 0x028000
    [    0.741265] pci 0000:01:00.0: reg 0x10: [io  0x0000-0x00ff]
    [    0.741361] pci 0000:01:00.0: reg 0x18: [mem 0x00000000-0x0000ffff 64bit]
    [    0.741817] pci 0000:01:00.0: supports D1 D2
    [    0.741824] pci 0000:01:00.0: PME# supported from D0 D1 D2 D3hot D3cold
    [    0.741844] pci 0000:01:00.0: PME# disabled
    [    0.777146] pci_bus 0000:01: fixups for bus
    [    0.777191] pci_bus 0000:01: bus scan returning with max=01
    [    0.777205] pci 0000:00:00.0: scanning [bus 01-ff] behind bridge, pass 1
    [    0.777216] pci_bus 0000:00: bus scan returning with max=ff
    [    0.777248] pci 0000:00:00.0: BAR 0: assigned [mem 0x20100000-0x201fffff 64bit]
    [    0.777270] pci 0000:00:00.0: BAR 8: assigned [mem 0x20200000-0x202fffff]
    [    0.777284] pci 0000:00:00.0: BAR 7: assigned [io  0x1000-0x1fff]
    [    0.777302] pci 0000:01:00.0: BAR 2: assigned [mem 0x20200000-0x2020ffff 64bit]
    [    0.777359] pci 0000:01:00.0: BAR 0: assigned [io  0x1000-0x10ff]
    [    0.777385] pci 0000:00:00.0: PCI bridge to [bus 01-ff]
    [    0.777398] pci 0000:00:00.0:   bridge window [io  0x1000-0x1fff]
    [    0.777411] pci 0000:00:00.0:   bridge window [mem 0x20200000-0x202fffff]
    [    0.777541] pcieport 0000:00:00.0: assign IRQ: got 178
    [    0.777751] pcieport 0000:00:00.0: Signaling PME with IRQ 179
    [    0.777879] pcieport 0000:00:00.0: AER enabled with IRQ 179

    Can you explain why Qualcomm module is not detected while the Realtek module is detected on PCIe?

    Regards,

    Devashish

  • Hello,

    Is anybody looking at this?