X-Git-Url: https://git.karo-electronics.de/?a=blobdiff_plain;f=include%2Fnetdev.h;h=f9559249f6b4baf52973eeab17058f1ab6b704d0;hb=f5b7c326174c30db780d54d3cbc3719040fac51f;hp=daffc1222d60afba54d8ad9dc5dba7d84d284fe0;hpb=306df2c8241bd363c71a99841630fb5e85d81fae;p=karo-tx-uboot.git diff --git a/include/netdev.h b/include/netdev.h index daffc1222d..f9559249f6 100644 --- a/include/netdev.h +++ b/include/netdev.h @@ -55,9 +55,9 @@ int ftmac100_initialize(bd_t *bits); int ftmac110_initialize(bd_t *bits); int greth_initialize(bd_t *bis); void gt6426x_eth_initialize(bd_t *bis); -int ks8695_eth_initialize(void); 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 macb_eth_initialize(int id, void *regs, unsigned int phy_addr); int mcdmafec_initialize(bd_t *bis); int mcffec_initialize(bd_t *bis); @@ -70,6 +70,7 @@ int natsemi_initialize(bd_t *bis); int ne2k_register(void); int npe_initialize(bd_t *bis); int ns8382x_initialize(bd_t *bis); +int pch_gbe_register(bd_t *bis); int pcnet_initialize(bd_t *bis); int ppc_4xx_eth_initialize (bd_t *bis); int rtl8139_initialize(bd_t *bis); @@ -79,8 +80,6 @@ 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 sunxi_emac_initialize(bd_t *bis); -int sunxi_gmac_initialize(bd_t *bis); int tsi108_eth_initialize(bd_t *bis); int uec_standard_init(bd_t *bis); int uli526x_initialize(bd_t *bis); @@ -124,6 +123,9 @@ static inline int pci_eth_init(bd_t *bis) #ifdef CONFIG_E1000 num += e1000_initialize(bis); #endif +#ifdef CONFIG_PCH_GBE + num += pch_gbe_register(bis); +#endif #ifdef CONFIG_PCNET num += pcnet_initialize(bis); #endif @@ -217,4 +219,40 @@ int fec_probe(bd_t *bd, int dev_id, uint32_t base_addr, int fecmxc_register_mii_postcall(struct eth_device *dev, int (*cb)(int)); #endif +#ifdef CONFIG_DRIVER_TI_CPSW +enum { + CPSW_CTRL_VERSION_1 = 0, /* version1 devices */ + CPSW_CTRL_VERSION_2 /* version2 devices */ +}; + +struct cpsw_slave_data { + u32 slave_reg_ofs; + u32 sliver_reg_ofs; + int phy_id; + int phy_if; +}; + +struct cpsw_platform_data { + u32 mdio_base; + u32 cpsw_base; + int mdio_div; + int channels; /* number of cpdma channels (symmetric) */ + u32 cpdma_reg_ofs; /* cpdma register offset */ + int slaves; /* number of slave cpgmac ports */ + u32 ale_reg_ofs; /* address lookup engine reg offset */ + int ale_entries; /* ale table size */ + u32 host_port_reg_ofs; /* cpdma host port registers */ + u32 hw_stats_reg_ofs; /* cpsw hw stats counters */ + u32 mac_control; + struct cpsw_slave_data *slave_data; + void (*control)(int enabled); + void (*phy_init)(char *name, int addr); + u32 gigabit_en; /* gigabit capable AND enabled */ + u32 host_port_num; + u8 version; +}; + +int cpsw_register(struct cpsw_platform_data *data); +#endif /* CONFIG_DRIVER_TI_CPSW */ + #endif /* _NETDEV_H_ */