Ethernet switch chips

Hi,

We are putting together a card using an iMX processor which will be running Linux. I expect that much of the design will be similar to Freescale's cards.

One difference is that we want to use an Ethernet switch device to provide several Ethernet ports, rather than just a simple PHY. An example would be something like the ADM6996 from Lantiq (bought from Infineon) - the chip has an MII interface and 5 TX ports. There are similar devices from SMSC, Micrel, etc.

As they stand, these are easily attached to the processor's MII interface, and function as simple switches. But they can also be used as managed switches with tagged VLAN support - this would let us consider the ports as individual Ethernet ports.

Has anyone used such switches, or know of how these are supported in the Linux kernel? I know that some special distributions (such as openwrt) aimed at router devices have drivers for some of these switches, but I am looking for recommendations or overviews over switch chips that are supported as standard within the kernel. I know that we can always handle these devices "manually" using their serial interfaces, but if there are standard kernel drivers that are known to work, it would make things easier.

Thanks for any pointers.

mvh.,

David

Reply to
David Brown
Loading thread data ...

If you look in the linux kernel sources, there is support for switch chips that make each port look like a separate device. For example, in net/dsa there are drivers for several of Marvel's managed switch chips that use the VLAN feature to provide separate access to each physical port.

Disclaimer: I haven't used any of that Linux switch support in a product, but I have read through some of the source code.

--
Grant Edwards               grant.b.edwards        Yow! I want my nose in
                                  at               lights!
                              gmail.com
Reply to
Grant Edwards

I found the Marvell drivers you mentioned not long after posting. But I didn't see any others in the standard kernel. It could be that there are different devices that use a similar configuration system - perhaps DSA is a standard? It would be useful to know if there is support for other devices, so that we have a choice - otherwise it's good to know about the Marvell chip support. Looking at their website, the 88e6060 chip will do the job nicely - /if/ it's something our distributors stock and have at a reasonable price!

Thanks for the information,

David

Reply to
David Brown

I haven't looked through any of the other sources enough to figure out exactly what they do, but I know that some of the Broadcom switches that are support by OpenWrt appear to support VLAN features which let you partition the switch and make each partition appear as a separate ethernet device.

I think "DSA" is strictly a Marvell thing. Other switch vendors support similar feature sets, but not in a driver-compatible manner.

None of the switch vendors are very easy to deal with.

AFAICT, they all require NDAs and you've got to pry documents out of them one at a time. At least with Marvell you end up with "normal" PDF files instead of the annoying DRMed, password protected ones that you get from Broadcom.

--
Grant Edwards               grant.b.edwards        Yow! I like your SNOOPY
                                  at               POSTER!!
                              gmail.com
Reply to
Grant Edwards

Yes, I had a look at some things in OpenWRT. They certainly had support for ADM6996 devices as drivers, and I know they have support for many other devices including Broadcom. I use OpenWRT with Linksys WRT54GL routers, which have Broadcom devices - in many ways it's the flexibility of these that showed me what can be achieved with VLAN. However, these seem to be OpenWRT-specific modifications that are not part of the mainline kernel. Porting is always a possibility, but it's nice to avoid it if we can.

I suppose it all comes down to the fact that these sorts of switch chips are not often mounted on the motherboard, except for router devices, so they are not supported in the mainline kernel or mainstream distros. It looks like the conclusion is that there happens to be support for Marvell devices in the kernel, but other than that we'll have work to do

- either porting from router distro kernels, or simply configuring the devices "manually" over an SPI bus (that doesn't look too hard).

Marvell and SMSC both provide datasheets to download as needed, while with others (like Broadcom and Lantiq) you have to ask them. I'm not too worried about getting the documentation, as long as one of our main distributors (Arrow, EBV, Future, Silica) carries them - all of our distributors are very good at getting information for us. The problems (or "challenges") start when you have to deal with the company directly, or if they have minimum order quantities in the thousands.

Many thanks for your comments here. You've mostly confirmed what I thought already, but it's good to have such independent confirmation.

mvh.,

David

Reply to
David Brown

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.