[U-Boot] Remove board specific code from ENC28J60 network driver?

Mike Frysinger vapier at gentoo.org
Sun Dec 20 21:05:50 CET 2009


On Sunday 20 December 2009 14:30:35 Dirk Behme wrote:
> For TI OMAP3 Beagle based Zippy expansion board from TinCanTools [1]
> I'm currently looking into reusing spi based ENC28J60 network driver
> 
> drivers/net/enc28j60.c
> 
> It seems to me that it uses LPC2292 specific macros
> 
> IO1CLR, IO1SET and IO1DIR
> 
> These macros are defined in
> 
> asm-arm/arch-lpc2292/lpc2292_registers.h

this is why we didnt bother trying to get this part working on Blackfin boards 
under u-boot.  it works fine for us under Linux, but the u-boot driver is a 
joke.

>  From enc28j60.c:
> 
> ...
> #define enc_enable() PUT32(IO1CLR, ENC_SPI_SLAVE_CS)
> #define enc_disable() PUT32(IO1SET, ENC_SPI_SLAVE_CS)
> ...
> 
> ...
> /* configure GPIO */
> (*((volatile unsigned long *) IO1DIR)) |= ENC_SPI_SLAVE_CS;
> (*((volatile unsigned long *) IO1DIR)) |= ENC_RESET;
> 
> /* CS and RESET active low */
> PUT32 (IO1SET, ENC_SPI_SLAVE_CS);
> PUT32 (IO1SET, ENC_RESET);
> ...
> 
> Anybody with an idea how to move this code to some (LPC2292?) board
> specific files to make enc28j60.c more generic to be able to reuse it
> on other boards?

unless the maintainers of the LPC2292 board are willing to help, i'd say just 
avoid the issue:
 - rename/move this driver to indicate it is specific to LPC2292
 - create a new driver based on the old one using the common SPI framework

once it starts using the common SPI framework, i should be able to easily help 
with testing on Blackfin boards.  we have a little addon card that lets us 
hook it up to a bunch of different boards.
-mike
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 836 bytes
Desc: This is a digitally signed message part.
Url : http://lists.denx.de/pipermail/u-boot/attachments/20091220/8532ae95/attachment.pgp 


More information about the U-Boot mailing list