I am currently running Linux 3.8 Kernel distributed with the MCSDK. We are running on custom hardware and are noticing poor electrical characteristics with our PCIe interface. The layout has been done according to all known good practices for high speed digital signal but the eye diagrams that we see seem to be extremely closed. The Keystone II Serdes documentation says that the transmitter is "highly programmable" and allows for equalization, and amplitude adjustments. Unfortunately it seems the registers needed for this type of calibration are not heavily documented. In the serdes configuration within the Linux Kernel seems to be located in /drivers/pci/host/k2-platform.c and it seems to be just a ton of raw register writes with no documentation on how I could alter the configuration. The register writes seem to match the configuration located in the MCSDK PDK located at ti/csl/src/ip/serdes_sb/v0/csl_wiz8_sb_refclk100MHz_pci_5Gbps.c.
Is there any documentation on how I can adjust the equalization settings for the transmitter (and possibly the receiver) and also the output voltage swing?