Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 13 Oct 2011 23:49:03 +0200
From:      Marius Strobl <marius@alchemy.franken.de>
To:        YongHyeon PYUN <pyunyh@gmail.com>
Cc:        freebsd-net@freebsd.org, dave jones <s.dave.jones@gmail.com>
Subject:   Re: Question about GPIO bitbang MII
Message-ID:  <20111013214903.GH39118@alchemy.franken.de>
In-Reply-To: <20111012235707.GD9138@michelle.cdnetworks.com>
References:  <CANf5e8bcAfrXX%2BuqzVRoZJPmsvyPegx%2BFOYHSt-GHwEigUCoeg@mail.gmail.com> <20111009165838.GA19886@alchemy.franken.de> <20111010192238.GC1781@michelle.cdnetworks.com> <20111011212318.GC81376@alchemy.franken.de> <20111011225531.GD5661@michelle.cdnetworks.com> <20111012204222.GC39118@alchemy.franken.de> <20111012235707.GD9138@michelle.cdnetworks.com>

next in thread | previous in thread | raw e-mail | index | archive | help
On Wed, Oct 12, 2011 at 04:57:07PM -0700, YongHyeon PYUN wrote:
> On Wed, Oct 12, 2011 at 10:42:22PM +0200, Marius Strobl wrote:
> > On Tue, Oct 11, 2011 at 03:55:31PM -0700, YongHyeon PYUN wrote:
> > > On Tue, Oct 11, 2011 at 11:23:18PM +0200, Marius Strobl wrote:
> > > > On Mon, Oct 10, 2011 at 12:22:38PM -0700, YongHyeon PYUN wrote:
> > > > > On Sun, Oct 09, 2011 at 06:58:38PM +0200, Marius Strobl wrote:
> > > > > > On Fri, Oct 07, 2011 at 10:34:58AM +0800, dave jones wrote:
> > > > > > > Hi,
> > > > > > > 
> > > > > > > Does FreeBSD have gpio bitbang api for MII? If not, any driver in tree using
> > > > > > > gpio-bitbang mii that I can refer to? Thanks.
> > > > > > > It seems like OpenBSD, NetBSD and Linux have added support to gpio bitbang mii,
> > > > > > > and it's useful for porting embedded devices.
> > > > > > > 
> > > > > > 
> > > > > > If what you are referring to is their mii_bitbang.[c,h] then I've a patch
> > > > > > which (im)ports these and converts drivers to take advantage of it here:
> > > > > > http://people.freebsd.org/~marius/mii_bitbang.diff
> > > > > 
> > > > > Patch looks good to me.
> > > > > What about other drivers(rl(4), bm(4), lge(4), tl(4), nge(4), wb(4)
> > > > > and xe(4))?
> > > > > 
> > > > 
> > > > Meanwhile I've also converted bm(4), just re-fetch the patch. Generally
> > > > I've started with the drivers were the corresponding NetBSD one also
> > > > uses the common MII bitbang'ing code. As for nge(4), tl(4), wb(4) I'm
> > > > aware that these should also be convertible to the common code, I just
> > > > didn't get around to it so far. As for lge(4) that driver has some
> > > > remnants of MII bitbang'ing but doesn't actually use it AFAICT. I've
> > > 
> > > Ah, I just blindly grepped the string, sorry.
> > > 
> > > > previously missed rl(4) as I was only grepping beneath sys/dev and I
> > > > currently can't explain why I missed xe(4), so thanks for mentioning
> > > > these.
> > > > In my experience MII bitbang'ing is very fragile though and subtle
> > > > changes may break it so I don't want to commit these without testing
> > > > or in the case of smc(4) where at least the corresponding NetBSD
> > > > driver already uses the common code. Unfortunately, I only have
> > > > hardware for dc(4), stge(4), xl(4) and somewhere also for rl(4) and
> > > > tl(4) and I guess I can nwhitehorn@ regarding testing bm(4). Do you
> > > > happen to have hardware to test the remaining drivers, i.e. nge(4),
> > > > sis(4), ste(4), wb(4) and xe(4)?
> > > > 
> > > 
> > > I have access to sis(4) and ste(4). I also have a nge(4) but I'm
> > > not able to access to the hardware, at least in US.
> > > 
> > 
> > It would be great if you could test sis(4) and ste(4).
> > 
> 
> Ok, will do in this week.
> 

I just noticed that rl(4) only does MII bitbang'ing for the 8129 but I
only have a 8139. Do you happen do have the former so you could test the
patch with it?
The patch is now complete as far as I'm willing to convert drivers. What's
left is ed(4) and xe(4). The former has several chip specific things
interwinded and I'm unsure whether it can be converted to use the common
code; I'd at least like to have hardware for the special cases to give
that a try. Xe(4) currently doesn't use miibus(4) (but should) so I
don't see much point in adding a dependency on miibus(4) just for the
bitbang'ing code on it (nor do I for not adding the common code to
miibus(4)).

Marius





Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20111013214903.GH39118>