]> git.karo-electronics.de Git - karo-tx-linux.git/commitdiff
ENGR00171622 - FEC : workaround for Gb enet in sabrelite board.
authorFugang Duan <B38611@freescale.com>
Wed, 11 Jan 2012 05:34:40 +0000 (13:34 +0800)
committerLothar Waßmann <LW@KARO-electronics.de>
Fri, 24 May 2013 06:33:47 +0000 (08:33 +0200)
Micrel phy KSZ9021 Gb speed cannot work well in i.MX6 sabrelite
board. Advertise PHY is not 1000Base-T capable.

If nfs boot kernel, phy will work at 100Mbps, or else phy will
work at Gbps mode. And if hot-plugin cable, phy will work at Gbps
mode. Enet can work well in all of them.

But in Gbps mode, uDMA sometime cannot write  frame "L" bit in
exuberate transfer, so driver will print some warning message:
"FEC ENET: rcv is not +last"

Signed-off-by: Fugang Duan <B38611@freescale.com>
arch/arm/mach-mx6/board-mx6q_sabrelite.c

index f723048d4f5c54fff3863263326abedca0f8b796..cb22baae013c0d7fc9e02e41e24e0ee88fa54556 100644 (file)
@@ -428,8 +428,8 @@ static inline void mx6q_sabrelite_init_uart(void)
 
 static int mx6q_sabrelite_fec_phy_init(struct phy_device *phydev)
 {
-       /* prefer master mode, 1000 Base-T capable */
-       phy_write(phydev, 0x9, 0x0f00);
+       /* prefer master mode, disable 1000 Base-T capable */
+       phy_write(phydev, 0x9, 0x1c00);
 
        /* min rx data delay */
        phy_write(phydev, 0x0b, 0x8105);