u-boot/arch/arm
Stefan Eichenberger 50b5544c05 arm: mvebu: a38x: serdes: improve USB3 electrical configuration
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: Stefan Eichenberger <eichest@gmail.com>
Signed-off-by: René Straub <rene.straub@netmodule.com>
Reviewed-by: Stefan Roese <sr@denx.de>
2021-12-19 09:50:47 +01:00
..
cpu fdt_support: Remove FDT_STATUS_FAIL_ERROR_CODE 2021-12-19 09:50:47 +01:00
dts phy: marvell: a3700: Convert to official DT bindings in COMPHY driver 2021-12-19 09:50:47 +01:00
include clk: ast2600: Add RSACLK control for ACRY 2021-11-17 17:05:00 -05:00
lib Prepare v2022.01-rc3 2021-11-29 12:00:57 -05:00
mach-apple arm: apple: Add initial support for Apple's M1 SoC 2021-10-31 08:46:44 -04:00
mach-aspeed ast2600: spl: Locate load buffer in DRAM space 2021-11-17 17:05:00 -05:00
mach-at91 ARM: mach-at91: Add compile time option to choose proper timer 2021-12-16 11:41:45 +02:00
mach-bcm283x Xilinx changes for v2022.01-rc1 2021-09-30 11:29:41 -04:00
mach-bcmstb
mach-cortina
mach-davinci WS cleanup: remove SPACE(s) followed by TAB 2021-09-30 09:08:16 -04:00
mach-exynos Convert CONFIG_KEYBOARD to Kconfig 2021-12-05 09:26:26 -07:00
mach-highbank
mach-imx board: tq: fix spelling of "TQ-Systems" 2021-11-15 14:33:32 -05:00
mach-integrator
mach-ipq40xx
mach-k3 board: siemens: Add support for SIMATIC IOT2050 devices 2021-10-03 14:40:56 -04:00
mach-keystone WS cleanup: remove SPACE(s) followed by TAB 2021-09-30 09:08:16 -04:00
mach-kirkwood ide: Drop unused CONFIG options 2021-12-05 09:26:26 -07:00
mach-lpc32xx arm: lpc32xx: add EA LPC3250 DevKitv2 board support 2021-07-06 14:12:14 -04:00
mach-mediatek arm: mediatek: merge board Kconfigs into mach-mediatek 2021-09-23 14:15:32 -04:00
mach-meson ARM: amlogic: add sm efuse write support and cmd for read/write efuse 2021-10-29 14:06:45 +02:00
mach-mvebu arm: mvebu: a38x: serdes: improve USB3 electrical configuration 2021-12-19 09:50:47 +01:00
mach-nexell global: Convert simple_strtoul() with decimal to dectoul() 2021-08-02 13:32:14 -04:00
mach-octeontx WS cleanup: remove trailing empty lines 2021-09-30 08:08:56 -04:00
mach-octeontx2 WS cleanup: remove trailing empty lines 2021-09-30 08:08:56 -04:00
mach-omap2 WS cleanup: remove SPACE(s) followed by TAB 2021-09-30 09:08:16 -04:00
mach-orion5x WS cleanup: remove SPACE(s) followed by TAB 2021-09-30 09:08:16 -04:00
mach-owl
mach-qemu
mach-rmobile ARM: rmobile: beacon: Enable reference clocks for USB and AVB 2021-10-29 21:52:20 +02:00
mach-rockchip rk3399: Don't enable the debug UART if there is no driver 2021-11-17 17:04:59 -05:00
mach-s5pc1xx WS cleanup: remove SPACE(s) followed by TAB 2021-09-30 09:08:16 -04:00
mach-snapdragon board: samsung: add Samsung Galaxy S9/S9+(SM-G96x0) board 2021-10-31 11:25:38 -04:00
mach-socfpga WS cleanup: remove SPACE(s) followed by TAB 2021-09-30 09:08:16 -04:00
mach-sti
mach-stm32 serial: Rename SERIAL_SUPPORT to SERIAL 2021-09-04 12:26:01 -04:00
mach-stm32mp stm32mp15: tidy up #ifdefs in cpu.c 2021-11-10 17:07:31 +01:00
mach-sunxi sunxi: Avoid duplicate reset_cpu with SYSRESET enabled 2021-11-04 08:57:19 +01:00
mach-tegra ARM: tegra: Copy memory-region-names property 2021-10-13 14:18:30 -07:00
mach-u8500 board: stemmy: Update documentation 2021-09-01 19:25:37 -04:00
mach-uniphier mmc: Rename MMC_SUPPORT to MMC 2021-09-04 11:42:41 -04:00
mach-versal arm: Migrate GICV2 / GICV3 to Kconfig 2021-08-30 14:13:26 -04:00
mach-versatile WS cleanup: remove trailing empty lines 2021-09-30 08:08:56 -04:00
mach-zynq spi: Rename SPI_SUPPORT to SPI 2021-09-04 12:26:02 -04:00
mach-zynqmp arm64: zynqmp: allow overriding board name 2021-10-21 08:51:00 +02:00
mach-zynqmp-r5
thumb1/include/asm/proc-armv
config.mk ARM: Prevent the compiler from using NEON registers 2021-09-02 11:19:58 -04:00
Kconfig pinctrl: Add Apple pinctrl driver 2021-11-17 17:04:58 -05:00
Kconfig.debug
Makefile arm: apple: Add initial support for Apple's M1 SoC 2021-10-31 08:46:44 -04:00