diff options
author | Fugang Duan <B38611@freescale.com> | 2011-11-04 16:21:31 +0800 |
---|---|---|
committer | Fugang Duan <B38611@freescale.com> | 2011-11-04 19:02:48 +0800 |
commit | 3db35f53ad4a9fe90543f7c5c1957d664d429df4 (patch) | |
tree | 844f7244ad7c05a1741517c5e4c0b44260b0ae7c /arch | |
parent | c1aac4a6fbd63f1999a737c589dfe54d63b30dca (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.c | 15 |
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, }; |