@@ -5,6 +5,7 @@
* Anton Vorontsov <avorontsov@ru.mvista.com>
*
* Copyright (c) 2006-2007 MontaVista Software, Inc.
+ * Copyright 2009 Freescale Semiconductor, Inc.
*
* This program is free software; you can redistribute it and/or modify it
* under the terms of the GNU General Public License as published by the
@@ -17,6 +18,7 @@
#include <linux/platform_device.h>
#include <linux/list.h>
#include <linux/mii.h>
+#include <linux/mdio.h>
#include <linux/phy.h>
#include <linux/phy_fixed.h>
#include <linux/err.h>
@@ -55,6 +57,9 @@ static int fixed_phy_update_regs(struct fixed_phy *fp)
bmcr |= BMCR_FULLDPLX;
switch (fp->status.speed) {
+ case 10000:
+ fp->regs[MDIO_STAT2] = MDIO_STAT2_DEVPRST_VAL;
+ break;
case 1000:
bmsr |= BMSR_ESTATEN;
bmcr |= BMCR_SPEED1000;
@@ -75,6 +80,9 @@ static int fixed_phy_update_regs(struct fixed_phy *fp)
}
} else {
switch (fp->status.speed) {
+ case 10000:
+ fp->regs[MDIO_STAT2] = MDIO_STAT2_DEVPRST_VAL;
+ break;
case 1000:
bmsr |= BMSR_ESTATEN;
bmcr |= BMCR_SPEED1000;