mirror of
https://github.com/u-boot/u-boot.git
synced 2025-05-08 19:11:53 +00:00
Marvell MV88E61XX Switch Driver support
Chips supported:- 1. 88E6161 6 port gbe swtich with 5 integrated PHYs 2. 88E6165 6 port gbe swtich with 5 integrated PHYs 2. 88E6132 3 port gbe swtich with 2 integrated PHYs Platform specific configuration supported for:- default or router port vlan configuration led_init configuration mdip/n polarity reversal configuration Note: This driver is supported and tested against kirkwood egiga interface Contributors: Yotam Admon <yotam@marvell.com> Michael Blostein <michaelbl@marvell.com Reviewed by: Ronen Shitrit <rshitrit@marvell.com> Signed-off-by: Prafulla Wadaskar <prafulla@marvell.com> Signed-off-by: Ben Warren <biggerbadderben@gmail.com>
This commit is contained in:
parent
091dc9f6ad
commit
6f51deb7f2
4 changed files with 523 additions and 0 deletions
|
@ -116,4 +116,51 @@ static inline int pci_eth_init(bd_t *bis)
|
|||
return num;
|
||||
}
|
||||
|
||||
/*
|
||||
* 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)
|
||||
enum mv88e61xx_cfg_vlan {
|
||||
MV88E61XX_VLANCFG_DEFAULT,
|
||||
MV88E61XX_VLANCFG_ROUTER
|
||||
};
|
||||
|
||||
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;
|
||||
enum mv88e61xx_cfg_vlan vlancfg;
|
||||
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;
|
||||
};
|
||||
|
||||
int mv88e61xx_switch_initialize(struct mv88e61xx_config *swconfig);
|
||||
#endif /* CONFIG_MV88E61XX_SWITCH */
|
||||
|
||||
#endif /* _NETDEV_H_ */
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue