[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