int board_eth_init(bd_t *bis) { u32 ret = 0; #ifdef CONFIG_XILINX_AXIEMAC ret |= xilinx_axiemac_initialize(bis, XILINX_AXIEMAC_BASEADDR, XILINX_AXIDMA_BASEADDR); #endif #ifdef CONFIG_XILINX_EMACLITE 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 #if defined(CONFIG_ZYNQ_GEM) # if defined(CONFIG_ZYNQ_GEM0) ret |= zynq_gem_initialize(bis, ZYNQ_GEM_BASEADDR0, CONFIG_ZYNQ_GEM_PHY_ADDR0, 0); # endif # if defined(CONFIG_ZYNQ_GEM1) ret |= zynq_gem_initialize(bis, ZYNQ_GEM_BASEADDR1, CONFIG_ZYNQ_GEM_PHY_ADDR1, 0); # endif #endif return ret; }
int board_eth_init(bd_t *bis) { u32 ret = 0; #if defined(CONFIG_ZYNQ_GEM) # if defined(CONFIG_ZYNQ_GEM0) ret |= zynq_gem_initialize(bis, ZYNQ_GEM_BASEADDR0, CONFIG_ZYNQ_GEM_PHY_ADDR0, 0); # endif # if defined(CONFIG_ZYNQ_GEM1) ret |= zynq_gem_initialize(bis, ZYNQ_GEM_BASEADDR1, CONFIG_ZYNQ_GEM_PHY_ADDR1, 0); # endif #endif return ret; }
int board_eth_init(bd_t *bis) { u32 ret = 0; u_int8_t mac[6]; if (zx3_read_mac_address (mac, 0)) { int err; /* set address env if not already set */ err = eth_setenv_enetaddr("ethaddr", mac); if (err) printf("Failed to set MAC address 0 from EEPROM to env.\n"); } #ifdef CONFIG_XILINX_AXIEMAC ret |= xilinx_axiemac_initialize(bis, XILINX_AXIEMAC_BASEADDR, XILINX_AXIDMA_BASEADDR); #endif #ifdef CONFIG_XILINX_EMACLITE 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 #if defined(CONFIG_ZYNQ_GEM) # if defined(CONFIG_ZYNQ_GEM0) ret |= zynq_gem_initialize(bis, ZYNQ_GEM_BASEADDR0, CONFIG_ZYNQ_GEM_PHY_ADDR0, 0); # endif # if defined(CONFIG_ZYNQ_GEM1) ret |= zynq_gem_initialize(bis, ZYNQ_GEM_BASEADDR1, CONFIG_ZYNQ_GEM_PHY_ADDR1, 0); # endif #endif return ret; }
int zynq_gem_of_init(const void *blob) { int offset = 0; u32 ret = 0; u32 reg, phy_reg; printf("ZYNQ GEM: Initialization\n"); do { offset = fdt_node_offset_by_compatible(blob, offset, "xlnx,ps7-ethernet-1.00.a"); if (offset != -1) { reg = fdtdec_get_addr(blob, offset, "reg"); if (reg != FDT_ADDR_T_NONE) { offset = fdtdec_lookup_phandle(blob, offset, "phy-handle"); if (offset != -1) phy_reg = fdtdec_get_addr(blob, offset, "reg"); else phy_reg = 0; debug("ZYNQ GEM: addr %x, phyaddr %x\n", reg, phy_reg); ret |= zynq_gem_initialize(NULL, reg, phy_reg, 0); } else { debug("ZYNQ GEM: Can't get base address\n"); return -1; } } } while (offset != -1); return ret; }
int board_eth_init(bd_t *bis) { return zynq_gem_initialize(bis); }