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.

XIO3130: PCIe 1-to-2 Packet Switch Need

Part Number: XIO3130
Other Parts Discussed in Thread: PROCESSOR-SDK-AM57X

Hello, 

I'm looking for a PCIe 1-to-2 packet switch.  Is XIO3130 suitable?  Also, most importantly, is there Win10 and non-GPL source code available for the recommended device?

Thanks,
Andrew

  • The XIO3130 is a 1-to-3 switch, so it would work.

    There is no source code because all OSes already have built-in drivers for PCI(e) switches.
  • Hello,

    My customer has a custom OS for their box and need to self develop drivers based on non-GPL source code. This is the reason for the source code availability request. Without this, customer will not be able to move forward with TI. Can we provide? You may contact me in a separate email if required.

    Andrew
  • Well, I wouldn't know if TI had some internal code.

    But this device is written to conform to the appropriate PCIe specifications, so there will not be any device-specific code. In theory, the PCIe code from any OS could be helpful.

    The PROCESSOR-SDK-AM57X has some PCIe code in the RTOS package, but the Processor SDK RTOS PCIe wiki page says:

    The PCIe peripheral can be used as a root complex. One or more other endpoints can be connected (more than one requires a PCIe switch on the board). The LLD configures the peripheral in RC mode. It doesn't attempt to emulate the full enumeration capability of a Linux driver. Instead the user will need to supply code specific to each endpoint they intend to support.

    It might be a better idea to look at one of the BSDs; for example, FreeBSD handles PCI/PCI bridges in sys/dev/pci/pci_pci.c. However, while that code handles enumerating devices, most of it is specific to FreeBSD.