MIPS: Octeon: fix CN6640 hang on XAUI init
authorStijn Tintel <stijn@linux-ipv6.be>
Sun, 3 Apr 2022 02:59:49 +0000 (05:59 +0300)
committerThomas Bogendoerfer <tsbogend@alpha.franken.de>
Tue, 26 Apr 2022 13:12:03 +0000 (15:12 +0200)
Some CN66XX series Octeon II chips seem to hang if a reset is issued on
XAUI initialization. Avoid the hang by disabling the reset.

Tested on SNIC10E.

Signed-off-by: Stijn Tintel <stijn@linux-ipv6.be>
Signed-off-by: Thomas Bogendoerfer <tsbogend@alpha.franken.de>
arch/mips/cavium-octeon/executive/cvmx-helper-xaui.c

index fea71a8..a926322 100644 (file)
@@ -156,8 +156,9 @@ int __cvmx_helper_xaui_enable(int interface)
        xauiCtl.u64 = cvmx_read_csr(CVMX_PCSXX_CONTROL1_REG(interface));
        xauiCtl.s.lo_pwr = 0;
 
-       /* Issuing a reset here seems to hang some CN68XX chips. */
-       if (!OCTEON_IS_MODEL(OCTEON_CN68XX_PASS1_X) &&
+       /* Issuing a reset here seems to hang some CN66XX/CN68XX chips. */
+       if (!OCTEON_IS_MODEL(OCTEON_CN66XX) &&
+           !OCTEON_IS_MODEL(OCTEON_CN68XX_PASS1_X) &&
            !OCTEON_IS_MODEL(OCTEON_CN68XX_PASS2_X))
                xauiCtl.s.reset = 1;