summaryrefslogtreecommitdiff
path: root/target/linux/lantiq/patches-3.18/0006-MIPS-lantiq-reboot-gphy-on-restart.patch
diff options
context:
space:
mode:
Diffstat (limited to 'target/linux/lantiq/patches-3.18/0006-MIPS-lantiq-reboot-gphy-on-restart.patch')
-rw-r--r--target/linux/lantiq/patches-3.18/0006-MIPS-lantiq-reboot-gphy-on-restart.patch29
1 files changed, 29 insertions, 0 deletions
diff --git a/target/linux/lantiq/patches-3.18/0006-MIPS-lantiq-reboot-gphy-on-restart.patch b/target/linux/lantiq/patches-3.18/0006-MIPS-lantiq-reboot-gphy-on-restart.patch
new file mode 100644
index 0000000..1af4fa7
--- /dev/null
+++ b/target/linux/lantiq/patches-3.18/0006-MIPS-lantiq-reboot-gphy-on-restart.patch
@@ -0,0 +1,29 @@
+From f81979f4b297693ac70616feaa4a79bdcb11db35 Mon Sep 17 00:00:00 2001
+From: John Crispin <blogic@openwrt.org>
+Date: Thu, 7 Aug 2014 18:55:57 +0200
+Subject: [PATCH 06/36] MIPS: lantiq: reboot gphy on restart
+
+Signed-off-by: John Crispin <blogic@openwrt.org>
+---
+ arch/mips/lantiq/xway/reset.c | 9 ++++++++-
+ 1 file changed, 8 insertions(+), 1 deletion(-)
+
+--- 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();
+ }
+