[PATCH linux-phy 4/4] arm64: dts: armada-3720-turris-mox: Change comphy tx amplitude for 2500base-x mode

From: Marek Behún
Date: Wed Aug 17 2022 - 15:32:57 EST


Change comphy transmit amplitude to 1025 mV for 2500base-x mode on
comphy connected to Topaz.

This fixes issue wherein if the 8b/10b encoded packet contains a long
enough alternating sequence of bits (010101... or 101010...), which
happens if the packet contains a sequence of 'J' or '\xb5' bytes, the
packet may be lost when sent from A3720 to Topaz due to FCS error. The
probability of loss grows with the number of 'J's with default transmit
amplitude setting - with 114 'J's the probability is about 50%, with 125
'J's almost 100% of packets are lost.

Fixes: 7109d817db2e ("arm64: dts: marvell: add DTS for Turris Mox")
Signed-off-by: Marek Behún <kabel@xxxxxxxxxx>
---
arch/arm64/boot/dts/marvell/armada-3720-turris-mox.dts | 10 ++++++++++
1 file changed, 10 insertions(+)

diff --git a/arch/arm64/boot/dts/marvell/armada-3720-turris-mox.dts b/arch/arm64/boot/dts/marvell/armada-3720-turris-mox.dts
index ada164d423f3..74a7ac1f8ecb 100644
--- a/arch/arm64/boot/dts/marvell/armada-3720-turris-mox.dts
+++ b/arch/arm64/boot/dts/marvell/armada-3720-turris-mox.dts
@@ -181,6 +181,16 @@ &eth1 {
phys = <&comphy0 1>;
};

+&comphy0 {
+ /*
+ * Set peak to peak transmit amplitude to 1025 mV to fix issue wherein
+ * a packet may be lost if it contains a long enough sequence of 'J'
+ * or '\xb5' bytes.
+ */
+ tx-p2p-microvolt = <1025000>;
+ tx-p2p-microvolt-names = "2500base-x";
+};
+
&sdhci0 {
wp-inverted;
bus-width = <4>;
--
2.35.1