netdev.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* Re: Extend smc911x to support LAN921x chips - differences?
@ 2008-09-09 15:26 Steve.Glendinning
  2008-09-09 16:18 ` Guennadi Liakhovetski
  2008-09-09 20:08 ` Peter Korsgaard
  0 siblings, 2 replies; 17+ messages in thread
From: Steve.Glendinning @ 2008-09-09 15:26 UTC (permalink / raw)
  To: Guennadi Liakhovetski; +Cc: netdev, Ian.Saturley

Hi Guennadi,

> I have to support the LAN9215 chip from SMSC under Linux. Of course, 
there 
> is the manufacturer provided smsc911x driver, that supports both chip 
> families, but I would prefer to extend the mainline smc911x driver to 
also 
> support 921x. I have both datasheets, they are freely downloadable from 
> SMSC site, and I have both drivers, but they are absolutely different. 
To 
> make my decision and the work easier - maybe someone knows from the top 
of 
> their head, what the relevant differences between the chips are?
> 
> The vendor driver does not really differentiate between the chips. It 
does 
> read the chip version, and sets the "generation" variable, but then that 

> variable is only used once to rule out the oldest chips, which anyway 
are 
> not supported by smc911x. So I tried the in-kernel driver with only 
added 
> chip IDs added, it can access registers, read and write the MAC-address, 

> interrupts are generated too, but so far I see nothing on the wire, and 
> the PHY reports "link down".

Did you have the in-tree driver succesfully working with LAN9115?

The only hardware difference between the two is that LAN921[5678] has an
Auto-MDIX PHY.  This adds a configuration bit in one of the 
vendor-specific
PHY registers to force the feature off, but it defaults to Auto-MDIX 
enabled.
All of the SCR and MAC registers (and the remaining PHY registers) are 
*identical*, so any working driver should just need the ID register
changing to recognise the newer part.

Early revisions of LAN911X had a hardware bug which is most commonly
experienced when joining/leaving multicast groups.  The smsc911x driver
contains a workaround for this, but the in-tree driver does not.  LAN921X
came after this was fixed in hardware, so this workaround is not 
necessary.

The vast majority of users i've worked with have ended up using the
out-of-tree smsc911x driver, as it "just works" on many platforms.
I'll be re-submitting another candidate when I've finished working on the
LAN9500 USB ethernet driver, but for now the latest submission:

http://marc.info/?l=linux-netdev&m=121240395122475&w=2

Regards,
--
Steve Glendinning
SMSC GmbH
m: +44 777 933 9124
e: steve.glendinning@smsc.com


^ permalink raw reply	[flat|nested] 17+ messages in thread

end of thread, other threads:[~2008-10-13  4:05 UTC | newest]

Thread overview: 17+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2008-09-09 15:26 Extend smc911x to support LAN921x chips - differences? Steve.Glendinning
2008-09-09 16:18 ` Guennadi Liakhovetski
2008-09-09 20:08 ` Peter Korsgaard
2008-10-10 23:33   ` [PATCH, RFC] Extend smc911x to support LAN921x chips Guennadi Liakhovetski
2008-10-11  7:22     ` Peter Korsgaard
2008-10-11  9:00       ` Guennadi Liakhovetski
2008-10-11 16:48         ` Peter Korsgaard
2008-10-11 20:30           ` Guennadi Liakhovetski
2008-10-12  7:38             ` Peter Korsgaard
2008-10-11 21:10           ` [PATCH] smc911x: Fix external PHY detection Guennadi Liakhovetski
2008-10-11 22:07             ` David Miller
2008-10-12  7:43             ` Peter Korsgaard
2008-10-11 21:13           ` [PATCH] smc911x: Add support for LAN921{5,7,8} chips from SMSC Guennadi Liakhovetski
2008-10-11 22:08             ` David Miller
2008-10-11 22:59               ` [PATCH v2] " Guennadi Liakhovetski
2008-10-12  7:54                 ` Peter Korsgaard
2008-10-13  4:05                   ` David Miller

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).