Restore workaround for AR9331 hang on soft reset
authorPiotr Dymacz <pepe2k@gmail.com>
Mon, 24 Apr 2017 19:11:52 +0000 (21:11 +0200)
committerPiotr Dymacz <pepe2k@gmail.com>
Mon, 24 Apr 2017 19:11:52 +0000 (21:11 +0200)
commitaba8e6f81d6b84592a487526bddc33d916940bba
tree81e8ada5da41034ccb4b612dd63c1ae934fcc71a
parent82cf134f32a81845d0e8965422d483ff4ae26e30
Restore workaround for AR9331 hang on soft reset

This workaround was already included in ff7a030 and then removed in
d9ba54f. As it turned out, it's critical and required.

Tests showed that on some devices with AR9331, CPU PLL doesn't lock
after a soft reset with AHB clock divider lower than 4. In original code
from Qualcomm Atheros SDK, AHB clock divider is set to 4 before CPU PLL
is powered up. Then, when PLL update is done, divider is set to target
value.

Tests were made on multiple devices, with DDR1, DDR2 and different
AR9331 chip revisions: -AL1A, -AL2A and -AL3A. Unfortunately, the
problem exists in every configuration type, isn't related with chip
revision and is reproductible.

Without this workaround, some devices hangs at waiting for CPU PLL
update process to finish and can be recovered from this state only
with a hard reset.
u-boot/cpu/mips/ar7240/ar933x_pll_init.S