ath79: add QCA956x SERDES init workaround
This commit add a workaround for non working SGMII link observed on some
QCA956x SoCs. The workaround originates part from the U-Boot source code
from QCA, part from the implementation from TP-Link found in the GPL
tarball for the EAP245v1.
Extends commit
0d416a8d3b990e3b78628f0e7546527709c877f7 for QCA956x.
Note that reset is the same on QCA955x and QCA956x, same register offset
and values.
Auto calibration is done on u-boot, but always fall back to default value
0x7. Add a DTS entry serdes-cal in case a device require another value.
Signed-off-by: Julien Dusser <julien.dusser@free.fr>
[Sander Vanheule:
Minor code style fixes,
Remove hunk adding qca956x-serdes-fixup to a missing DTS,
Remove variable err that was only assigned,
Rename function to sgmii_serdes_init,
Lower priority of serdes call message to pr_debug]
Signed-off-by: Sander Vanheule <sander@svanheule.net>