From: Joe Hershberger Date: Tue, 28 Feb 2012 01:31:09 +0000 (-0600) Subject: Xilinx: ARM: net: Only init xgmac data structures, not phy on boot X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=84ce920386f8665cadb08d0766274d34aed6147f;p=thirdparty%2Fu-boot.git Xilinx: ARM: net: Only init xgmac data structures, not phy on boot This makes the boot faster in the case we don't want to actually use Ethernet in u-boot Signed-off-by: Joe Hershberger --- diff --git a/board/xilinx/dfe/xgmac.c b/board/xilinx/dfe/xgmac.c index 152ee9a0be0..db9c86cd98b 100644 --- a/board/xilinx/dfe/xgmac.c +++ b/board/xilinx/dfe/xgmac.c @@ -132,15 +132,11 @@ static void Out32(u32 OutAddress, u32 Value) int Xgmac_one_time_init(void) { int tmp; - int link_speed; int Status; XEmacPss_Config *Config; XEmacPss *EmacPssInstancePtr = &EmacPssInstance; XEmacPss_Bd BdTemplate; - if (ethstate.initialized) - return 1; - Config = XEmacPss_LookupConfig(EMACPSS_DEVICE_ID); Status = @@ -187,20 +183,32 @@ int Xgmac_one_time_init(void) XEMACPSS_BD_ALIGNMENT, TXBD_CNT); if (Status != 0) { puts("Error setting up TxBD space, BdRingCreate"); - return 0; + return -1; } Status = XEmacPss_BdRingClone(&(XEmacPss_GetTxRing(EmacPssInstancePtr)), &BdTemplate, XEMACPSS_SEND); if (Status != 0) { puts("Error setting up TxBD space, BdRingClone"); - return 0; + return -1; } XEmacPss_WriteReg(EmacPssInstancePtr->Config.BaseAddress, XEMACPSS_TXQBASE_OFFSET, EmacPssInstancePtr->TxBdRing.BaseBdAddr); + return 0; +} + +int Xgmac_init(struct eth_device *dev, bd_t * bis) +{ + int tmp; + int link_speed; + XEmacPss *EmacPssInstancePtr = &EmacPssInstance; + + if (ethstate.initialized) + return 1; + /* * Setup the ethernet. */ @@ -278,7 +286,7 @@ int Xgmac_one_time_init(void) Xgmac_set_eth_advertise(EmacPssInstancePtr, 100); #else /* Could be 1000 if an unknown bug is fixed */ - Xgmac_set_eth_advertise(EmacPssInstancePtr, 100); + Xgmac_set_eth_advertise(EmacPssInstancePtr, 1000); #endif phy_rst(EmacPssInstancePtr); @@ -364,11 +372,6 @@ int Xgmac_one_time_init(void) return 0; } -int Xgmac_init(struct eth_device *dev, bd_t * bis) -{ - return 0; -} - void Xgmac_halt(struct eth_device *dev) { return;