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