* [U-Boot] [PATCH] tsec: Revert to setting TBICR_ANEG_ENABLE by default for SGMII
@ 2010-12-02 5:04 Kumar Gala
2010-12-02 16:50 ` Peter Tyser
0 siblings, 1 reply; 3+ messages in thread
From: Kumar Gala @ 2010-12-02 5:04 UTC (permalink / raw)
To: u-boot
The following commit:
commit 46e91674fb4b6d06c6a4984c0b5ac7d9a16923f4
Author: Peter Tyser <ptyser@xes-inc.com>
Date: Tue Nov 3 17:52:07 2009 -0600
tsec: Force TBI PHY to 1000Mbps full duplex in SGMII mode
Removed setting Auto-Neg by default, however this is believed to be
proper default configuration for initialization of the TBI interface.
Instead we explicitly set CONFIG_TSEC_TBICR_SETTINGS for the
XPedite5370 & XPedite5500 boards that use a Broadcomm PHY which require
Auto-Neg to be disabled to function properly.
This addresses a breakage on the P2020 DS & MPC8572 DS boards when used
with an SGMII riser card. We also remove setting
CONFIG_TSEC_TBICR_SETTINGS on the P1_P2_RDB family of boards as now the
default setting is sufficient for them.
Additionally, we clean up the code a bit to remove an unnecessary second
define.
Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
---
drivers/net/tsec.c | 9 ++++-----
include/configs/P1_P2_RDB.h | 8 --------
include/configs/xpedite537x.h | 6 ++++++
include/configs/xpedite550x.h | 6 ++++++
4 files changed, 16 insertions(+), 13 deletions(-)
diff --git a/drivers/net/tsec.c b/drivers/net/tsec.c
index 9b5dd92..77908d1 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 a21afb7..2dfee3d 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 e0a1fa4..9d87eaf 100644
--- a/include/configs/xpedite537x.h
+++ b/include/configs/xpedite537x.h
@@ -375,6 +375,12 @@ extern unsigned long get_board_ddr_clk(unsigned long dummy);
#define CONFIG_MII_DEFAULT_TSEC 1 /* Allow unregistered phys */
#define CONFIG_ETHPRIME "eTSEC2"
+#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 42d1f69..407ee66 100644
--- a/include/configs/xpedite550x.h
+++ b/include/configs/xpedite550x.h
@@ -345,6 +345,12 @@ extern unsigned long get_board_ddr_clk(unsigned long dummy);
#define CONFIG_MII_DEFAULT_TSEC 1 /* Allow unregistered phys */
#define CONFIG_ETHPRIME "eTSEC2"
+#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)
--
1.7.2.3
^ permalink raw reply related [flat|nested] 3+ messages in thread
* [U-Boot] [PATCH] tsec: Revert to setting TBICR_ANEG_ENABLE by default for SGMII
2010-12-02 5:04 [U-Boot] [PATCH] tsec: Revert to setting TBICR_ANEG_ENABLE by default for SGMII Kumar Gala
@ 2010-12-02 16:50 ` Peter Tyser
2010-12-03 0:20 ` Kumar Gala
0 siblings, 1 reply; 3+ messages in thread
From: Peter Tyser @ 2010-12-02 16:50 UTC (permalink / raw)
To: u-boot
Hi Kumar,
> Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
Acked-by: Peter Tyser <ptyser@xes-inc.com>
Tested-by: Peter Tyser <ptyser@xes-inc.com>
<snip>
> index e0a1fa4..9d87eaf 100644
> --- a/include/configs/xpedite537x.h
> +++ b/include/configs/xpedite537x.h
> @@ -375,6 +375,12 @@ extern unsigned long get_board_ddr_clk(unsigned long dummy);
> #define CONFIG_MII_DEFAULT_TSEC 1 /* Allow unregistered phys */
> #define CONFIG_ETHPRIME "eTSEC2"
Would you mind adding a comment along the lines of the following to
xpedite537x.h and xpedite550x.h above the CONFIG_TSEC_TBICR_SETTINGS
define?:
/*
* 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 \
> + )
> +
Thanks,
Peter
^ permalink raw reply [flat|nested] 3+ messages in thread
* [U-Boot] [PATCH] tsec: Revert to setting TBICR_ANEG_ENABLE by default for SGMII
2010-12-02 16:50 ` Peter Tyser
@ 2010-12-03 0:20 ` Kumar Gala
0 siblings, 0 replies; 3+ messages in thread
From: Kumar Gala @ 2010-12-03 0:20 UTC (permalink / raw)
To: u-boot
On Dec 2, 2010, at 10:50 AM, Peter Tyser wrote:
> Hi Kumar,
>
>> Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
>
> Acked-by: Peter Tyser <ptyser@xes-inc.com>
> Tested-by: Peter Tyser <ptyser@xes-inc.com>
>
> <snip>
>
>> index e0a1fa4..9d87eaf 100644
>> --- a/include/configs/xpedite537x.h
>> +++ b/include/configs/xpedite537x.h
>> @@ -375,6 +375,12 @@ extern unsigned long get_board_ddr_clk(unsigned long dummy);
>> #define CONFIG_MII_DEFAULT_TSEC 1 /* Allow unregistered phys */
>> #define CONFIG_ETHPRIME "eTSEC2"
>
> Would you mind adding a comment along the lines of the following to
> xpedite537x.h and xpedite550x.h above the CONFIG_TSEC_TBICR_SETTINGS
> define?:
> /*
> * 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 \
>> + )
>> +
>
> Thanks,
> Peter
Will make these changes & repost
- k
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2010-12-03 0:20 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2010-12-02 5:04 [U-Boot] [PATCH] tsec: Revert to setting TBICR_ANEG_ENABLE by default for SGMII Kumar Gala
2010-12-02 16:50 ` Peter Tyser
2010-12-03 0:20 ` Kumar Gala
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox