[CFR]RT305xF support, w/o attachment

PseudoCylon moonlightakkiy at yahoo.ca
Tue Mar 22 06:02:30 UTC 2011


> >> 
> >> I urge you to have a closer look at ral(4) and  it's way of handling
> >> RT2500 and RT2600 specific differences. In it's  simplest form you can
> >> copy the OpenBSD code 1:1 without any  functional changes, heck, it's
> >> the source of this driver  anyway.
> >> 
> >> -- 
> >> Bernhard
> 
> I've look on  difference between RT2[56]00 and RT2860 some time ago, but done 
>it again, and  found that we can only place
> RT2860/RT3090 support under same name (ral), but  hardware have too big 
>difference. And in case I do this patch for RT3052F  SoC,
> when I placing RT2860 into ral, i get completely different driver  (because SoC 
>don't use PCI interface). 
>
> 
> So can You (or someone else) hint  me, how to done this?
> 
> switch (what to do) {
> case 'Remake run to  support PCI and SoC interface':
>     Much work to make driver  bus independent;
> case 'Port OpenBSD one':
>     driver do not  support SoC (SoC device don't have MCU);
>     break;
> case  'Place my RT2860 under dev/ral':
>     different device in same  driver;
>     break;
> }
> 

I'd say porting OpenBSD's is smarter move than remaking run(4).

OpenBSD's ral(4) supports RT2800/RT3090,
http://www.openbsd.org/cgi-bin/man.cgi?apropos=0&sektion=4&query=ral&manpath=OpenBSD+Current&arch=i386&format=html

so ported code should nicely fit into FreeBSD's sys/dev/ral/ folder.

It seems pci related code is separated,
http://fxr.watson.org/fxr/source/dev/ral/
driver - pci code might nicely fit SoC code too.

FreeBSD's if_runreg.h is the same as OpenBSD's if_rt2860reg.h. (Though, I have 
been ignoring syncing changes related to RT3090. run(4) doesn't supports it.) In 
fact, OpenBSD doesn't have if_runreg.h, instead they share if_rt2860reg.h. We 
can separate, but >90% of them would be identical.

I don't have h/w but I might be able help you out non-SoC portion of code.


AK





More information about the freebsd-current mailing list