]> Git Repo - J-u-boot.git/blame - include/netdev.h
net: Drop dm.h header file in eth_phy.h
[J-u-boot.git] / include / netdev.h
CommitLineData
83d290c5 1/* SPDX-License-Identifier: GPL-2.0+ */
89973f8a
BW
2/*
3 * (C) Copyright 2008
4 * Benjamin Warren, [email protected]
89973f8a
BW
5 */
6
7/*
8 * netdev.h - definitions an prototypes for network devices
9 */
10
11#ifndef _NETDEV_H_
12#define _NETDEV_H_
53e3d52c 13#include <phy_interface.h>
89973f8a
BW
14
15/*
16 * Board and CPU-specific initialization functions
17 * board_eth_init() has highest priority. cpu_eth_init() only
18 * gets called if board_eth_init() isn't instantiated or fails.
19 * Return values:
20 * 0: success
21 * -1: failure
22 */
23
b75d8dc5 24int board_eth_init(struct bd_info *bis);
53e3d52c
PD
25int board_interface_eth_init(struct udevice *dev,
26 phy_interface_t interface_type);
b75d8dc5 27int cpu_eth_init(struct bd_info *bis);
89973f8a
BW
28
29/* Driver initialization prototypes */
b75d8dc5
MY
30int at91emac_register(struct bd_info *bis, unsigned long iobase);
31int ax88180_initialize(struct bd_info *bis);
32int bcm_sf2_eth_register(struct bd_info *bis, u8 dev_num);
33int bfin_EMAC_initialize(struct bd_info *bis);
efdd7319 34int calxedaxgmac_initialize(u32 id, ulong base_addr);
b1c0eaac 35int cs8900_initialize(u8 dev_num, int base_addr);
b75d8dc5 36int dc21x4x_initialize(struct bd_info *bis);
92a190aa 37int designware_initialize(ulong base_addr, u32 interface);
b75d8dc5 38int dm9000_initialize(struct bd_info *bis);
62cbc408 39int dnet_eth_initialize(int id, void *regs, unsigned int phy_addr);
b75d8dc5
MY
40int e1000_initialize(struct bd_info *bis);
41int eepro100_initialize(struct bd_info *bis);
594d57d0 42int ep93xx_eth_initialize(u8 dev_num, int base_addr);
b75d8dc5 43int eth_3com_initialize (struct bd_info * bis);
bd6ce9d1 44int ethoc_initialize(u8 dev_num, int base_addr);
b75d8dc5
MY
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);
45a1693a 52int ks8851_mll_initialize(u8 dev_num, int base_addr);
b7ad4109 53int lan91c96_initialize(u8 dev_num, int base_addr);
b75d8dc5 54int lpc32xx_eth_initialize(struct bd_info *bis);
89973f8a 55int macb_eth_initialize(int id, void *regs, unsigned int phy_addr);
b75d8dc5
MY
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);
d0201692 62int ne2k_register(void);
b75d8dc5
MY
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);
7194ab80 72int smc91111_initialize(u8 dev_num, int base_addr);
bd6ce9d1 73int smc911x_initialize(u8 dev_num, int base_addr);
b75d8dc5
MY
74int uec_standard_init(struct bd_info *bis);
75int uli526x_initialize(struct bd_info *bis);
79788bb1 76int armada100_fec_register(unsigned long base_addr);
89973f8a
BW
77
78/* Boards with PCI network controllers can call this from their board_eth_init()
79 * function to initialize whatever's on board.
80 * Return value is total # of devices found */
81
b75d8dc5 82static inline int pci_eth_init(struct bd_info *bis)
89973f8a
BW
83{
84 int num = 0;
e3090534 85
10efa024
BW
86#ifdef CONFIG_PCI
87
88#ifdef CONFIG_EEPRO100
89 num += eepro100_initialize(bis);
90#endif
8ca0b3f9
BW
91#ifdef CONFIG_TULIP
92 num += dc21x4x_initialize(bis);
93#endif
ad3381cf
BW
94#ifdef CONFIG_E1000
95 num += e1000_initialize(bis);
96#endif
e3090534
BW
97#ifdef CONFIG_PCNET
98 num += pcnet_initialize(bis);
99#endif
b902b8dd
BW
100#ifdef CONFIG_NATSEMI
101 num += natsemi_initialize(bis);
102#endif
19403633
BW
103#ifdef CONFIG_NS8382X
104 num += ns8382x_initialize(bis);
105#endif
0b252f50
BW
106#if defined(CONFIG_RTL8139)
107 num += rtl8139_initialize(bis);
108#endif
02d69891
BW
109#if defined(CONFIG_RTL8169)
110 num += rtl8169_initialize(bis);
111#endif
b11f664f 112#if defined(CONFIG_ULI526X)
89973f8a
BW
113 num += uli526x_initialize(bis);
114#endif
10efa024
BW
115
116#endif /* CONFIG_PCI */
89973f8a
BW
117 return num;
118}
119
1bcabd79 120struct mii_dev *fec_get_miibus(ulong base_addr, int dev_id);
cb5761f7 121
fe428b90
TK
122#ifdef CONFIG_PHYLIB
123struct phy_device;
b75d8dc5 124int fec_probe(struct bd_info *bd, int dev_id, uint32_t base_addr,
fe428b90
TK
125 struct mii_dev *bus, struct phy_device *phydev);
126#else
2e5f4421
MV
127/*
128 * Allow FEC to fine-tune MII configuration on boards which require this.
129 */
f2c5564f 130struct eth_device;
2e5f4421 131int fecmxc_register_mii_postcall(struct eth_device *dev, int (*cb)(int));
fe428b90 132#endif
2e5f4421 133
89973f8a 134#endif /* _NETDEV_H_ */
This page took 0.715511 seconds and 4 git commands to generate.