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.

Legacy Endpoints in applications with DSP C6678

Hi,

I want to implement a communication PCI express between DSPC6678 and other devices via switches, and i have some questions:

1- What is the main difference between a Legacy Endpoint and native Endpoint?? in many doc. I found that:

   --Legacy Endpoints may support IO transactions, and Memory locked Read as a completer, PCIe Endpoint do not!

  -- Legacy devices are not required to support 64-bit memory addressing capability, PCIe Endpoint support it!

2- where I will need to use the Legacy Endpoints (applications), and HOW can i choose between the two types of Endpoints in my applications??

3- it's a physical differnce between the two Endpoints or just in software configuration??

Thank's

  • 1. What you mentioned are correct as the major differences between the Legacy Endpoint and the Native PCI Express Endpoint.

    The Legacy Endpoint could use older PCI bus operations to support backward compatibility as you mentioned before.

    2. If the Root Complex or host is PCI Express device and you plan to use the PCI Express driver in your setup, you can simply configure C6678 PCIe as Native PCIe device.

    There is no point to use Legacy PCI Endpoint mode if all the other peers only support PCI Express protocols.

    If the Master or host only supports PCI protocol and the driver is for PCI only, you may need to configure the C6678 PCIe as Legacy Endpoint, which supports the backward compatibility for PCI protocol. 

    3. I would say the difference is about the software configuration. Both Legacy and native Endpionts use PCI Express front end to interface it to the PCI Express fabric. And both types of Endpoints implement Type 0 PCI configuration headers and respond to configuration transaction as completers (PCIe device is backward compatible to PCI software driver).  The PCIe device will just emulate the conventional PCI bus operations in the software level.