![Marek Vasut](/assets/img/avatar_default.png)
The KSZ8021 PHY was previously caught by KS8051, which is not correct. This PHY needs additional setup if it is strapped for address 0. In such case an reserved bit must be written in the 0x16, "Operation Mode Strap Override" register. According to the KS8051 datasheet, that bit means "PHY Address 0 in non-broadcast" and it indeed behaves as such on KSZ8021. The issue where the ethernet controller (Freescale FEC) did not communicate with network is fixed by writing this bit as 1. Signed-off-by: Marek Vasut <marex@denx.de> Cc: David J. Choi <david.choi@micrel.com> Cc: David S. Miller <davem@davemloft.net> Cc: Nobuhiro Iwamatsu <nobuhiro.iwamatsu.yj@renesas.com> Signed-off-by: David S. Miller <davem@davemloft.net>
18 lines
459 B
C
18 lines
459 B
C
#ifndef _MICREL_PHY_H
|
|
#define _MICREL_PHY_H
|
|
|
|
#define MICREL_PHY_ID_MASK 0x00fffff0
|
|
|
|
#define PHY_ID_KSZ9021 0x00221610
|
|
#define PHY_ID_KS8737 0x00221720
|
|
#define PHY_ID_KSZ8021 0x00221555
|
|
#define PHY_ID_KS8041 0x00221510
|
|
#define PHY_ID_KS8051 0x00221550
|
|
/* both for ks8001 Rev. A/B, and for ks8721 Rev 3. */
|
|
#define PHY_ID_KS8001 0x0022161A
|
|
|
|
/* struct phy_device dev_flags definitions */
|
|
#define MICREL_PHY_50MHZ_CLK 0x00000001
|
|
|
|
#endif /* _MICREL_PHY_H */
|