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.

Issues using PCI board connected to XIO2001 EVM that is connected to DM816X EVM

Other Parts Discussed in Thread: XIO2001, AM3894

We currently bought a TI XIO2001 EVM to plug-in to the PCI-Express connector of the DM816X/389X EVM board to evaluate our custom PCI board that will interface with the TI AM3894 chip.  I have two PCI cards that I am using to verify the XIO2001 EVM board.  One PCI card is a NEC uPD720101 USB 2.0 Host Controller that contains 2 OHCI and 1 EHCI device.  Another PCI card that I am using is a Realtek RTL8139 10/100 network card.  I am currently using ti-ezsdk_dm816x-evm_5_02_02_60 SDK version of the DM816x (Sitara) EVM board.  I have enabled the OHCI and EHCI device driver in the Linux kernel of the SDK.

When Linux boots up, both the network and USBHC driver loads correctly.  Thus, PCI configuration space can be accessed correctly.  (I did have to use the PCI Memory Space of the network card instead of the PCI I/O space to get the driver loaded correctly for the RTL8139.  But, that issue can be covered later.)

Using lspci utility, this is what the PCI configuration looks like:

root@dm816x-evm:~# lspci -vv
00:00.0 Class 0604: Device 104c:8888 (rev 01)
        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
        Region 0: Memory at <ignored> (32-bit, non-prefetchable)
        Region 1: Memory at <ignored> (32-bit, prefetchable)
        Bus: primary=00, secondary=01, subordinate=02, sec-latency=0
        Memory behind bridge: 20000000-200fffff
        Prefetchable memory behind bridge: 20100000-201fffff
        Secondary status: 66M;Hz- 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, Latency L0s <64ns, L1 <1us
                        ExtTag- RBE+ FLReset-
                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, Latency L0 <2us, L1 <64us
                        ClockPM- Surprise- LLActRep+ BwNot-
                LnkCtl: ASPM Disabled; RCB 128 bytes Disabled- Retrain- 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 0200, PMEStatus- PMEPending-
                DevCap2: Completion Timeout: Range ABCD, TimeoutDis+ ARIFwd-
                DevCtl2: Completion Timeout: 50us to 50ms, TimeoutDis- ARIFwd-
                LnkCtl2: Target Link Speed: 5GT/s, EnterCompliance- SpeedDis-, Selectable De-emphasis: -6dB
                         Transmit Margin: Normal Operating Range, EnterModifiedCompliance- ComplianceSOS-
                         Compliance De-emphasis: -6dB
                LnkSta2: Current De-emphasis Level: -3.5dB
        Capabilities: [100 v1] 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: 00, GenCap+ CGenEn- ChkCap+ ChkEn-

01:00.0 Class 0604: Device 104c:8240
        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
        Bus: primary=01, secondary=02, subordinate=02, sec-latency=0
        Memory behind bridge: 20000000-200fffff
        Prefetchable memory behind bridge: 0000000020100000-00000000201fffff
        Secondary status: 66MHz+ FastB2B+ ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort+ <SERR- <PERR-
        BridgeCtl: Parity+ SERR- NoISA- VGA- MAbort+ >Reset- FastB2B-
                PriDiscTmr- SecDiscTmr- DiscTmrStat- DiscTmrSERREn-
        Capabilities: [40] Subsystem: Device 0000:0000
        Capabilities: [48] 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-
                Bridge: PM- B3+
        Capabilities: [50] MSI: Enable- Count=1/16 Maskable- 64bit+
                Address: 0000000000000000  Data: 0000
        Capabilities: [70] Express (v2) PCI/PCI-X Bridge, MSI 00
                DevCap: MaxPayload 512 bytes, PhantFunc 0, Latency L0s <64ns, L1 <1us
                        ExtTag- AttnBtn- AttnInd- PwrInd- RBE+ FLReset-
                DevCtl: Report errors: Correctable- Non-Fatal- Fatal- Unsupported-
                        RlxdOrd- ExtTag- PhantFunc- AuxPwr- NoSnoop- BrConfRtry-
                        MaxPayload 128 bytes, MaxReadReq 512 bytes
                DevSta: CorrErr+ UncorrErr- FatalErr- UnsuppReq- AuxPwr- TransPend-
                LnkCap: Port #0, Speed 2.5GT/s, Width x1, ASPM L0s L1, Latency L0 <1us, L1 <16us
                        ClockPM+ Surprise- LLActRep- BwNot-
                LnkCtl: ASPM Disabled; Disabled- Retrain- CommClk-
                        ExtSynch- ClockPM- AutWidDis- BWInt- AutBWInt-
                LnkSta: Speed 2.5GT/s, Width x1, TrErr- Train- SlotClk+ DLActive- BWMgmt- ABWMgmt-
                DevCap2: Completion Timeout: Not Supported, TimeoutDis-
                DevCtl2: Completion Timeout: 50us to 50ms, TimeoutDis-
                LnkCtl2: Target Link Speed: 2.5GT/s, EnterCompliance- SpeedDis-, Selectable De-emphasis: -6dB
                         Transmit Margin: Normal Operating Range, EnterModifiedCompliance- ComplianceSOS-
                         Compliance De-emphasis: -6dB
                LnkSta2: Current De-emphasis Level: -6dB
        Capabilities: [100 v1] 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: 00, GenCap+ CGenEn- ChkCap+ ChkEn-

02:00.0 Class 0200: Device 10ec:8139 (rev 10)
        Subsystem: Device 10ec:8139
        Control: I/O- Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr+ Stepping- SERR+ FastB2B- DisINTx-
        Status: Cap+ 66MHz- UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
        Latency: 0 (8000ns min, 16000ns max)
        Interrupt: pin A routed to IRQ 48
        Region 0: I/O ports at <unassigned> [disabled]
        Region 1: Memory at 20002000 (32-bit, non-prefetchable) [size=256]
        [virtual] Expansion ROM at 20100000 [disabled] [size=64K]
        Capabilities: [50] Power Management version 2
                Flags: PMEClk- DSI- D1+ D2+ AuxCurrent=0mA PME(D0-,D1+,D2+,D3hot+,D3cold-)
                Status: D0 NoSoftRst- PME-Enable- DSel=0 DScale=0 PME-
        Kernel driver in use: 8139too

02:02.0 Class 0c03: Device 1033:0035 (rev 43) (prog-if 10)
        Subsystem: Device 1758:0035
        Control: I/O- Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr+ Stepping- SERR+ FastB2B- DisINTx-
        Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
        Latency: 8 (250ns min, 10500ns max), Cache Line Size: 64 bytes
        Interrupt: pin A routed to IRQ 48
        Region 0: Memory at 20000000 (32-bit, non-prefetchable) [size=4K]
        Capabilities: [40] Power Management version 2
                Flags: PMEClk- DSI- D1+ D2+ AuxCurrent=0mA PME(D0+,D1+,D2+,D3hot+,D3cold-)
                Status: D0 NoSoftRst- PME-Enable- DSel=0 DScale=0 PME-
        Kernel driver in use: ohci_hcd

02:02.1 Class 0c03: Device 1033:0035 (rev 43) (prog-if 10)
        Subsystem: Device 1758:0035
        Control: I/O- Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr+ Stepping- SERR+ FastB2B- DisINTx-
        Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
        Latency: 8 (250ns min, 10500ns max), Cache Line Size: 64 bytes
        Interrupt: pin B routed to IRQ 48
        Region 0: Memory at 20001000 (32-bit, non-prefetchable) [size=4K]
        Capabilities: [40] Power Management version 2
                Flags: PMEClk- DSI- D1+ D2+ AuxCurrent=0mA PME(D0+,D1+,D2+,D3hot+,D3cold-)
                Status: D0 NoSoftRst- PME-Enable- DSel=0 DScale=0 PME-
        Kernel driver in use: ohci_hcd

02:02.2 Class 0c03: Device 1033:00e0 (rev 04) (prog-if 20)
        Subsystem: Device 1758:2001
        Control: I/O- Mem+ BusMaster+ SpecCycle- MemWINV+ VGASnoop- ParErr+ Stepping- SERR+ FastB2B- DisINTx-
        Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
        Latency: 68 (4000ns min, 8500ns max), Cache Line Size: 64 bytes
        Interrupt: pin C routed to IRQ 48
        Region 0: Memory at 20002100 (32-bit, non-prefetchable) [size=256]
        Capabilities: [40] Power Management version 2
                Flags: PMEClk- DSI- D1+ D2+ AuxCurrent=0mA PME(D0+,D1+,D2+,D3hot+,D3cold-)
                Status: D0 NoSoftRst- PME-Enable- DSel=0 DScale=0 PME-
        Kernel driver in use: ehci_hcd

root@dm816x-evm:~# lspci -xxx
00:00.0 Class 0604: Device 104c:8888 (rev 01)
00: 4c 10 88 88 47 01 10 00 01 00 04 06 10 00 01 00
10: 00 00 00 51 08 00 00 80 00 01 02 00 f0 00 00 00
20: 00 20 00 20 10 20 10 20 00 00 00 00 00 00 00 00
30: 00 00 00 00 40 00 00 00 00 00 00 00 30 01 01 00
40: 01 50 03 00 00 00 00 00 00 00 00 00 00 00 00 00
50: 05 70 80 00 00 00 00 00 00 00 00 00 00 00 00 00
60: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
70: 10 00 42 00 01 80 00 00 10 28 00 00 22 54 13 00
80: 08 00 11 30 40 00 00 00 c0 03 40 00 00 00 00 00
90: 00 02 03 00 1f 00 00 00 00 00 00 00 00 00 00 00
a0: 02 00 01 00 00 00 00 00 00 00 00 00 00 00 00 00
b0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
c0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
d0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
e0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
f0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00

01:00.0 Class 0604: Device 104c:8240
00: 4c 10 40 82 47 01 10 00 00 00 04 06 10 00 01 00
10: 00 00 00 00 00 00 00 00 01 02 02 00 f1 01 a0 22
20: 00 20 00 20 11 20 11 20 00 00 00 00 00 00 00 00
30: 00 00 00 00 40 00 00 00 00 00 00 00 00 00 21 00
40: 0d 48 00 00 00 00 00 00 01 50 03 06 08 00 40 00
50: 05 70 88 00 00 00 00 00 00 00 00 00 00 00 00 00
60: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
70: 10 00 72 00 02 80 00 00 00 20 01 00 11 4c 06 00
80: 00 00 11 10 00 00 00 00 00 00 00 00 00 00 00 00
90: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
a0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
b0: 00 00 00 08 00 00 1f 00 00 00 00 00 00 00 00 00
c0: 01 00 00 01 08 01 12 00 80 20 14 32 00 00 00 00
d0: 00 00 00 00 5f 02 00 86 00 00 00 00 40 00 00 00
e0: 00 00 00 00 00 00 00 00 43 04 08 00 7f 00 c0 00
f0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00

02:00.0 Class 0200: Device 10ec:8139 (rev 10)
00: ec 10 39 81 46 01 90 02 10 00 00 02 00 00 00 00
10: 01 00 00 00 00 20 00 20 00 00 00 00 00 00 00 00
20: 00 00 00 00 00 00 00 00 00 00 00 00 ec 10 39 81
30: 00 00 00 00 50 00 00 00 00 00 00 00 30 01 20 40
40: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
50: 01 00 02 76 00 00 00 00 00 00 00 00 00 00 00 00
60: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
70: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
80: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
90: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
a0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
b0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
c0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
d0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
e0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
f0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00

02:02.0 Class 0c03: Device 1033:0035 (rev 43)
00: 33 10 35 00 46 01 10 02 43 10 03 0c 10 08 80 00
10: 00 00 00 20 00 00 00 00 00 00 00 00 00 00 00 00
20: 00 00 00 00 00 00 00 00 00 00 00 00 58 17 35 00
30: 00 00 00 00 40 00 00 00 00 00 00 00 30 01 01 2a
40: 01 00 02 7e 00 00 00 00 00 00 00 00 00 00 00 00
50: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
60: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
70: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
80: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
90: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
a0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
b0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
c0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
d0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
e0: 05 33 b0 6c 00 00 00 00 00 00 00 00 00 00 00 00
f0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00

02:02.1 Class 0c03: Device 1033:0035 (rev 43)
00: 33 10 35 00 46 01 10 02 43 10 03 0c 10 08 00 00
10: 00 10 00 20 00 00 00 00 00 00 00 00 00 00 00 00
20: 00 00 00 00 00 00 00 00 00 00 00 00 58 17 35 00
30: 00 00 00 00 40 00 00 00 00 00 00 00 30 02 01 2a
40: 01 00 02 7e 00 00 00 00 00 00 00 00 00 00 00 00
50: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
60: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
70: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
80: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
90: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
a0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
b0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
c0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
d0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
e0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
f0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00

02:02.2 Class 0c03: Device 1033:00e0 (rev 04)
00: 33 10 e0 00 56 01 10 02 04 20 03 0c 10 44 00 00
10: 00 21 00 20 00 00 00 00 00 00 00 00 00 00 00 00
20: 00 00 00 00 00 00 00 00 00 00 00 00 58 17 01 20
30: 00 00 00 00 40 00 00 00 00 00 00 00 30 03 10 22
40: 01 00 02 7e 00 00 00 00 00 00 00 00 00 00 00 00
50: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
60: 20 20 3f 00 00 00 00 00 00 00 00 00 00 00 00 00
70: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
80: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
90: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
a0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
b0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
c0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
d0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
e0: 05 33 b0 6c 00 00 00 00 01 00 00 00 00 00 08 c0
f0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00

So far so good.  The problem with the XIO2001 EVM/DM816X EVM is when I need to use the functionality of the PCI cards.

When I configure the Realtek RTL8139 network and plug-in a network cable to get a link up, the Realtek driver complains with the following message: 8139too 0000:02:00.0: eth2: PCI Bus error 5290.  This message appears continuously and I will not be able to do anything anymore with the DM816X board until a reboot/powercycle happens.  The PCI bus error number is the content of the PCI Status with Signaled System Error (bit 14) and Received Target Abort (bit 12) set.

As for using the NEC uPD720101 USB Host controller, if a USB device is plugged-in to the USB port of this PCI card, the following kernel messages appears continuously:

usb 5-2: new low speed USB device using ohci_hcd and address 2
ohci_hcd 0000:02:01.1: OHCI Unrecoverable Error, scheduling NEC chip restart
hub 5-0:1.0: cannot reset port 2 (err = -108)
hub 5-0:1.0: cannot reset port 2 (err = -108)
hub 5-0:1.0: cannot reset port 2 (err = -108)
hub 5-0:1.0: cannot reset port 2 (err = -108)
hub 5-0:1.0: cannot reset port 2 (err = -108)
hub 5-0:1.0: Cannot enable port 2.  Maybe the USB cable is bad?
hub 5-0:1.0: cannot disable port 2 (err = -108)
hub 5-0:1.0: cannot reset port 2 (err = -108)
hub 5-0:1.0: cannot reset port 2 (err = -108)
hub 5-0:1.0: cannot reset port 2 (err = -108)
hub 5-0:1.0: cannot reset port 2 (err = -108)
hub 5-0:1.0: cannot reset port 2 (err = -108)
hub 5-0:1.0: Cannot enable port 2.  Maybe the USB cable is bad?
hub 5-0:1.0: cannot disable port 2 (err = -108)
hub 5-0:1.0: cannot reset port 2 (err = -108)
hub 5-0:1.0: cannot reset port 2 (err = -108)
hub 5-0:1.0: cannot reset port 2 (err = -108)
hub 5-0:1.0: cannot reset port 2 (err = -108)
hub 5-0:1.0: cannot reset port 2 (err = -108)
hub 5-0:1.0: Cannot enable port 2.  Maybe the USB cable is bad?
hub 5-0:1.0: cannot disable port 2 (err = -108)
hub 5-0:1.0: cannot reset port 2 (err = -108)
hub 5-0:1.0: cannot reset port 2 (err = -108)
hub 5-0:1.0: cannot reset port 2 (err = -108)
hub 5-0:1.0: cannot reset port 2 (err = -108)
hub 5-0:1.0: cannot reset port 2 (err = -108)
hub 5-0:1.0: Cannot enable port 2.  Maybe the USB cable is bad?
hub 5-0:1.0: cannot disable port 2 (err = -108)
hub 5-0:1.0: unable to enumerate USB device on port 2
hub 5-0:1.0: cannot disable port 2 (err = -108)
hub 5-0:1.0: hub_port_status failed (err = -108)
usb 5-2: new low speed USB device using ohci_hcd and address 6
ohci_hcd 0000:02:01.1: OHCI Unrecoverable Error, scheduling NEC chip restart
hub 5-0:1.0: cannot reset port 2 (err = -108)
hub 5-0:1.0: cannot reset port 2 (err = -108)
hub 5-0:1.0: cannot reset port 2 (err = -108)
hub 5-0:1.0: cannot reset port 2 (err = -108)
hub 5-0:1.0: cannot reset port 2 (err = -108)
hub 5-0:1.0: Cannot enable port 2.  Maybe the USB cable is bad?
hub 5-0:1.0: cannot disable port 2 (err = -108)
hub 5-0:1.0: cannot reset port 2 (err = -108)
hub 5-0:1.0: cannot reset port 2 (err = -108)
hub 5-0:1.0: cannot reset port 2 (err = -108)
hub 5-0:1.0: cannot reset port 2 (err = -108)
hub 5-0:1.0: cannot reset port 2 (err = -108)
hub 5-0:1.0: Cannot enable port 2.  Maybe the USB cable is bad?
hub 5-0:1.0: cannot disable port 2 (err = -108)
hub 5-0:1.0: cannot reset port 2 (err = -108)
hub 5-0:1.0: cannot reset port 2 (err = -108)
hub 5-0:1.0: cannot reset port 2 (err = -108)
hub 5-0:1.0: cannot reset port 2 (err = -108)

The kernel message will stop when I unplug the USB cable.  In this case, the USB device is a USB keyboard.

I did try the following setup (ASUS PC Motherboard <- PCIe -> XIO2001 EVM <--> NEC uPD720101) and the NEC USB Host Controller PCI card worked as expected.  So, I know that the XIO2001 EVM works (if not connected to the DM816X EVM).

Is there something that I have missed in the DM816X EVM or XIO2001 EVM board hardware setup that maybe causing my issues?  Is there something in the DM816X EVM Linux kernel that must also be configured to make this work correctly?

Did anybody verify that the TI XIO2001 EVM board (PCIe-to-PCI bridge) will work with the DM816X EVM board?

Any help is appreciated as this will block the evaluation of DM816X board with our custom PCI card.

-Maynard

  • Maynard,

    Yet to look into complete details you sent, but can you try/confirm following?

    1) Set read request size on XIO bridge to 256 Bytes. Refer Root Complex driver user guide.

    2) Check the PCI card drivers and see if they are making non 32-bit accesses to their BARs (e.g., using readb()). If yes and if the BARs have constraints about byte/word accesses only, we may face issue here since DM816x PCIe converts them to 32-bit accesses. Another way to check if this really is the problem is by updating the driver to do 32-bit memory accesses and try it on the PC (where it was working earlier) and if it gives same errors.

    3) From logs it seems that none of the driver would depend on PCI I/O and would only do memory accesses, can you confirm?

       Hemant

  • Hi Hemant,

    Thanks for the quick response.  Answers to your questions.

    1. This appears to be the culprit.  After I implemented a pci_quirk_xxx function when it detects the XIO2001 to set the MRRQS to 256, both the NEC USB Host Controller and Realtek Network PCI devices work.  Thanks for pointing this out to me.  I read this on the RC User Guide before but I only checked the PCI devices.  I forgot about the XIO2001 bridge.

    2. Since your first suggestion works, I did not bother doing this experiment.

    3. The Realtek RTL8139 PCI device does use PCI I/O if CONFIG_8139TOO_PIO is enabled in the Linux configuration.  I have to disable this to get the driver loaded.  If CONFIG_8139TOO_PIO is enabled, the driver will fail to load correctly and the ethernet interface will not get enumerated.  Below is the kernel message when it fails:

    8139too: 8139too Fast Ethernet driver 0.9.28
    PCI: enabling device 0000:02:00.0 (0140 -> 0142)
    8139too 0000:02:00.0: region #0 not a PIO resource, aborting
    Trying to free nonexistent resource <0000000020002000-00000000200020ff>

    -Maynard

  • Maynard,

    Good that it is working for you now.

    On 3rd point, PCIe I/O is not supported so the BARs may remain unconfigured and you see that error. You have taken correct approach to disable I/O for driver.

       Hemant