diff options
author | Fugang Duan <B38611@freescale.com> | 2011-11-25 18:27:29 +0800 |
---|---|---|
committer | Jason Liu <r64343@freescale.com> | 2012-01-09 21:08:20 +0800 |
commit | 2e7088e6c8bb3dbb64e7fc13ea3fb4af89d57060 (patch) | |
tree | 0599ccc7564932657dde211d975e92fa050e8f07 /arch/arm | |
parent | 313242fd9a2e3d889a1a339c7d81ac26700b730c (diff) |
ENGR00163040 - FEC : Fix ethernet cannot work after system sleep.
- Descript:
Ethernet can't work in uboot and kernel DHCP throught press
'reset' key when send sleep command 'echo mem > /sys/power/state'
- Cause:
FEC driver will power down phy when system sleep. If just reset the
board, FEC driver cannot run resume function. So, need power on phy
in uboot and linux driver.
Signed-off-by: Fugang Duan <B38611@freescale.com>
Diffstat (limited to 'arch/arm')
-rw-r--r-- | arch/arm/mach-mx6/board-mx6q_arm2.c | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/arch/arm/mach-mx6/board-mx6q_arm2.c b/arch/arm/mach-mx6/board-mx6q_arm2.c index 4274d3d22008..053d3574bfa2 100644 --- a/arch/arm/mach-mx6/board-mx6q_arm2.c +++ b/arch/arm/mach-mx6/board-mx6q_arm2.c @@ -104,6 +104,8 @@ #define MX6Q_SMD_CSI0_RST IMX_GPIO_NR(4, 5) #define MX6Q_SMD_CSI0_PWN IMX_GPIO_NR(5, 23) +#define BMCR_PDOWN 0x0800 /* PHY Powerdown */ + void __init early_console_setup(unsigned long base, struct clk *clk); static struct clk *sata_clk; static int esai_record; @@ -506,6 +508,10 @@ static int mx6q_arm2_fec_phy_init(struct phy_device *phydev) val |= 0x0100; phy_write(phydev, 0x1e, val); + /*check phy power*/ + val = phy_read(phydev, 0x0); + if (val & BMCR_PDOWN) + phy_write(phydev, 0x0, (val & ~BMCR_PDOWN)); return 0; } |