summaryrefslogtreecommitdiff
path: root/drivers/net/fm/memac.c
diff options
context:
space:
mode:
authorTom Rini <trini@ti.com>2013-05-02 23:54:32 (GMT)
committerTom Rini <trini@ti.com>2013-05-02 23:54:32 (GMT)
commit3fe012854040280d1efd76dbe6c439e3219850ce (patch)
tree59f04271c75eaf36a308bf86af2790974c836a30 /drivers/net/fm/memac.c
parente3288e1d152a213e71f99c093a4ef63041fe6997 (diff)
parent9e186857c7f99600808b8ecb2fc0fa2adeddebaa (diff)
downloadu-boot-fsl-qoriq-3fe012854040280d1efd76dbe6c439e3219850ce.tar.xz
Merge branch 'master' of git://git.denx.de/u-boot-mpc85xx
Diffstat (limited to 'drivers/net/fm/memac.c')
-rw-r--r--drivers/net/fm/memac.c17
1 files changed, 17 insertions, 0 deletions
diff --git a/drivers/net/fm/memac.c b/drivers/net/fm/memac.c
index 32c7054..d3eee24 100644
--- a/drivers/net/fm/memac.c
+++ b/drivers/net/fm/memac.c
@@ -112,6 +112,23 @@ static void memac_set_interface_mode(struct fsl_enet_mac *mac,
/* Enable automatic speed selection */
if_mode |= IF_MODE_EN_AUTO;
+ if (type == PHY_INTERFACE_MODE_RGMII) {
+ if_mode &= ~IF_MODE_EN_AUTO;
+ if_mode &= ~IF_MODE_SETSP_MASK;
+ switch (speed) {
+ case SPEED_1000:
+ if_mode |= IF_MODE_SETSP_1000M;
+ break;
+ case SPEED_100:
+ if_mode |= IF_MODE_SETSP_100M;
+ break;
+ case SPEED_10:
+ if_mode |= IF_MODE_SETSP_10M;
+ default:
+ break;
+ }
+ }
+
debug(" %s, if_mode = %x\n", __func__, if_mode);
debug(" %s, if_status = %x\n", __func__, if_status);
out_be32(&regs->if_mode, if_mode);