From mboxrd@z Thu Jan 1 00:00:00 1970 From: Michael Welling Date: Fri, 6 Nov 2015 14:22:22 -0600 Subject: [U-Boot] Ethernet PHY Power Down Message-ID: <20151106202222.GC30552@deathstar> List-Id: MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: u-boot@lists.denx.de Lets try this again with list membership. I have run into an issue with a KSZ9031 Gigabit Ethernet PHY on an IMX6 module. After booting into Linux and rebooting the ethernet fails consistently. With a bit of investigation I found that the power-down bit in the PHY control register is being set on reboot. => dhcp BOOTP broadcast 1 BOOTP broadcast 2 BOOTP broadcast 3 BOOTP broadcast 4 BOOTP broadcast 5 . . Abort => mii dump 1 0 0. (1940) -- PHY control register -- (8000:0000) 0.15 = 0 reset (4000:0000) 0.14 = 0 loopback (2040:0040) 0. 6,13 = b10 speed selection = 1000 Mbps (1000:1000) 0.12 = 1 A/N enable (0800:0800) 0.11 = 1 power-down (0400:0000) 0.10 = 0 isolate (0200:0000) 0. 9 = 0 restart A/N (0100:0100) 0. 8 = 1 duplex = full (0080:0000) 0. 7 = 0 collision test enable (003f:0000) 0. 5- 0 = 0 (reserved) When I manually toggle the power down bit it starts to work again. => mii write 1 0 1140 => dhcp FEC Waiting for PHY auto negotiation to complete........ done BOOTP broadcast 1 DHCP client bound to address 192.168.0.12 (62 ms) I tried performing the above steps in the PHY driver code with little luck. When I toggle the bit in the code the first dhcp always fails but then it works on subsequent attempts. Any ideas? Has anyone else seen this issue with other PHYs?