diff options
Diffstat (limited to 'include')
| -rw-r--r-- | include/netdev.h | 47 | 
1 files changed, 47 insertions, 0 deletions
| diff --git a/include/netdev.h b/include/netdev.h index 63cf730a3..4f2b23a5a 100644 --- a/include/netdev.h +++ b/include/netdev.h @@ -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_ */ |