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.

DM8148 as PCIE Endpoint?

Hello,

I am working on a design using the DM8148 and needs the device to operate as a PCIE endpoint. We are trying to prototype and develop the drivers using the Mistral DM8148 EVM, but are not having any success with enumerating the PCIE device on boot.

We have tried

#1/ Setting dipswitches to set BTMODE to boot from PCIE then examining the pcie bus on a remote host. No device shows up

#2/ Just for completeness, running a boot server makes no difference to the boot sequence.

#3/ Using OneStopSystems remote adapters + passive flexPCB's with cross overs to connect the EVM to a PC host.

#4/ booting from SD card (the included card with the EVM with default software/firmware) and interrupting the boot. We have then modified the DM8148 registers manually, following the user guide sequences to configure the PLLs, reset the device and configure the EP appropriately. (Using the memory edit commands via the u-boot console).

#5/ Booting from the SD and trying to use devmem2 to edit registers - only to find their writes never stick and no changes happen

#6/ I also looked at the PCIE endpoint driver source, and extracted the register accesses from the pci.c files and replicated that entire sequence via the u-boot memory edit commands. 

No matter what we try, we've been unable to get output from the transmitters.  I had hoped to at least see electrical idle / training sets being output but we don't see anything being output at all.

Has anyone had success configuring the endpoint on the DM8148 (with or without the Mistral EVM?)

This is becoming a critical concern for us and would appreciate some confidence that the chip actually works as it's claimed.

thanks

Ian