On Monday, August 29, 2011 07:34:12 Michal Simek wrote:
> --- /dev/null
> +++ b/drivers/net/xilinx_ll_temac.c
> 
> +#include <asm/processor.h>

what do you need from this header ?

> +#ifdef SDMA_MODE
> +static unsigned char tx_buffer[PKTSIZE_ALIGN ] __attribute((aligned(32)));
> +#endif
> +static unsigned char rx_buffer[PKTSIZE_ALIGN ] __attribute((aligned(32)));

no space before that "]"

> +static inline void temac_out_be32(u32 addr, u32 offset, u32 val)
> +{
> +     out_be32((u32 *)(addr + offset), val);
> +}
> +
> +static inline u32 temac_in_be32(u32 addr, u32 offset)
> +{
> +     return in_be32((u32 *)(addr + offset));
> +}

write a C struct describing the register layout, then your code can simply do:
        in_be32(&regs->lsw0)
and you don't need these two helpers

> +static int xps_ll_temac_addr_setup(struct eth_device *dev)
> +{
> +     int val;
> +
> +     /* set up unicast MAC address filter */
> +     val = ((dev->enetaddr[3] << 24) | (dev->enetaddr[2] << 16) |
> +             (dev->enetaddr[1] << 8) | (dev->enetaddr[0]));
> +     xps_ll_temac_indirect_set(dev, 0, UAW0, val);
> +     val = (dev->enetaddr[5] << 8) | dev->enetaddr[4] ;
> +     xps_ll_temac_indirect_set(dev, 0, UAW1, val);
> +
> +     return 0;
> +}

this should be set to dev->write_hwaddr in the initialize func

> +int xilinx_ll_temac_initialize(bd_t *bis, int base_addr)

the register base address really should be "unsigned long" and not "int"
-mike

Attachment: signature.asc
Description: This is a digitally signed message part.

_______________________________________________
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot

Reply via email to