[U-Boot] MACB and DM9000 support for AT91SAM9260

Haavard Skinnemoen haavard.skinnemoen at atmel.com
Tue Sep 2 17:43:48 CEST 2008


[Re-adding mailing list to Cc]

"Frank van der Schoot" <frank.van.der.schoot at microkey.nl> wrote:
> Well after some more investigation: the macb-driver is creating an
> eth_device-structure and this structure is initialised in
> macb_eth_initialize() and then registered with eth_register(). So this
> gives it some abstraction. Dm9000 driver doesn't have this. It has
> eth_init() (To my opinionL it collides with eth_init() of eth.c),
> eth_send() and doesn't register itself with eth_register(). Question:
> Should all ethernet devices register itself via eth_register() (and the
> dm9000-driver is not updated yet for this method)? 

Right...it looks like the dm9000 driver uses some sort of pre-net/eth.c
interface which doesn't play well along with other drivers...

> Via hacking I can of course rename the eth_init() of dm9000x.c to
> dm9000_eth_init() and call it from eth_initialize(). But first I like to
> try it via a decent construction and maybe I should update the
> dm9000-driver for working with eth_register().

That would be great.

> By the way I'm working with Uboot 1.3.3 on which I cannot find
> board_eth_init() but here eth_initialize() does the initialisation of
> macb_eth_initialize(). I did have a short peek to the trunk but it looks
> like the dm9000-driver hasn't changed there.

I think 1.3.4 should have the board_eth_init() stuff in place. Ben's
latest eth-initialization patches are probably worth a look too:

http://lists.denx.de/pipermail/u-boot/2008-September/039792.html

...though it looks like dm9000 is one of the "more complicated ones".

Haavard


More information about the U-Boot mailing list