Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 8 May 2011 11:36:23 +0200
From:      Damjan Marion <damjan.marion@gmail.com>
To:        Adrian Chadd <adrian@freebsd.org>
Cc:        freebsd-hackers@freebsd.org
Subject:   Re: Embedded switch instead of stadard PHY
Message-ID:  <84255DD0-2593-4F24-8536-2C015CE11DC4@gmail.com>
In-Reply-To: <BANLkTi=mr0f_t6aitbq%2BhF951C%2BEq9UuBw@mail.gmail.com>
References:  <34CF3ED0-52BC-4D0E-922A-FE26F624E77F@gmail.com> <BANLkTi=mr0f_t6aitbq%2BhF951C%2BEq9UuBw@mail.gmail.com>

next in thread | previous in thread | raw e-mail | index | archive | help

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

> On 8 May 2011 01:22, Damjan Marion <damjan.marion@gmail.com> wrote:
>=20
>> 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:
>=20
> 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.
>=20
> There's been a few attempts at it too.
>=20
> 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.
>=20
> 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.
> :)
>=20
> (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=



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?84255DD0-2593-4F24-8536-2C015CE11DC4>