Embedded switch instead of stadard PHY

Damjan Marion damjan.marion at gmail.com
Sun May 8 09:36:34 UTC 2011


On May 8, 2011, at 9:58 AM, Adrian Chadd wrote:

> On 8 May 2011 01:22, Damjan Marion <damjan.marion at gmail.com> wrote:
> 
>> I would like to implement support for embedded switch on WRT350Nv2 router which is based on 88F5181L SoC (ARM). FreeBSD already have support for embedded gigabit card (if_mge) but in case if this router MAC is connected directly to 8-port ethernet chip (88E6131). If I use MII_PHY_ANY scan founds following PHYs on miibus:
> 
> There's been some discussions in the past about how to implement a
> switch PHY API for use by the variety of embedded switch devices out
> there.
> 
> There's been a few attempts at it too.
> 
> What I think may just be a good first step is to port over the Linux
> driver for it and instead of trying to make it appear as a multi-PHY
> device, just export a programming and status interface via sysctl.
> That at least gets the thing in the tree and functioning. Once we have
> a few devices in the tree and functioning, we'll be in a better
> position to have a discussion about how to represent it.
> 
> There's a couple of dissenting views about how it should be
> implemented. I'd like to see some working code in the tree so some
> discussion can occur, rather than lots of dissent and no discussion.
> :)
> 
> (The switch phy is the last remaining bit of the board support for a
> handful of boards too, so I'd really like to see it completed. :)

Hi Adrian,

I agree with your approach. At this point my concern is how to change existing code to support switch PHY. In my case problem is that mii_attach as it is today cannot be used detect this device as device is not using standard registers.

I can see 2 possible options:
1. Modifying eth driver in the way that if switch phy is detected then it avoids calling mii_attach. Drawback of this approach is that it will need applying same code for each pair of MAC-switch PHY

2. Modifying mii_attach in the way that it is more flexible in detecting such devices. This looks challenging to me to do this in flexible way.

What do you think?

Damjan


More information about the freebsd-hackers mailing list