Blame view

include/netdev.h 3.91 KB
89973f8a8   Ben Warren   Introduce netdev....
1
2
3
4
  /*
   * (C) Copyright 2008
   * Benjamin Warren, biggerbadderben@gmail.com
   *
1a4596601   Wolfgang Denk   Add GPL-2.0+ SPDX...
5
   * SPDX-License-Identifier:	GPL-2.0+
89973f8a8   Ben Warren   Introduce netdev....
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
   */
  
  /*
   * netdev.h - definitions an prototypes for network devices
   */
  
  #ifndef _NETDEV_H_
  #define _NETDEV_H_
  
  /*
   * Board and CPU-specific initialization functions
   * board_eth_init() has highest priority.  cpu_eth_init() only
   * gets called if board_eth_init() isn't instantiated or fails.
   * Return values:
   *      0: success
   *     -1: failure
   */
  
  int board_eth_init(bd_t *bis);
  int cpu_eth_init(bd_t *bis);
  
  /* Driver initialization prototypes */
c041e9d21   Jens Scharsig   new at91_emac net...
28
  int at91emac_register(bd_t *bis, unsigned long iobase);
bd6ce9d17   Wolfgang Denk   cm4008, cm41xx: f...
29
30
  int au1x00_enet_initialize(bd_t*);
  int ax88180_initialize(bd_t *bis);
799e125cc   Jiandong Zheng   arm: bcm281xx: ne...
31
  int bcm_sf2_eth_register(bd_t *bis, u8 dev_num);
89973f8a8   Ben Warren   Introduce netdev....
32
  int bfin_EMAC_initialize(bd_t *bis);
efdd73195   Rob Herring   net: add Calxeda ...
33
  int calxedaxgmac_initialize(u32 id, ulong base_addr);
b1c0eaac1   Ben Warren   Convert CS8900 Et...
34
  int cs8900_initialize(u8 dev_num, int base_addr);
8453587ef   Ben Warren   Switched davinci_...
35
  int davinci_emac_initialize(void);
bd6ce9d17   Wolfgang Denk   cm4008, cm41xx: f...
36
  int dc21x4x_initialize(bd_t *bis);
92a190aaa   Alexey Brodkin   net/designware - ...
37
  int designware_initialize(ulong base_addr, u32 interface);
bd6ce9d17   Wolfgang Denk   cm4008, cm41xx: f...
38
  int dm9000_initialize(bd_t *bis);
62cbc408f   Ilya Yanok   dnet: driver for ...
39
  int dnet_eth_initialize(int id, void *regs, unsigned int phy_addr);
ad3381cf4   Ben Warren   Moved initializat...
40
  int e1000_initialize(bd_t *bis);
10efa024b   Ben Warren   Moved initializat...
41
  int eepro100_initialize(bd_t *bis);
a61a81967   Reinhard Meyer   NET: add ENC28J60...
42
43
  int enc28j60_initialize(unsigned int bus, unsigned int cs,
  	unsigned int max_hz, unsigned int mode);
594d57d0c   Matthias Kaehlcke   Add EP93xx ethern...
44
  int ep93xx_eth_initialize(u8 dev_num, int base_addr);
164846eeb   Ben Warren   Moved initializat...
45
  int eth_3com_initialize (bd_t * bis);
bd6ce9d17   Wolfgang Denk   cm4008, cm41xx: f...
46
  int ethoc_initialize(u8 dev_num, int base_addr);
3456a1482   Ben Warren   Moved initializat...
47
  int fec_initialize (bd_t *bis);
bd6ce9d17   Wolfgang Denk   cm4008, cm41xx: f...
48
  int fecmxc_initialize(bd_t *bis);
9e27e9dca   Marek Vasut   FEC: Allow multip...
49
  int fecmxc_initialize_multi(bd_t *bis, int dev_id, int phy_id, uint32_t addr);
b3dbf4a51   Macpaul Lin   ftgmac100: suppor...
50
  int ftgmac100_initialize(bd_t *bits);
750326e5d   Po-Yu Chuang   arm: A320: driver...
51
  int ftmac100_initialize(bd_t *bits);
c4775476d   Kuo-Jung Su   net: add Faraday ...
52
  int ftmac110_initialize(bd_t *bits);
6aca145e0   Ben Warren   Moved initializat...
53
  void gt6426x_eth_initialize(bd_t *bis);
45a1693a3   Roberto Cerati   net: ks8851_mll: ...
54
  int ks8851_mll_initialize(u8 dev_num, int base_addr);
b7ad4109d   Nishanth Menon   NET: LAN91C96 CON...
55
  int lan91c96_initialize(u8 dev_num, int base_addr);
ac2916a22   Albert ARIBAUD \(3ADEV\)   lpc32xx: add Ethe...
56
  int lpc32xx_eth_initialize(bd_t *bis);
89973f8a8   Ben Warren   Introduce netdev....
57
58
59
  int macb_eth_initialize(int id, void *regs, unsigned int phy_addr);
  int mcdmafec_initialize(bd_t *bis);
  int mcffec_initialize(bd_t *bis);
d44265ad7   Albert Aribaud   mvgbe: support So...
60
  int mvgbe_initialize(bd_t *bis);
19fc2eae6   Stefan Roese   net: mvneta.c: Ad...
61
  int mvneta_initialize(bd_t *bis, int base_addr, int devnum, int phy_addr);
b902b8dda   Ben Warren   Moved initializat...
62
  int natsemi_initialize(bd_t *bis);
d02016929   Bernhard Kaindl   ne2000: Convert t...
63
  int ne2k_register(void);
cc94074ec   Ben Warren   Moved initializat...
64
  int npe_initialize(bd_t *bis);
19403633d   Ben Warren   Moved initializat...
65
  int ns8382x_initialize(bd_t *bis);
e3090534d   Ben Warren   Moved initializat...
66
  int pcnet_initialize(bd_t *bis);
25a859066   Ben Warren   Moved initializat...
67
  int ppc_4xx_eth_initialize (bd_t *bis);
0b252f50a   Ben Warren   Moved initializat...
68
  int rtl8139_initialize(bd_t *bis);
02d69891d   Ben Warren   Moved initializat...
69
  int rtl8169_initialize(bd_t *bis);
9eb79bd88   Ben Warren   Moved initializat...
70
  int scc_initialize(bd_t *bis);
bd6ce9d17   Wolfgang Denk   cm4008, cm41xx: f...
71
  int sh_eth_initialize(bd_t *bis);
89973f8a8   Ben Warren   Introduce netdev....
72
  int skge_initialize(bd_t *bis);
7194ab809   Ben Warren   Convert SMC91111 ...
73
  int smc91111_initialize(u8 dev_num, int base_addr);
bd6ce9d17   Wolfgang Denk   cm4008, cm41xx: f...
74
  int smc911x_initialize(u8 dev_num, int base_addr);
ccdd12f83   Ben Warren   Moved initializat...
75
  int tsi108_eth_initialize(bd_t *bis);
2b5243fc2   Wolfgang Denk   8xxx: fix warning...
76
  int uec_standard_init(bd_t *bis);
89973f8a8   Ben Warren   Introduce netdev....
77
  int uli526x_initialize(bd_t *bis);
79788bb19   Ajay Bhargav   net: Adds Fast Et...
78
  int armada100_fec_register(unsigned long base_addr);
89973f8a8   Ben Warren   Introduce netdev....
79
80
81
82
83
84
85
86
  
  /* Boards with PCI network controllers can call this from their board_eth_init()
   * function to initialize whatever's on board.
   * Return value is total # of devices found */
  
  static inline int pci_eth_init(bd_t *bis)
  {
  	int num = 0;
e3090534d   Ben Warren   Moved initializat...
87

10efa024b   Ben Warren   Moved initializat...
88
89
90
91
92
  #ifdef CONFIG_PCI
  
  #ifdef CONFIG_EEPRO100
  	num += eepro100_initialize(bis);
  #endif
8ca0b3f99   Ben Warren   Moved initializat...
93
94
95
  #ifdef CONFIG_TULIP
  	num += dc21x4x_initialize(bis);
  #endif
ad3381cf4   Ben Warren   Moved initializat...
96
97
98
  #ifdef CONFIG_E1000
  	num += e1000_initialize(bis);
  #endif
e3090534d   Ben Warren   Moved initializat...
99
100
101
  #ifdef CONFIG_PCNET
  	num += pcnet_initialize(bis);
  #endif
b902b8dda   Ben Warren   Moved initializat...
102
103
104
  #ifdef CONFIG_NATSEMI
  	num += natsemi_initialize(bis);
  #endif
19403633d   Ben Warren   Moved initializat...
105
106
107
  #ifdef CONFIG_NS8382X
  	num += ns8382x_initialize(bis);
  #endif
0b252f50a   Ben Warren   Moved initializat...
108
109
110
  #if defined(CONFIG_RTL8139)
  	num += rtl8139_initialize(bis);
  #endif
02d69891d   Ben Warren   Moved initializat...
111
112
113
  #if defined(CONFIG_RTL8169)
  	num += rtl8169_initialize(bis);
  #endif
b11f664f5   Timur Tabi   net: fix ULI 526x...
114
  #if defined(CONFIG_ULI526X)
89973f8a8   Ben Warren   Introduce netdev....
115
116
  	num += uli526x_initialize(bis);
  #endif
10efa024b   Ben Warren   Moved initializat...
117
118
  
  #endif  /* CONFIG_PCI */
89973f8a8   Ben Warren   Introduce netdev....
119
120
  	return num;
  }
4266aac45   Peng Fan   net: fec_mxc: sim...
121
  struct mii_dev *fec_get_miibus(ulong base_addr, int dev_id);
cb5761f77   Lothar Waßmann   net: fec_mxc: adj...
122

fe428b909   Troy Kisky   net: fec_mxc: get...
123
124
125
126
127
  #ifdef CONFIG_PHYLIB
  struct phy_device;
  int fec_probe(bd_t *bd, int dev_id, uint32_t base_addr,
  		struct mii_dev *bus, struct phy_device *phydev);
  #else
2e5f44213   Marek Vasut   FEC: Allow regist...
128
129
130
131
  /*
   * Allow FEC to fine-tune MII configuration on boards which require this.
   */
  int fecmxc_register_mii_postcall(struct eth_device *dev, int (*cb)(int));
fe428b909   Troy Kisky   net: fec_mxc: get...
132
  #endif
2e5f44213   Marek Vasut   FEC: Allow regist...
133

89973f8a8   Ben Warren   Introduce netdev....
134
  #endif /* _NETDEV_H_ */