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.

WiFi chip on pci-e is not being detected on AM5728

Other Parts Discussed in Thread: AM5728, XIO2001

Hi All,


We have interfaced XIO-2001 bridge chip with AM5728 on pci-express. This bridge chip is used as pci-e to mini-pci converter as our main WiFi chip supports mini-pci interface.
At present, we have enabled pci-e support from our kernel and can detect bridge chip through lspci,utility. But we are not able to detect our end device, ie Wifi module, connected with bridge chip.
Do we need to configure this XIO-chip or any other configurations are required from kernel/dts file, to get our WiFi chip detected?

Thanks,
Krinali Shah

  • I will forward this to the PCIe experts.
  • Hello Krinali,
    As the AM5728 PCIe connection to the bridge itself is functional, the issue appears to be between the XIO2001 bridge and the Wifi chip. I'm moving this to the forum where XIO2001 is supported as they will be better able to help you with it.
  • Hello Krinali,

    Can you share your schematics?

    Does this happens with different PCI devices?

    Please share a PCI Register dump of the XIO2001.

    Have you tried in other systems?

    Regards

  • Please find attached schematic of Bridge Chip with WiFi Module for your reference

  • Hello,

    Any update on above query..??

  • We are not able to see PCI End device connected via the Xio2001 bridge chip in lspci listing.

    Are there some commands that can be run from linux to get some status information from XIO2001(to help debug as to why the PCI device is not being detected) ?

    Please guide to debug.

    Note: The PCI End device that is connected is working, that is for sure as it is working with another board(DM8127 based).

    Below are some logs ..

    /-------------------- logs Start --------------------------/

    root@am57xx-evm:~# lspci -v
    00:00.0 PCI bridge: Texas Instruments Device 8888 (rev 01) (prog-if 00 [Normal decode])
    Flags: bus master, fast devsel, latency 0, IRQ 445
    Memory at 20100000 (32-bit, non-prefetchable) [size=1M]
    Memory at 20020000 (32-bit, non-prefetchable) [size=64K]
    Bus: primary=00, secondary=01, subordinate=02, sec-latency=0
    Capabilities: [40] Power Management version 3
    Capabilities: [50] MSI: Enable- Count=1/1 Maskable- 64bit+
    Capabilities: [70] Express Root Port (Slot-), MSI 00
    Capabilities: [100] Advanced Error Reporting

    01:00.0 PCI bridge: Texas Instruments XIO2001 PCI Express-to-PCI Bridge (rev ff) (prog-if ff)
    !!! Unknown header type 7f

    root@am57xx-evm:~# dmesg | grep pci
    [ 0.568983] dra7-pcie 51000000.pcie: GPIO lookup for consumer pcie-reset
    [ 0.568995] dra7-pcie 51000000.pcie: using device tree for GPIO lookup
    [ 0.569007] of_get_named_gpiod_flags: can't parse 'pcie-reset-gpios' property of node '/ocp/axi@0/pcie@51000000[0]'
    [ 0.569017] of_get_named_gpiod_flags: can't parse 'pcie-reset-gpio' property of node '/ocp/axi@0/pcie@51000000[0]'
    [ 0.569025] dra7-pcie 51000000.pcie: using lookup tables for GPIO lookup
    [ 0.569035] dra7-pcie 51000000.pcie: lookup for GPIO pcie-reset failed
    [ 0.574060] dra7-pcie 51000000.pcie: PCI host bridge to bus 0000:00
    [ 0.574073] pci_bus 0000:00: root bus resource [io 0x1000-0xffff]
    [ 0.574083] pci_bus 0000:00: root bus resource [mem 0x20013000-0x2fffffff]
    [ 0.574093] pci_bus 0000:00: root bus resource [bus 00-ff]
    [ 0.574125] pci 0000:00:00.0: [104c:8888] type 01 class 0x060400
    [ 0.574151] pci 0000:00:00.0: reg 0x10: [mem 0x00000000-0x000fffff]
    [ 0.574168] pci 0000:00:00.0: reg 0x14: [mem 0x00000000-0x0000ffff]
    [ 0.574197] pci 0000:00:00.0: IOMMU is currently not supported for PCI
    [ 0.574234] pci 0000:00:00.0: supports D1
    [ 0.574243] pci 0000:00:00.0: PME# supported from D0 D1 D3hot
    [ 0.574654] pci 0000:01:00.0: [104c:8240] type 01 class 0x060400
    [ 0.574785] pci 0000:01:00.0: IOMMU is currently not supported for PCI
    [ 0.574897] pci 0000:01:00.0: supports D1 D2
    [ 0.575112] pci 0000:01:00.0: bridge configuration invalid ([bus 00-00]), reconfiguring
    [ 2.149676] pci_bus 0000:02: busn_res: [bus 02-ff] end is updated to 02
    [ 2.249720] pci_bus 0000:01: busn_res: [bus 01-ff] end is updated to 02
    [ 2.499968] pci 0000:00:00.0: BAR 0: assigned [mem 0x20100000-0x201fffff]
    [ 2.499983] pci 0000:00:00.0: BAR 1: assigned [mem 0x20020000-0x2002ffff]
    [ 2.499997] pci 0000:01:00.0: PCI bridge to [bus 02]
    [ 2.950125] pci 0000:00:00.0: PCI bridge to [bus 01-02]
    [ 3.000215] pci 0000:01:00.0: Max Payload Size 16384, but upstream 0000:00:00.0 set to 128; if necessary, use "pci=pcie_bus_safe" and report a bug

    /-------------------- logs End --------------------------/
  • Extra logs:
    =============================
    root@am57xx-evm:~# lspci -vv
    00:00.0 PCI bridge: Texas Instruments Device 8888 (rev 01) (prog-if 00 [Normal decode])
    Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr+ Stepping- SERR+ FastB2B- DisINTx-
    Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
    Latency: 0, Cache Line Size: 64 bytes
    Interrupt: pin A routed to IRQ 445
    Region 0: Memory at 20100000 (32-bit, non-prefetchable) [size=1M]
    Region 1: Memory at 20020000 (32-bit, non-prefetchable) [size=64K]
    Bus: primary=00, secondary=01, subordinate=02, sec-latency=0
    Secondary status: 66MHz- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- <SERR- <PERR-
    BridgeCtl: Parity+ SERR- NoISA- VGA- MAbort- >Reset- FastB2B-
    PriDiscTmr- SecDiscTmr- DiscTmrStat- DiscTmrSERREn-
    Capabilities: [40] Power Management version 3
    Flags: PMEClk- DSI- D1+ D2- AuxCurrent=0mA PME(D0+,D1+,D2-,D3hot+,D3cold-)
    Status: D0 NoSoftRst- PME-Enable- DSel=0 DScale=0 PME-
    Capabilities: [50] MSI: Enable- Count=1/1 Maskable- 64bit+
    Address: 0000000000000000 Data: 0000
    Capabilities: [70] Express (v2) Root Port (Slot-), MSI 00
    DevCap: MaxPayload 256 bytes, PhantFunc 0
    ExtTag- RBE+
    DevCtl: Report errors: Correctable- Non-Fatal- Fatal- Unsupported-
    RlxdOrd+ ExtTag- PhantFunc- AuxPwr- NoSnoop+
    MaxPayload 128 bytes, MaxReadReq 512 bytes
    DevSta: CorrErr- UncorrErr+ FatalErr- UnsuppReq- AuxPwr- TransPend-
    LnkCap: Port #0, Speed 5GT/s, Width x2, ASPM L0s L1, Exit Latency L0s <512ns, L1 <64us
    ClockPM- Surprise- LLActRep+ BwNot+ ASPMOptComp+
    LnkCtl: ASPM Disabled; RCB 128 bytes Disabled- CommClk-
    ExtSynch- ClockPM- AutWidDis- BWInt- AutBWInt-
    LnkSta: Speed 2.5GT/s, Width x1, TrErr- Train- SlotClk+ DLActive+ BWMgmt- ABWMgmt-
    RootCtl: ErrCorrectable- ErrNon-Fatal- ErrFatal- PMEIntEna- CRSVisible-
    RootCap: CRSVisible-
    RootSta: PME ReqID 0000, PMEStatus- PMEPending-
    DevCap2: Completion Timeout: Range ABCD, TimeoutDis+, LTR-, OBFF Not Supported ARIFwd-
    DevCtl2: Completion Timeout: 50us to 50ms, TimeoutDis-, LTR-, OBFF Disabled ARIFwd-
    LnkCtl2: Target Link Speed: 5GT/s, EnterCompliance- SpeedDis-
    Transmit Margin: Normal Operating Range, EnterModifiedCompliance- ComplianceSOS-
    Compliance De-emphasis: -6dB
    LnkSta2: Current De-emphasis Level: -3.5dB, EqualizationComplete-, EqualizationPhase1-
    EqualizationPhase2-, EqualizationPhase3-, LinkEqualizationRequest-
    Capabilities: [100 v2] Advanced Error Reporting
    UESta: DLP- SDES- TLP- FCP- CmpltTO+ CmpltAbrt- UnxCmplt- RxOF- MalfTLP- ECRC- UnsupReq- ACSViol-
    UEMsk: DLP- SDES- TLP- FCP- CmpltTO- CmpltAbrt- UnxCmplt- RxOF- MalfTLP- ECRC- UnsupReq- ACSViol-
    UESvrt: DLP+ SDES+ TLP- FCP+ CmpltTO- CmpltAbrt- UnxCmplt- RxOF+ MalfTLP+ ECRC- UnsupReq- ACSViol-
    CESta: RxErr- BadTLP- BadDLLP- Rollover- Timeout- NonFatalErr-
    CEMsk: RxErr- BadTLP- BadDLLP- Rollover- Timeout- NonFatalErr+
    AERCap: First Error Pointer: 0e, GenCap+ CGenEn- ChkCap+ ChkEn-

    01:00.0 PCI bridge: Texas Instruments XIO2001 PCI Express-to-PCI Bridge (rev ff) (prog-if ff)
    !!! Unknown header type 7f

    root@am57xx-evm:~#
    =============================
  • Hello,

    Now we are able to detect PCI device on AM5728,  by disabling the external arbitration feature.

    /------------------------------- Log -------------------------------------------/

    root@am57xx-evm:~# lspci
    0000:00:00.0 PCI bridge: Texas Instruments Device 8888 (rev 01)
    0000:01:00.0 PCI bridge: Texas Instruments XIO2001 PCI Express-to-PCI Bridge
    0000:02:00.0 Ethernet controller: Qualcomm Atheros AR2413/AR2414 Wireless Network Adapter [AR5005G(S) 802.11bg] (rev 01)
    0000:02:01.0 RF controller: Device 1847:0102 (rev 01)
    0001:00:00.0 PCI bridge: Texas Instruments Device 8888 (rev 01)
    root@am57xx-evm:~#
    /----------------------------- END -------------------------------------------/
    Thank you for your quick support.
    Regards,
    -- Ronak