Skip to content
  • Stefan Eichenberger's avatar
    arm: mvebu: a38x: serdes: improve USB3 electrical configuration · 50b5544c
    Stefan Eichenberger authored and Stefan Roese's avatar Stefan Roese committed
    This is a backport from Marvell U-Boot:
    https://github.com/MarvellEmbeddedProcessors/u-boot-marvell
    
    
    commit 381d029e7a ("fix: serdes: a38x, a39x: Improve USB3 electrical
    configuration")
    
    Improves electrical USB3 receiver jitter tolerance test:
    
    - De-Emphasize force, in functional mode the transmitter should always
    have 3.5db de-emphasize, so we are forcing it.
    
    - After forcing De-Emphasize, choose 3.5db (After forcing, default is
    6dB so need to change it to 3.5dB).
    
    - Align90 set to 0x58 - this is the sample point in the receiver, after
    the clock is recovered this sampler samples at the chosen value, usually
    it is supposed to be 0x60(which is the center of the eye), but sometimes
    after adding jitter and ISI the center of the eye can move slightly and
    the sample point is not necessarily the exact center, and after
    optimization (searching the middle of the eye manually) it was seen that
    the center of the eye is actually 0x58 and not 0x60.
    
    - FFE Res and FFE Cap set to 0xE & 0xF respectively: improves this
    settings is adequate according to how the USB3 spec defines the
    interconnect, thus improves USB3 jitter tolerance settings.
    
    - Change the resolution of the DFE to 0x3 which is 6mV(highest
    resolution) , this avoids the DFE to saturate and cease to work.
    
    - HPF set to 0x3 which is 5Khz high pass filter, the function of the HPF
    is to filter the low frequency patterns(below 5Khz) to make sure that
    the signal is not a noise, the setting before was 0x1(205Khz), and the
    change came since the USB3 CP0 pattern, that is used in the USB3 jitter
    tolerance testing, is similar to PRBS15, which has 2^15=32768bits which
    is 32768*200ps (200ps is one Unit interval in USB3(5Gbps)) = 6.5us,
    which is in frequency terms: 152Khz. since the PRBS15 is a random
    pattern and can theoretically have once in a while a pattern that will
    be at frequency of 152Khz, hence the previous setting (205khz HPF) can
    possibly filter this pattern which can cause to an error in the
    receiver, thus this change to avoid such scenarios.
    
    Signed-off-by: default avatarStefan Eichenberger <eichest@gmail.com>
    Signed-off-by: default avatarRené Straub <rene.straub@netmodule.com>
    Reviewed-by: default avatarStefan Roese <sr@denx.de>
    50b5544c