diff options
| -rw-r--r-- | drivers/net/tsec.c | 9 | ||||
| -rw-r--r-- | include/configs/P1_P2_RDB.h | 8 | ||||
| -rw-r--r-- | include/configs/xpedite537x.h | 10 | ||||
| -rw-r--r-- | include/configs/xpedite550x.h | 10 | 
4 files changed, 24 insertions, 13 deletions
| diff --git a/drivers/net/tsec.c b/drivers/net/tsec.c index 9b5dd92fb..77908d1e1 100644 --- a/drivers/net/tsec.c +++ b/drivers/net/tsec.c @@ -5,7 +5,7 @@   * terms of the GNU Public License, Version 2, incorporated   * herein by reference.   * - * Copyright 2004-2009 Freescale Semiconductor, Inc. + * Copyright 2004-2010 Freescale Semiconductor, Inc.   * (C) Copyright 2003, Motorola, Inc.   * author Andy Fleming   * @@ -292,13 +292,12 @@ static uint tsec_local_mdio_read(volatile tsec_mdio_t *phyregs,  /* By default force the TBI PHY into 1000Mbps full duplex when in SGMII mode */  #ifndef CONFIG_TSEC_TBICR_SETTINGS -#define TBICR_SETTINGS ( \ +#define CONFIG_TSEC_TBICR_SETTINGS ( \  		TBICR_PHY_RESET \ +		| TBICR_ANEG_ENABLE \  		| TBICR_FULL_DUPLEX \  		| TBICR_SPEED1_SET \  		) -#else -#define TBICR_SETTINGS CONFIG_TSEC_TBICR_SETTINGS  #endif /* CONFIG_TSEC_TBICR_SETTINGS */  /* Configure the TBI for SGMII operation */ @@ -311,7 +310,7 @@ static void tsec_configure_serdes(struct tsec_private *priv)  	tsec_local_mdio_write(priv->phyregs_sgmii, priv->regs->tbipa, TBI_TBICON,  			TBICON_CLK_SELECT);  	tsec_local_mdio_write(priv->phyregs_sgmii, priv->regs->tbipa, TBI_CR, -			TBICR_SETTINGS); +			CONFIG_TSEC_TBICR_SETTINGS);  }  /* Discover which PHY is attached to the device, and configure it diff --git a/include/configs/P1_P2_RDB.h b/include/configs/P1_P2_RDB.h index a21afb7ac..2dfee3d1b 100644 --- a/include/configs/P1_P2_RDB.h +++ b/include/configs/P1_P2_RDB.h @@ -437,14 +437,6 @@ extern unsigned long get_board_sys_clk(unsigned long dummy);  #define CONFIG_PHY_GIGE		1	/* Include GbE speed/duplex detection */ -/* TBI PHY configuration for SGMII mode */ -#define CONFIG_TSEC_TBICR_SETTINGS ( \ -		TBICR_PHY_RESET \ -		| TBICR_ANEG_ENABLE \ -		| TBICR_FULL_DUPLEX \ -		| TBICR_SPEED1_SET \ -		) -  #endif	/* CONFIG_TSEC_ENET */  /* diff --git a/include/configs/xpedite537x.h b/include/configs/xpedite537x.h index e0a1fa406..a74766dce 100644 --- a/include/configs/xpedite537x.h +++ b/include/configs/xpedite537x.h @@ -375,6 +375,16 @@ extern unsigned long get_board_ddr_clk(unsigned long dummy);  #define CONFIG_MII_DEFAULT_TSEC	1	/* Allow unregistered phys */  #define CONFIG_ETHPRIME		"eTSEC2" +/* + * In-band SGMII auto-negotiation between TBI and BCM5482S PHY fails, force + * 1000mbps SGMII link + */ +#define CONFIG_TSEC_TBICR_SETTINGS ( \ +		TBICR_PHY_RESET \ +		| TBICR_FULL_DUPLEX \ +		| TBICR_SPEED1_SET \ +		) +  #define CONFIG_TSEC1		1  #define CONFIG_TSEC1_NAME	"eTSEC1"  #define TSEC1_FLAGS		(TSEC_GIGABIT | TSEC_REDUCED) diff --git a/include/configs/xpedite550x.h b/include/configs/xpedite550x.h index 42d1f6980..a051913ff 100644 --- a/include/configs/xpedite550x.h +++ b/include/configs/xpedite550x.h @@ -345,6 +345,16 @@ extern unsigned long get_board_ddr_clk(unsigned long dummy);  #define CONFIG_MII_DEFAULT_TSEC	1	/* Allow unregistered phys */  #define CONFIG_ETHPRIME		"eTSEC2" +/* + * In-band SGMII auto-negotiation between TBI and BCM5482S PHY fails, force + * 1000mbps SGMII link + */ +#define CONFIG_TSEC_TBICR_SETTINGS ( \ +		TBICR_PHY_RESET \ +		| TBICR_FULL_DUPLEX \ +		| TBICR_SPEED1_SET \ +		) +  #define CONFIG_TSEC1		1  #define CONFIG_TSEC1_NAME	"eTSEC1"  #define TSEC1_FLAGS		(TSEC_GIGABIT | TSEC_REDUCED) |