1
2
3
4
5
6
7
8
9
10
11#ifndef _NETDEV_H_
12#define _NETDEV_H_
13#include <phy_interface.h>
14
15struct udevice;
16
17
18
19
20
21
22
23
24
25
26int board_eth_init(struct bd_info *bis);
27int board_interface_eth_init(struct udevice *dev,
28 phy_interface_t interface_type);
29int cpu_eth_init(struct bd_info *bis);
30
31
32int ax88180_initialize(struct bd_info *bis);
33int bcm_sf2_eth_register(struct bd_info *bis, u8 dev_num);
34int bfin_EMAC_initialize(struct bd_info *bis);
35int cs8900_initialize(u8 dev_num, int base_addr);
36int dc21x4x_initialize(struct bd_info *bis);
37int designware_initialize(ulong base_addr, u32 interface);
38int dm9000_initialize(struct bd_info *bis);
39int dnet_eth_initialize(int id, void *regs, unsigned int phy_addr);
40int e1000_initialize(struct bd_info *bis);
41int eepro100_initialize(struct bd_info *bis);
42int ep93xx_eth_initialize(u8 dev_num, int base_addr);
43int eth_3com_initialize (struct bd_info * bis);
44int ethoc_initialize(u8 dev_num, int base_addr);
45int fec_initialize (struct bd_info *bis);
46int fecmxc_initialize(struct bd_info *bis);
47int fecmxc_initialize_multi(struct bd_info *bis, int dev_id, int phy_id,
48 uint32_t addr);
49int ftmac100_initialize(struct bd_info *bits);
50int ftmac110_initialize(struct bd_info *bits);
51void gt6426x_eth_initialize(struct bd_info *bis);
52int ks8851_mll_initialize(u8 dev_num, int base_addr);
53int lan91c96_initialize(u8 dev_num, int base_addr);
54int lpc32xx_eth_initialize(struct bd_info *bis);
55int macb_eth_initialize(int id, void *regs, unsigned int phy_addr);
56int mcdmafec_initialize(struct bd_info *bis);
57int mcffec_initialize(struct bd_info *bis);
58int mvgbe_initialize(struct bd_info *bis);
59int mvneta_initialize(struct bd_info *bis, int base_addr, int devnum,
60 int phy_addr);
61int natsemi_initialize(struct bd_info *bis);
62int ne2k_register(void);
63int npe_initialize(struct bd_info *bis);
64int ns8382x_initialize(struct bd_info *bis);
65int pcnet_initialize(struct bd_info *bis);
66int ppc_4xx_eth_initialize (struct bd_info *bis);
67int rtl8139_initialize(struct bd_info *bis);
68int rtl8169_initialize(struct bd_info *bis);
69int scc_initialize(struct bd_info *bis);
70int sh_eth_initialize(struct bd_info *bis);
71int skge_initialize(struct bd_info *bis);
72int smc91111_initialize(u8 dev_num, phys_addr_t base_addr);
73int smc911x_initialize(u8 dev_num, phys_addr_t base_addr);
74int uec_standard_init(struct bd_info *bis);
75int uli526x_initialize(struct bd_info *bis);
76int armada100_fec_register(unsigned long base_addr);
77
78
79
80
81
82static inline int pci_eth_init(struct bd_info *bis)
83{
84 int num = 0;
85
86#ifdef CONFIG_PCI
87
88#ifdef CONFIG_EEPRO100
89 num += eepro100_initialize(bis);
90#endif
91#ifdef CONFIG_TULIP
92 num += dc21x4x_initialize(bis);
93#endif
94#ifdef CONFIG_E1000
95 num += e1000_initialize(bis);
96#endif
97#ifdef CONFIG_PCNET
98 num += pcnet_initialize(bis);
99#endif
100#ifdef CONFIG_NATSEMI
101 num += natsemi_initialize(bis);
102#endif
103#ifdef CONFIG_NS8382X
104 num += ns8382x_initialize(bis);
105#endif
106#if defined(CONFIG_RTL8139)
107 num += rtl8139_initialize(bis);
108#endif
109#if defined(CONFIG_RTL8169)
110 num += rtl8169_initialize(bis);
111#endif
112#if defined(CONFIG_ULI526X)
113 num += uli526x_initialize(bis);
114#endif
115
116#endif
117 return num;
118}
119
120struct mii_dev *fec_get_miibus(ulong base_addr, int dev_id);
121
122#ifdef CONFIG_PHYLIB
123struct phy_device;
124int fec_probe(struct bd_info *bd, int dev_id, uint32_t base_addr,
125 struct mii_dev *bus, struct phy_device *phydev);
126#else
127
128
129
130struct eth_device;
131int fecmxc_register_mii_postcall(struct eth_device *dev, int (*cb)(int));
132#endif
133
134#endif
135