X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=include%2Fnetdev.h;h=2a7f40e5040ee0a88e589f16ad8bdadbd4ec650c;hb=HEAD;hp=b9bfebac67f79d550fa026a2e45d0fe9f090df62;hpb=cb5761f774dffeff7cf19d40803613db7089c9af;p=platform%2Fkernel%2Fu-boot.git diff --git a/include/netdev.h b/include/netdev.h index b9bfeba..2a7f40e 100644 --- a/include/netdev.h +++ b/include/netdev.h @@ -1,8 +1,7 @@ +/* SPDX-License-Identifier: GPL-2.0+ */ /* * (C) Copyright 2008 * Benjamin Warren, biggerbadderben@gmail.com - * - * SPDX-License-Identifier: GPL-2.0+ */ /* @@ -11,6 +10,9 @@ #ifndef _NETDEV_H_ #define _NETDEV_H_ +#include + +struct udevice; /* * Board and CPU-specific initialization functions @@ -21,78 +23,60 @@ * -1: failure */ -int board_eth_init(bd_t *bis); -int cpu_eth_init(bd_t *bis); +int board_eth_init(struct bd_info *bis); +int board_interface_eth_init(struct udevice *dev, + phy_interface_t interface_type); +int cpu_eth_init(struct bd_info *bis); /* Driver initialization prototypes */ -int at91emac_register(bd_t *bis, unsigned long iobase); -int au1x00_enet_initialize(bd_t*); -int ax88180_initialize(bd_t *bis); -int bcm_sf2_eth_register(bd_t *bis, u8 dev_num); -int bfin_EMAC_initialize(bd_t *bis); -int calxedaxgmac_initialize(u32 id, ulong base_addr); +int ax88180_initialize(struct bd_info *bis); +int bcm_sf2_eth_register(struct bd_info *bis, u8 dev_num); +int bfin_EMAC_initialize(struct bd_info *bis); int cs8900_initialize(u8 dev_num, int base_addr); -int davinci_emac_initialize(void); -int dc21x4x_initialize(bd_t *bis); +int dc21x4x_initialize(struct bd_info *bis); int designware_initialize(ulong base_addr, u32 interface); -int dm9000_initialize(bd_t *bis); +int dm9000_initialize(struct bd_info *bis); int dnet_eth_initialize(int id, void *regs, unsigned int phy_addr); -int e1000_initialize(bd_t *bis); -int eepro100_initialize(bd_t *bis); -int enc28j60_initialize(unsigned int bus, unsigned int cs, - unsigned int max_hz, unsigned int mode); +int e1000_initialize(struct bd_info *bis); +int eepro100_initialize(struct bd_info *bis); int ep93xx_eth_initialize(u8 dev_num, int base_addr); -int eth_3com_initialize (bd_t * bis); +int eth_3com_initialize (struct bd_info * bis); int ethoc_initialize(u8 dev_num, int base_addr); -int fec_initialize (bd_t *bis); -int fecmxc_initialize(bd_t *bis); -int fecmxc_initialize_multi(bd_t *bis, int dev_id, int phy_id, uint32_t addr); -int ftgmac100_initialize(bd_t *bits); -int ftmac100_initialize(bd_t *bits); -int ftmac110_initialize(bd_t *bits); -void gt6426x_eth_initialize(bd_t *bis); +int fecmxc_initialize(struct bd_info *bis); +int fecmxc_initialize_multi(struct bd_info *bis, int dev_id, int phy_id, + uint32_t addr); +int ftmac100_initialize(struct bd_info *bits); +int ftmac110_initialize(struct bd_info *bits); +void gt6426x_eth_initialize(struct bd_info *bis); int ks8851_mll_initialize(u8 dev_num, int base_addr); int lan91c96_initialize(u8 dev_num, int base_addr); -int lpc32xx_eth_initialize(bd_t *bis); +int lpc32xx_eth_initialize(struct bd_info *bis); int macb_eth_initialize(int id, void *regs, unsigned int phy_addr); -int mcdmafec_initialize(bd_t *bis); -int mcffec_initialize(bd_t *bis); -int mvgbe_initialize(bd_t *bis); -int mvneta_initialize(bd_t *bis, int base_addr, int devnum, int phy_addr); -int natsemi_initialize(bd_t *bis); +int mcdmafec_initialize(struct bd_info *bis); +int mcffec_initialize(struct bd_info *bis); +int mvgbe_initialize(struct bd_info *bis); +int mvneta_initialize(struct bd_info *bis, int base_addr, int devnum, + int phy_addr); +int natsemi_initialize(struct bd_info *bis); int ne2k_register(void); -int npe_initialize(bd_t *bis); -int ns8382x_initialize(bd_t *bis); -int pcnet_initialize(bd_t *bis); -int ppc_4xx_eth_initialize (bd_t *bis); -int rtl8139_initialize(bd_t *bis); -int rtl8169_initialize(bd_t *bis); -int scc_initialize(bd_t *bis); -int sh_eth_initialize(bd_t *bis); -int skge_initialize(bd_t *bis); -int smc91111_initialize(u8 dev_num, int base_addr); -int smc911x_initialize(u8 dev_num, int base_addr); -int tsi108_eth_initialize(bd_t *bis); -int uec_standard_init(bd_t *bis); -int uli526x_initialize(bd_t *bis); -int armada100_fec_register(unsigned long base_addr); -int xilinx_ll_temac_eth_init(bd_t *bis, unsigned long base_addr, int flags, - unsigned long ctrl_addr); -/* - * 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 +int npe_initialize(struct bd_info *bis); +int ns8382x_initialize(struct bd_info *bis); +int pcnet_initialize(struct bd_info *bis); +int ppc_4xx_eth_initialize (struct bd_info *bis); +int rtl8139_initialize(struct bd_info *bis); +int rtl8169_initialize(struct bd_info *bis); +int scc_initialize(struct bd_info *bis); +int sh_eth_initialize(struct bd_info *bis); +int skge_initialize(struct bd_info *bis); +int smc91111_initialize(u8 dev_num, phys_addr_t base_addr); +int smc911x_initialize(u8 dev_num, phys_addr_t base_addr); +int uli526x_initialize(struct bd_info *bis); /* 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) +static inline int pci_eth_init(struct bd_info *bis) { int num = 0; @@ -130,20 +114,17 @@ static inline int pci_eth_init(bd_t *bis) return num; } -#ifdef CONFIG_DM_ETH -struct mii_dev *fec_get_miibus(struct udevice *dev, int dev_id); -#else -struct mii_dev *fec_get_miibus(uint32_t base_addr, int dev_id); -#endif +struct mii_dev *fec_get_miibus(ulong base_addr, int dev_id); #ifdef CONFIG_PHYLIB struct phy_device; -int fec_probe(bd_t *bd, int dev_id, uint32_t base_addr, +int fec_probe(struct bd_info *bd, int dev_id, uint32_t base_addr, struct mii_dev *bus, struct phy_device *phydev); #else /* * Allow FEC to fine-tune MII configuration on boards which require this. */ +struct eth_device; int fecmxc_register_mii_postcall(struct eth_device *dev, int (*cb)(int)); #endif