summaryrefslogtreecommitdiff
path: root/arch
diff options
context:
space:
mode:
authorFugang Duan <B38611@freescale.com>2011-11-04 16:21:31 +0800
committerFugang Duan <B38611@freescale.com>2011-11-04 19:02:48 +0800
commit3db35f53ad4a9fe90543f7c5c1957d664d429df4 (patch)
tree844f7244ad7c05a1741517c5e4c0b44260b0ae7c /arch
parentc1aac4a6fbd63f1999a737c589dfe54d63b30dca (diff)
ENGR00159982 - [MX6Q]: Add FEC phy save power function.
- Set Phy AR8031 to saving power mode while no cable connect. Signed-off-by: Fugang Duan <B38611@freescale.com>
Diffstat (limited to 'arch')
-rw-r--r--arch/arm/mach-mx6/board-mx6q_arm2.c15
1 files changed, 15 insertions, 0 deletions
diff --git a/arch/arm/mach-mx6/board-mx6q_arm2.c b/arch/arm/mach-mx6/board-mx6q_arm2.c
index a6e57d9bc4f7..01a15200bf7e 100644
--- a/arch/arm/mach-mx6/board-mx6q_arm2.c
+++ b/arch/arm/mach-mx6/board-mx6q_arm2.c
@@ -497,8 +497,23 @@ static int mx6q_arm2_fec_phy_init(struct phy_device *phydev)
return 0;
}
+static int mx6q_arm2_fec_power_hibernate(struct phy_device *phydev)
+{
+ unsigned short val;
+
+ /*set AR8031 debug reg 0xb to hibernate power*/
+ phy_write(phydev, 0x1d, 0xb);
+ val = phy_read(phydev, 0x1e);
+
+ val |= 0x8000;
+ phy_write(phydev, 0x1e, val);
+
+ return 0;
+}
+
static struct fec_platform_data fec_data __initdata = {
.init = mx6q_arm2_fec_phy_init,
+ .power_hibernate = mx6q_arm2_fec_power_hibernate,
.phy = PHY_INTERFACE_MODE_RGMII,
};