Blame view

include/netdev.h 3.84 KB
83d290c56   Tom Rini   SPDX: Convert all...
1
  /* SPDX-License-Identifier: GPL-2.0+ */
89973f8a8   Ben Warren   Introduce netdev....
2
3
4
  /*
   * (C) Copyright 2008
   * Benjamin Warren, biggerbadderben@gmail.com
9c10b17cd   Iustin Dumitrescu   net: Add weak boa...
5
   * (C) Copyright 2017 NXP
89973f8a8   Ben Warren   Introduce netdev....
6
7
8
9
10
11
12
13
   */
  
  /*
   * netdev.h - definitions an prototypes for network devices
   */
  
  #ifndef _NETDEV_H_
  #define _NETDEV_H_
53e3d52c6   Patrick Delaunay   net: dwc_et_qos: ...
14
  #include <phy_interface.h>
89973f8a8   Ben Warren   Introduce netdev....
15
16
17
18
19
20
21
22
23
24
25
  
  /*
   * 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);
53e3d52c6   Patrick Delaunay   net: dwc_et_qos: ...
26
27
  int board_interface_eth_init(struct udevice *dev,
  			     phy_interface_t interface_type);
89973f8a8   Ben Warren   Introduce netdev....
28
  int cpu_eth_init(bd_t *bis);
9c10b17cd   Iustin Dumitrescu   net: Add weak boa...
29
  void board_net_init(void);
89973f8a8   Ben Warren   Introduce netdev....
30
31
  
  /* Driver initialization prototypes */
c041e9d21   Jens Scharsig   new at91_emac net...
32
  int at91emac_register(bd_t *bis, unsigned long iobase);
bd6ce9d17   Wolfgang Denk   cm4008, cm41xx: f...
33
  int ax88180_initialize(bd_t *bis);
799e125cc   Jiandong Zheng   arm: bcm281xx: ne...
34
  int bcm_sf2_eth_register(bd_t *bis, u8 dev_num);
89973f8a8   Ben Warren   Introduce netdev....
35
  int bfin_EMAC_initialize(bd_t *bis);
efdd73195   Rob Herring   net: add Calxeda ...
36
  int calxedaxgmac_initialize(u32 id, ulong base_addr);
b1c0eaac1   Ben Warren   Convert CS8900 Et...
37
  int cs8900_initialize(u8 dev_num, int base_addr);
bd6ce9d17   Wolfgang Denk   cm4008, cm41xx: f...
38
  int dc21x4x_initialize(bd_t *bis);
92a190aaa   Alexey Brodkin   net/designware - ...
39
  int designware_initialize(ulong base_addr, u32 interface);
bd6ce9d17   Wolfgang Denk   cm4008, cm41xx: f...
40
  int dm9000_initialize(bd_t *bis);
62cbc408f   Ilya Yanok   dnet: driver for ...
41
  int dnet_eth_initialize(int id, void *regs, unsigned int phy_addr);
ad3381cf4   Ben Warren   Moved initializat...
42
  int e1000_initialize(bd_t *bis);
10efa024b   Ben Warren   Moved initializat...
43
  int eepro100_initialize(bd_t *bis);
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);
750326e5d   Po-Yu Chuang   arm: A320: driver...
50
  int ftmac100_initialize(bd_t *bits);
c4775476d   Kuo-Jung Su   net: add Faraday ...
51
  int ftmac110_initialize(bd_t *bits);
6aca145e0   Ben Warren   Moved initializat...
52
  void gt6426x_eth_initialize(bd_t *bis);
45a1693a3   Roberto Cerati   net: ks8851_mll: ...
53
  int ks8851_mll_initialize(u8 dev_num, int base_addr);
b7ad4109d   Nishanth Menon   NET: LAN91C96 CON...
54
  int lan91c96_initialize(u8 dev_num, int base_addr);
ac2916a22   Albert ARIBAUD \(3ADEV\)   lpc32xx: add Ethe...
55
  int lpc32xx_eth_initialize(bd_t *bis);
89973f8a8   Ben Warren   Introduce netdev....
56
57
58
  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...
59
  int mvgbe_initialize(bd_t *bis);
19fc2eae6   Stefan Roese   net: mvneta.c: Ad...
60
  int mvneta_initialize(bd_t *bis, int base_addr, int devnum, int phy_addr);
b902b8dda   Ben Warren   Moved initializat...
61
  int natsemi_initialize(bd_t *bis);
d02016929   Bernhard Kaindl   ne2000: Convert t...
62
  int ne2k_register(void);
cc94074ec   Ben Warren   Moved initializat...
63
  int npe_initialize(bd_t *bis);
19403633d   Ben Warren   Moved initializat...
64
  int ns8382x_initialize(bd_t *bis);
e3090534d   Ben Warren   Moved initializat...
65
  int pcnet_initialize(bd_t *bis);
25a859066   Ben Warren   Moved initializat...
66
  int ppc_4xx_eth_initialize (bd_t *bis);
0b252f50a   Ben Warren   Moved initializat...
67
  int rtl8139_initialize(bd_t *bis);
02d69891d   Ben Warren   Moved initializat...
68
  int rtl8169_initialize(bd_t *bis);
9eb79bd88   Ben Warren   Moved initializat...
69
  int scc_initialize(bd_t *bis);
bd6ce9d17   Wolfgang Denk   cm4008, cm41xx: f...
70
  int sh_eth_initialize(bd_t *bis);
89973f8a8   Ben Warren   Introduce netdev....
71
  int skge_initialize(bd_t *bis);
7194ab809   Ben Warren   Convert SMC91111 ...
72
  int smc91111_initialize(u8 dev_num, int base_addr);
bd6ce9d17   Wolfgang Denk   cm4008, cm41xx: f...
73
  int smc911x_initialize(u8 dev_num, int base_addr);
2b5243fc2   Wolfgang Denk   8xxx: fix warning...
74
  int uec_standard_init(bd_t *bis);
89973f8a8   Ben Warren   Introduce netdev....
75
  int uli526x_initialize(bd_t *bis);
79788bb19   Ajay Bhargav   net: Adds Fast Et...
76
  int armada100_fec_register(unsigned long base_addr);
89973f8a8   Ben Warren   Introduce netdev....
77
78
79
80
81
82
83
84
  
  /* 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...
85

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

fe428b909   Troy Kisky   net: fec_mxc: get...
121
122
123
124
125
  #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...
126
127
128
129
  /*
   * 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...
130
  #endif
2e5f44213   Marek Vasut   FEC: Allow regist...
131

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