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