Blame view
include/netdev.h
6.41 KB
89973f8a8 Introduce netdev.... |
1 2 3 4 |
/* * (C) Copyright 2008 * Benjamin Warren, biggerbadderben@gmail.com * |
1a4596601 Add GPL-2.0+ SPDX... |
5 |
* SPDX-License-Identifier: GPL-2.0+ |
89973f8a8 Introduce netdev.... |
6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 |
*/ /* * netdev.h - definitions an prototypes for network devices */ #ifndef _NETDEV_H_ #define _NETDEV_H_ /* * 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); int cpu_eth_init(bd_t *bis); /* Driver initialization prototypes */ |
c960b13ed net: add altera t... |
28 |
int altera_tse_initialize(u8 dev_num, int mac_base, |
b962ac794 altera_tse: Add s... |
29 30 |
int sgdma_rx_base, int sgdma_tx_base, u32 sgdma_desc_base, u32 sgdma_desc_size); |
c041e9d21 new at91_emac net... |
31 |
int at91emac_register(bd_t *bis, unsigned long iobase); |
bd6ce9d17 cm4008, cm41xx: f... |
32 33 |
int au1x00_enet_initialize(bd_t*); int ax88180_initialize(bd_t *bis); |
89973f8a8 Introduce netdev.... |
34 |
int bfin_EMAC_initialize(bd_t *bis); |
efdd73195 net: add Calxeda ... |
35 |
int calxedaxgmac_initialize(u32 id, ulong base_addr); |
b1c0eaac1 Convert CS8900 Et... |
36 |
int cs8900_initialize(u8 dev_num, int base_addr); |
8453587ef Switched davinci_... |
37 |
int davinci_emac_initialize(void); |
bd6ce9d17 cm4008, cm41xx: f... |
38 |
int dc21x4x_initialize(bd_t *bis); |
92a190aaa net/designware - ... |
39 |
int designware_initialize(ulong base_addr, u32 interface); |
bd6ce9d17 cm4008, cm41xx: f... |
40 |
int dm9000_initialize(bd_t *bis); |
62cbc408f dnet: driver for ... |
41 |
int dnet_eth_initialize(int id, void *regs, unsigned int phy_addr); |
ad3381cf4 Moved initializat... |
42 |
int e1000_initialize(bd_t *bis); |
10efa024b Moved initializat... |
43 |
int eepro100_initialize(bd_t *bis); |
a61a81967 NET: add ENC28J60... |
44 45 |
int enc28j60_initialize(unsigned int bus, unsigned int cs, unsigned int max_hz, unsigned int mode); |
594d57d0c Add EP93xx ethern... |
46 |
int ep93xx_eth_initialize(u8 dev_num, int base_addr); |
164846eeb Moved initializat... |
47 |
int eth_3com_initialize (bd_t * bis); |
bd6ce9d17 cm4008, cm41xx: f... |
48 |
int ethoc_initialize(u8 dev_num, int base_addr); |
3456a1482 Moved initializat... |
49 |
int fec_initialize (bd_t *bis); |
bd6ce9d17 cm4008, cm41xx: f... |
50 |
int fecmxc_initialize(bd_t *bis); |
9e27e9dca FEC: Allow multip... |
51 |
int fecmxc_initialize_multi(bd_t *bis, int dev_id, int phy_id, uint32_t addr); |
b3dbf4a51 ftgmac100: suppor... |
52 |
int ftgmac100_initialize(bd_t *bits); |
750326e5d arm: A320: driver... |
53 |
int ftmac100_initialize(bd_t *bits); |
c4775476d net: add Faraday ... |
54 |
int ftmac110_initialize(bd_t *bits); |
89973f8a8 Introduce netdev.... |
55 |
int greth_initialize(bd_t *bis); |
6aca145e0 Moved initializat... |
56 |
void gt6426x_eth_initialize(bd_t *bis); |
8218bd2aa Moved initializat... |
57 |
int inca_switch_initialize(bd_t *bis); |
bd6ce9d17 cm4008, cm41xx: f... |
58 |
int ks8695_eth_initialize(void); |
45a1693a3 net: ks8851_mll: ... |
59 |
int ks8851_mll_initialize(u8 dev_num, int base_addr); |
b7ad4109d NET: LAN91C96 CON... |
60 |
int lan91c96_initialize(u8 dev_num, int base_addr); |
89973f8a8 Introduce netdev.... |
61 62 63 |
int macb_eth_initialize(int id, void *regs, unsigned int phy_addr); int mcdmafec_initialize(bd_t *bis); int mcffec_initialize(bd_t *bis); |
a0aad08f9 Moved initializat... |
64 |
int mpc512x_fec_initialize(bd_t *bis); |
e1d7480b5 Moved initializat... |
65 |
int mpc5xxx_fec_initialize(bd_t *bis); |
ba705b5b1 mgcoge make ether... |
66 |
int mpc82xx_scc_enet_initialize(bd_t *bis); |
d44265ad7 mvgbe: support So... |
67 |
int mvgbe_initialize(bd_t *bis); |
b902b8dda Moved initializat... |
68 |
int natsemi_initialize(bd_t *bis); |
d02016929 ne2000: Convert t... |
69 |
int ne2k_register(void); |
cc94074ec Moved initializat... |
70 |
int npe_initialize(bd_t *bis); |
19403633d Moved initializat... |
71 |
int ns8382x_initialize(bd_t *bis); |
e3090534d Moved initializat... |
72 |
int pcnet_initialize(bd_t *bis); |
4fce2acea Moved initializat... |
73 |
int plb2800_eth_initialize(bd_t *bis); |
25a859066 Moved initializat... |
74 |
int ppc_4xx_eth_initialize (bd_t *bis); |
0b252f50a Moved initializat... |
75 |
int rtl8139_initialize(bd_t *bis); |
02d69891d Moved initializat... |
76 |
int rtl8169_initialize(bd_t *bis); |
9eb79bd88 Moved initializat... |
77 |
int scc_initialize(bd_t *bis); |
bd6ce9d17 cm4008, cm41xx: f... |
78 |
int sh_eth_initialize(bd_t *bis); |
89973f8a8 Introduce netdev.... |
79 |
int skge_initialize(bd_t *bis); |
7194ab809 Convert SMC91111 ... |
80 |
int smc91111_initialize(u8 dev_num, int base_addr); |
bd6ce9d17 cm4008, cm41xx: f... |
81 |
int smc911x_initialize(u8 dev_num, int base_addr); |
518ce472f net: Add sunxi (A... |
82 |
int sunxi_wemac_initialize(bd_t *bis); |
ccdd12f83 Moved initializat... |
83 |
int tsi108_eth_initialize(bd_t *bis); |
2b5243fc2 8xxx: fix warning... |
84 |
int uec_standard_init(bd_t *bis); |
89973f8a8 Introduce netdev.... |
85 |
int uli526x_initialize(bd_t *bis); |
79788bb19 net: Adds Fast Et... |
86 |
int armada100_fec_register(unsigned long base_addr); |
4f1ec4c17 net: axi_ethernet... |
87 88 |
int xilinx_axiemac_initialize(bd_t *bis, unsigned long base_addr, unsigned long dma_addr); |
c1044a1ec net: emaclite: Mo... |
89 90 |
int xilinx_emaclite_initialize(bd_t *bis, unsigned long base_addr, int txpp, int rxpp); |
df4826503 net: ll_temac: Ad... |
91 92 |
int xilinx_ll_temac_eth_init(bd_t *bis, unsigned long base_addr, int flags, unsigned long ctrl_addr); |
01fbf3104 net: gem: Preserv... |
93 |
int zynq_gem_initialize(bd_t *bis, int base_addr, int phy_addr, u32 emio); |
df4826503 net: ll_temac: Ad... |
94 95 96 97 98 99 100 101 102 |
/* * As long as the Xilinx xps_ll_temac ethernet driver has not its own interface * exported by a public hader file, we need a global definition at this point. */ #if defined(CONFIG_XILINX_LL_TEMAC) #define XILINX_LL_TEMAC_M_FIFO 0 /* use FIFO Ctrl */ #define XILINX_LL_TEMAC_M_SDMA_PLB (1 << 0)/* use SDMA Ctrl via PLB */ #define XILINX_LL_TEMAC_M_SDMA_DCR (1 << 1)/* use SDMA Ctrl via DCR */ #endif |
89973f8a8 Introduce netdev.... |
103 104 105 106 107 108 109 110 |
/* 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 Moved initializat... |
111 |
|
10efa024b Moved initializat... |
112 113 114 115 116 |
#ifdef CONFIG_PCI #ifdef CONFIG_EEPRO100 num += eepro100_initialize(bis); #endif |
8ca0b3f99 Moved initializat... |
117 118 119 |
#ifdef CONFIG_TULIP num += dc21x4x_initialize(bis); #endif |
ad3381cf4 Moved initializat... |
120 121 122 |
#ifdef CONFIG_E1000 num += e1000_initialize(bis); #endif |
e3090534d Moved initializat... |
123 124 125 |
#ifdef CONFIG_PCNET num += pcnet_initialize(bis); #endif |
b902b8dda Moved initializat... |
126 127 128 |
#ifdef CONFIG_NATSEMI num += natsemi_initialize(bis); #endif |
19403633d Moved initializat... |
129 130 131 |
#ifdef CONFIG_NS8382X num += ns8382x_initialize(bis); #endif |
0b252f50a Moved initializat... |
132 133 134 |
#if defined(CONFIG_RTL8139) num += rtl8139_initialize(bis); #endif |
02d69891d Moved initializat... |
135 136 137 |
#if defined(CONFIG_RTL8169) num += rtl8169_initialize(bis); #endif |
b11f664f5 net: fix ULI 526x... |
138 |
#if defined(CONFIG_ULI526X) |
89973f8a8 Introduce netdev.... |
139 140 |
num += uli526x_initialize(bis); #endif |
10efa024b Moved initializat... |
141 142 |
#endif /* CONFIG_PCI */ |
89973f8a8 Introduce netdev.... |
143 144 |
return num; } |
6f51deb7f Marvell MV88E61XX... |
145 146 147 148 149 150 |
/* * Boards with mv88e61xx switch can use this by defining * CONFIG_MV88E61XX_SWITCH in respective board configheader file * the stuct and enums here are used to specify switch configuration params */ #if defined(CONFIG_MV88E61XX_SWITCH) |
0a16ea593 mv88e61xx: refact... |
151 152 153 |
/* constants for any 88E61xx switch */ #define MV88E61XX_MAX_PORTS_NUM 6 |
6f51deb7f Marvell MV88E61XX... |
154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 |
enum mv88e61xx_cfg_mdip { MV88E61XX_MDIP_NOCHANGE, MV88E61XX_MDIP_REVERSE }; enum mv88e61xx_cfg_ledinit { MV88E61XX_LED_INIT_DIS, MV88E61XX_LED_INIT_EN }; enum mv88e61xx_cfg_rgmiid { MV88E61XX_RGMII_DELAY_DIS, MV88E61XX_RGMII_DELAY_EN }; enum mv88e61xx_cfg_prtstt { MV88E61XX_PORTSTT_DISABLED, MV88E61XX_PORTSTT_BLOCKING, MV88E61XX_PORTSTT_LEARNING, MV88E61XX_PORTSTT_FORWARDING }; struct mv88e61xx_config { char *name; |
0a16ea593 mv88e61xx: refact... |
179 |
u8 vlancfg[MV88E61XX_MAX_PORTS_NUM]; |
6f51deb7f Marvell MV88E61XX... |
180 181 182 183 184 185 186 |
enum mv88e61xx_cfg_rgmiid rgmii_delay; enum mv88e61xx_cfg_prtstt portstate; enum mv88e61xx_cfg_ledinit led_init; enum mv88e61xx_cfg_mdip mdip; u32 ports_enabled; u8 cpuport; }; |
0a16ea593 mv88e61xx: refact... |
187 188 189 190 191 192 193 194 195 196 197 |
/* * Common mappings for Internal VLANs * These mappings consider that all ports are useable; the driver * will mask inexistent/unused ports. */ /* Switch mode : routes any port to any port */ #define MV88E61XX_VLANCFG_SWITCH { 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F } /* Router mode: routes only CPU port 5 to/from non-CPU ports 0-4 */ #define MV88E61XX_VLANCFG_ROUTER { 0x20, 0x20, 0x20, 0x20, 0x20, 0x1F } |
6f51deb7f Marvell MV88E61XX... |
198 199 |
int mv88e61xx_switch_initialize(struct mv88e61xx_config *swconfig); #endif /* CONFIG_MV88E61XX_SWITCH */ |
fe428b909 net: fec_mxc: get... |
200 201 202 203 204 205 |
struct mii_dev *fec_get_miibus(uint32_t base_addr, int dev_id); #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 FEC: Allow regist... |
206 207 208 209 |
/* * 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 net: fec_mxc: get... |
210 |
#endif |
2e5f44213 FEC: Allow regist... |
211 |
|
89973f8a8 Introduce netdev.... |
212 |
#endif /* _NETDEV_H_ */ |