lantiq: reset gphys on reboot

If gphys are not reset upstream uboot can not use them anymore.

Signed-off-by: Antonios Vamporakis <ant@area128.com>

SVN-Revision: 40318
This commit is contained in:
John Crispin 2014-03-30 09:16:10 +00:00
parent 9531390aad
commit 3a43738e21

View File

@ -0,0 +1,19 @@
--- a/arch/mips/lantiq/xway/reset.c
+++ b/arch/mips/lantiq/xway/reset.c
@@ -176,8 +176,15 @@ void ltq_rst_init(void)
static void ltq_machine_restart(char *command)
{
+ u32 val = ltq_rcu_r32(RCU_RST_REQ);
+
+ if (of_device_is_compatible(ltq_rcu_np, "lantiq,rcu-xrx200"))
+ val |= RCU_RD_GPHY1_XRX200 | RCU_RD_GPHY0_XRX200;
+
+ val |= RCU_RD_SRST;
+
local_irq_disable();
- ltq_rcu_w32(ltq_rcu_r32(RCU_RST_REQ) | RCU_RD_SRST, RCU_RST_REQ);
+ ltq_rcu_w32(val, RCU_RST_REQ);
unreachable();
}