diff options
| -rw-r--r-- | board/xilinx/microblaze-generic/microblaze-generic.c | 18 | ||||
| -rw-r--r-- | drivers/net/xilinx_emaclite.c | 11 | ||||
| -rw-r--r-- | include/netdev.h | 3 | 
3 files changed, 18 insertions, 14 deletions
| diff --git a/board/xilinx/microblaze-generic/microblaze-generic.c b/board/xilinx/microblaze-generic/microblaze-generic.c index 183e4dc8b..9b2952f04 100644 --- a/board/xilinx/microblaze-generic/microblaze-generic.c +++ b/board/xilinx/microblaze-generic/microblaze-generic.c @@ -71,12 +71,18 @@ int fsl_init2 (void) {  int board_eth_init(bd_t *bis)  { -	/* -	 * This board either has PCI NICs or uses the CPU's TSECs -	 * pci_eth_init() will return 0 if no NICs found, so in that case -	 * returning -1 will force cpu_eth_init() to be called. -	 */ +	int ret = 0;  #ifdef CONFIG_XILINX_EMACLITE -	return xilinx_emaclite_initialize(bis, XILINX_EMACLITE_BASEADDR); +	u32 txpp = 0; +	u32 rxpp = 0; +# ifdef CONFIG_XILINX_EMACLITE_TX_PING_PONG +	txpp = 1; +# endif +# ifdef CONFIG_XILINX_EMACLITE_RX_PING_PONG +	rxpp = 1; +# endif +	ret |= xilinx_emaclite_initialize(bis, XILINX_EMACLITE_BASEADDR, +			txpp, rxpp);  #endif +	return ret;  } diff --git a/drivers/net/xilinx_emaclite.c b/drivers/net/xilinx_emaclite.c index ac3dae13b..9791b9a53 100644 --- a/drivers/net/xilinx_emaclite.c +++ b/drivers/net/xilinx_emaclite.c @@ -342,7 +342,8 @@ static int emaclite_recv(struct eth_device *dev)  } -int xilinx_emaclite_initialize(bd_t *bis, unsigned long base_addr) +int xilinx_emaclite_initialize(bd_t *bis, unsigned long base_addr, +							int txpp, int rxpp)  {  	struct eth_device *dev;  	struct xemaclite *emaclite; @@ -359,12 +360,8 @@ int xilinx_emaclite_initialize(bd_t *bis, unsigned long base_addr)  	dev->priv = emaclite; -#ifdef CONFIG_XILINX_EMACLITE_TX_PING_PONG -	emaclite->txpp = 1; -#endif -#ifdef CONFIG_XILINX_EMACLITE_RX_PING_PONG -	emaclite->rxpp = 1; -#endif +	emaclite->txpp = txpp; +	emaclite->rxpp = rxpp;  	sprintf(dev->name, "Xelite.%lx", base_addr); diff --git a/include/netdev.h b/include/netdev.h index a6246777f..54b52a51d 100644 --- a/include/netdev.h +++ b/include/netdev.h @@ -97,7 +97,8 @@ int uli526x_initialize(bd_t *bis);  int armada100_fec_register(unsigned long base_addr);  int xilinx_axiemac_initialize(bd_t *bis, unsigned long base_addr,  							unsigned long dma_addr); -int xilinx_emaclite_initialize(bd_t *bis, unsigned long base_addr); +int xilinx_emaclite_initialize(bd_t *bis, unsigned long base_addr, +							int txpp, int rxpp);  /* Boards with PCI network controllers can call this from their board_eth_init()   * function to initialize whatever's on board. |