All of lore.kernel.org
 help / color / mirror / Atom feed
* [U-Boot] [PATCH] Fman/mEMAC: mEMAC fix for 10G MAC and PHY
@ 2014-08-13 10:32 shh.xie at gmail.com
  2014-09-25 19:10 ` Joe Hershberger
  2014-11-14 21:23 ` [U-Boot] [u-boot-release] " York Sun
  0 siblings, 2 replies; 3+ messages in thread
From: shh.xie at gmail.com @ 2014-08-13 10:32 UTC (permalink / raw)
  To: u-boot

From: Shaohui Xie <Shaohui.Xie@freescale.com>

1. use Payload length check disable when enable MAC;
2. add XGMII support for setting MAC interface mode;
3. only enable auto negotiation for Non-XGMII mode;
4. return 0xffff if clause 22 is used to read 10G phy_id;

Signed-off-by: Shaohui Xie <Shaohui.Xie@freescale.com>
Signed-off-by: Roy Zang <tie-fei.zang@freescale.com>
---
 arch/powerpc/include/asm/fsl_memac.h |  1 +
 drivers/net/fm/memac.c               | 12 +++++++++---
 drivers/net/fm/memac_phy.c           |  2 ++
 3 files changed, 12 insertions(+), 3 deletions(-)

diff --git a/arch/powerpc/include/asm/fsl_memac.h b/arch/powerpc/include/asm/fsl_memac.h
index 4640e33..f84c1a9 100644
--- a/arch/powerpc/include/asm/fsl_memac.h
+++ b/arch/powerpc/include/asm/fsl_memac.h
@@ -159,6 +159,7 @@ struct memac {
 #define MEMAC_CMD_CFG_RX_EN		0x00000002 /* MAC Rx path enable */
 #define MEMAC_CMD_CFG_TX_EN		0x00000001 /* MAC Tx path enable */
 #define MEMAC_CMD_CFG_RXTX_EN	(MEMAC_CMD_CFG_RX_EN | MEMAC_CMD_CFG_TX_EN)
+#define MEMAC_CMD_CFG_NO_LEN_CHK 0x20000 /* Payload length check disable */
 
 /* HASHTABLE_CTRL - Hashtable control register */
 #define HASHTABLE_CTRL_MCAST_EN	0x00000200 /* enable mulitcast Rx hash */
diff --git a/drivers/net/fm/memac.c b/drivers/net/fm/memac.c
index 592a67f..ceed261 100644
--- a/drivers/net/fm/memac.c
+++ b/drivers/net/fm/memac.c
@@ -38,7 +38,8 @@ static void memac_enable_mac(struct fsl_enet_mac *mac)
 {
 	struct memac *regs = mac->base;
 
-	setbits_be32(&regs->command_config, MEMAC_CMD_CFG_RXTX_EN);
+	setbits_be32(&regs->command_config,
+		     MEMAC_CMD_CFG_RXTX_EN | MEMAC_CMD_CFG_NO_LEN_CHK);
 }
 
 static void memac_disable_mac(struct fsl_enet_mac *mac)
@@ -94,11 +95,16 @@ static void memac_set_interface_mode(struct fsl_enet_mac *mac,
 		if_mode &= ~IF_MODE_MASK;
 		if_mode |= (IF_MODE_GMII);
 		break;
+	case PHY_INTERFACE_MODE_XGMII:
+		if_mode &= ~IF_MODE_MASK;
+		if_mode |= IF_MODE_XGMII;
+		break;
 	default:
 		break;
 	}
-	/* Enable automatic speed selection */
-	if_mode |= IF_MODE_EN_AUTO;
+	/* Enable automatic speed selection for Non-XGMII */
+	if (type != PHY_INTERFACE_MODE_XGMII)
+		if_mode |= IF_MODE_EN_AUTO;
 
 	if (type == PHY_INTERFACE_MODE_RGMII) {
 		if_mode &= ~IF_MODE_EN_AUTO;
diff --git a/drivers/net/fm/memac_phy.c b/drivers/net/fm/memac_phy.c
index de9c0e9..3fa91b3 100644
--- a/drivers/net/fm/memac_phy.c
+++ b/drivers/net/fm/memac_phy.c
@@ -71,6 +71,8 @@ int memac_mdio_read(struct mii_dev *bus, int port_addr, int dev_addr,
 	u32 c45 = 1;
 
 	if (dev_addr == MDIO_DEVAD_NONE) {
+		if (!strcmp(bus->name, DEFAULT_FM_TGEC_MDIO_NAME))
+			return 0xffff;
 		c45 = 0; /* clause 22 */
 		dev_addr = regnum & 0x1f;
 		clrbits_be32(&regs->mdio_stat, MDIO_STAT_ENC);
-- 
1.8.0

^ permalink raw reply related	[flat|nested] 3+ messages in thread

* [U-Boot] [PATCH] Fman/mEMAC: mEMAC fix for 10G MAC and PHY
  2014-08-13 10:32 [U-Boot] [PATCH] Fman/mEMAC: mEMAC fix for 10G MAC and PHY shh.xie at gmail.com
@ 2014-09-25 19:10 ` Joe Hershberger
  2014-11-14 21:23 ` [U-Boot] [u-boot-release] " York Sun
  1 sibling, 0 replies; 3+ messages in thread
From: Joe Hershberger @ 2014-09-25 19:10 UTC (permalink / raw)
  To: u-boot

On Wed, Aug 13, 2014 at 5:32 AM, <shh.xie@gmail.com> wrote:
>
> From: Shaohui Xie <Shaohui.Xie@freescale.com>
>
> 1. use Payload length check disable when enable MAC;
> 2. add XGMII support for setting MAC interface mode;
> 3. only enable auto negotiation for Non-XGMII mode;
> 4. return 0xffff if clause 22 is used to read 10G phy_id;
>
> Signed-off-by: Shaohui Xie <Shaohui.Xie@freescale.com>
> Signed-off-by: Roy Zang <tie-fei.zang@freescale.com>

Acked-By: Joe Hershberger <joe.hershberger@ni.com>

^ permalink raw reply	[flat|nested] 3+ messages in thread

* [U-Boot] [u-boot-release] [PATCH] Fman/mEMAC: mEMAC fix for 10G MAC and PHY
  2014-08-13 10:32 [U-Boot] [PATCH] Fman/mEMAC: mEMAC fix for 10G MAC and PHY shh.xie at gmail.com
  2014-09-25 19:10 ` Joe Hershberger
@ 2014-11-14 21:23 ` York Sun
  1 sibling, 0 replies; 3+ messages in thread
From: York Sun @ 2014-11-14 21:23 UTC (permalink / raw)
  To: u-boot

On 08/13/2014 03:32 AM, shh.xie at gmail.com wrote:
> From: Shaohui Xie <Shaohui.Xie@freescale.com>
> 
> 1. use Payload length check disable when enable MAC;
> 2. add XGMII support for setting MAC interface mode;
> 3. only enable auto negotiation for Non-XGMII mode;
> 4. return 0xffff if clause 22 is used to read 10G phy_id;
> 
> Signed-off-by: Shaohui Xie <Shaohui.Xie@freescale.com>
> Signed-off-by: Roy Zang <tie-fei.zang@freescale.com>
> ---

Applied to u-boot-mpc85xx master. Thanks.

York

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2014-11-14 21:23 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2014-08-13 10:32 [U-Boot] [PATCH] Fman/mEMAC: mEMAC fix for 10G MAC and PHY shh.xie at gmail.com
2014-09-25 19:10 ` Joe Hershberger
2014-11-14 21:23 ` [U-Boot] [u-boot-release] " York Sun

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.