starting ethernet switch in SMI mode

Sascha Hauer s.hauer at
Wed Jul 4 16:23:40 EDT 2012

On Wed, Jul 04, 2012 at 01:53:39PM +0200, Vanalme Filip wrote:
> Hi,
> On our board with i.MX27 processor, we have a Micrel 5-port Managed
> Ethernet switch (ksz8895mq). When starting in normal MII mode, from
> the Barebox prompt, I can get an IP address by executing the dhcp
> command.  When I change the switch's mode to SPI (via hardware
> strapping), I'm not able to get an IP address anymore via DHCP. In
> this mode, one has to write to a register in the switch to make the
> switch start. So, within our startup code, I added some code to start
> the switch. Reading back the register, I see that the bit is set, so I
> assume the switch sould be running at that moment. However, when
> executing the dhcp command, I get "phy0: Autonegotiation timeout".
> That's strange, because, when I boot to Linux kernel, the kernel
> starts up without any problem and gets an IP address via DHCP. So in
> Linux, it's doing OK.  Because it is working in Linux, I'm quite sure
> the switch was started in a correct way.  I don't understand why
> Barebox is unable to contact the switch while there's no problem in
> Linux to do the same. Anyone any idea on this problem ?

Have you tried ignoring the return result from miidev_wait_aneg? I
assume barebox just can't communicate with the phy because the phy is in
SPI mode.


Pengutronix e.K.                           |                             |
Industrial Linux Solutions                 |  |
Peiner Str. 6-8, 31137 Hildesheim, Germany | Phone: +49-5121-206917-0    |
Amtsgericht Hildesheim, HRA 2686           | Fax:   +49-5121-206917-5555 |

More information about the barebox mailing list