1*89973f8aSBen Warren /* 2*89973f8aSBen Warren * (C) Copyright 2008 3*89973f8aSBen Warren * Benjamin Warren, biggerbadderben@gmail.com 4*89973f8aSBen Warren * 5*89973f8aSBen Warren * See file CREDITS for list of people who contributed to this 6*89973f8aSBen Warren * project. 7*89973f8aSBen Warren * 8*89973f8aSBen Warren * This program is free software; you can redistribute it and/or 9*89973f8aSBen Warren * modify it under the terms of the GNU General Public License as 10*89973f8aSBen Warren * published by the Free Software Foundation; either version 2 of 11*89973f8aSBen Warren * the License, or (at your option) any later version. 12*89973f8aSBen Warren * 13*89973f8aSBen Warren * This program is distributed in the hope that it will be useful, 14*89973f8aSBen Warren * but WITHOUT ANY WARRANTY; without even the implied warranty of 15*89973f8aSBen Warren * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 16*89973f8aSBen Warren * GNU General Public License for more details. 17*89973f8aSBen Warren * 18*89973f8aSBen Warren * You should have received a copy of the GNU General Public License 19*89973f8aSBen Warren * along with this program; if not, write to the Free Software 20*89973f8aSBen Warren * Foundation, Inc., 59 Temple Place, Suite 330, Boston, 21*89973f8aSBen Warren * MA 02111-1307 USA 22*89973f8aSBen Warren */ 23*89973f8aSBen Warren 24*89973f8aSBen Warren /* 25*89973f8aSBen Warren * netdev.h - definitions an prototypes for network devices 26*89973f8aSBen Warren */ 27*89973f8aSBen Warren 28*89973f8aSBen Warren #ifndef _NETDEV_H_ 29*89973f8aSBen Warren #define _NETDEV_H_ 30*89973f8aSBen Warren 31*89973f8aSBen Warren /* 32*89973f8aSBen Warren * Board and CPU-specific initialization functions 33*89973f8aSBen Warren * board_eth_init() has highest priority. cpu_eth_init() only 34*89973f8aSBen Warren * gets called if board_eth_init() isn't instantiated or fails. 35*89973f8aSBen Warren * Return values: 36*89973f8aSBen Warren * 0: success 37*89973f8aSBen Warren * -1: failure 38*89973f8aSBen Warren */ 39*89973f8aSBen Warren 40*89973f8aSBen Warren int board_eth_init(bd_t *bis); 41*89973f8aSBen Warren int cpu_eth_init(bd_t *bis); 42*89973f8aSBen Warren 43*89973f8aSBen Warren /* Driver initialization prototypes */ 44*89973f8aSBen Warren int bfin_EMAC_initialize(bd_t *bis); 45*89973f8aSBen Warren int greth_initialize(bd_t *bis); 46*89973f8aSBen Warren int macb_eth_initialize(int id, void *regs, unsigned int phy_addr); 47*89973f8aSBen Warren int mcdmafec_initialize(bd_t *bis); 48*89973f8aSBen Warren int mcffec_initialize(bd_t *bis); 49*89973f8aSBen Warren int skge_initialize(bd_t *bis); 50*89973f8aSBen Warren int uli526x_initialize(bd_t *bis); 51*89973f8aSBen Warren 52*89973f8aSBen Warren /* Boards with PCI network controllers can call this from their board_eth_init() 53*89973f8aSBen Warren * function to initialize whatever's on board. 54*89973f8aSBen Warren * Return value is total # of devices found */ 55*89973f8aSBen Warren 56*89973f8aSBen Warren static inline int pci_eth_init(bd_t *bis) 57*89973f8aSBen Warren { 58*89973f8aSBen Warren int num = 0; 59*89973f8aSBen Warren #if defined(CONFIG_ULI526) 60*89973f8aSBen Warren num += uli526x_initialize(bis); 61*89973f8aSBen Warren #endif 62*89973f8aSBen Warren return num; 63*89973f8aSBen Warren } 64*89973f8aSBen Warren 65*89973f8aSBen Warren #endif /* _NETDEV_H_ */ 66*89973f8aSBen Warren 67