drivers/net/ksz9477.c: Errata 16, reset SGMII always on init

This commit is contained in:
Jani Paalijarvi
2024-11-20 14:33:50 +02:00
committed by Alan C. Assis
parent 56870fb0ea
commit e2b1d186d7
2 changed files with 12 additions and 0 deletions

View File

@@ -640,6 +640,14 @@ int ksz9477_init(ksz9477_port_t master_port)
return ret ? ret : -EINVAL;
}
/* Errata 16: SGMII registers are not initialized by hardware reset
* To ensure clean environment, reset the switch now.
*/
regval16 = SGMII_CONTROL_SOFT_RESET;
ret = ksz9477_sgmii_write_indirect(KSZ9477_SGMII_CONTROL,
&regval16, 1);
/* Check that indirect access to PHY MMD works.
* Write LED mode to single-LED mode and verify access by
* reading back the value.

View File

@@ -100,6 +100,10 @@
/* Register bit definitions */
/* KSZ9477_SGMII_CONTROL */
#define SGMII_CONTROL_SOFT_RESET (1 << 15)
/* KSZ9477_ID2, KSZ9477_ID1 */
#define KSZ9477_ID 0x9477