aboutsummaryrefslogtreecommitdiffstats
path: root/target/linux/sunxi/patches-3.13/107-sunxi-register-a31-reset.patch
diff options
context:
space:
mode:
Diffstat (limited to 'target/linux/sunxi/patches-3.13/107-sunxi-register-a31-reset.patch')
-rw-r--r--target/linux/sunxi/patches-3.13/107-sunxi-register-a31-reset.patch50
1 files changed, 50 insertions, 0 deletions
diff --git a/target/linux/sunxi/patches-3.13/107-sunxi-register-a31-reset.patch b/target/linux/sunxi/patches-3.13/107-sunxi-register-a31-reset.patch
new file mode 100644
index 0000000000..b0e98d7fbb
--- /dev/null
+++ b/target/linux/sunxi/patches-3.13/107-sunxi-register-a31-reset.patch
@@ -0,0 +1,50 @@
+From dae0e37c2df466f5eb6459d05f392e86b4236666 Mon Sep 17 00:00:00 2001
+From: Maxime Ripard <maxime.ripard@free-electrons.com>
+Date: Sat, 5 Oct 2013 14:53:48 +0200
+Subject: [PATCH] ARM: sunxi: Register the A31 reset IP in init_time
+
+The A31 has a reset IP that maintains a few other IPs in reset by
+default. Among these IPs are the UARTs, and most notably the timers. We
+thus need to register the reset driver before initializing the timers so
+that the reset timer can use the reset framework.
+
+Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
+Acked-by: Philipp Zabel <p.zabel@pengutronix.de>
+---
+ arch/arm/mach-sunxi/sunxi.c | 11 +++++++++++
+ 1 file changed, 11 insertions(+)
+
+diff --git a/arch/arm/mach-sunxi/sunxi.c b/arch/arm/mach-sunxi/sunxi.c
+index 61d3a38..594ac48 100644
+--- a/arch/arm/mach-sunxi/sunxi.c
++++ b/arch/arm/mach-sunxi/sunxi.c
+@@ -10,6 +10,8 @@
+ * warranty of any kind, whether express or implied.
+ */
+
++#include <linux/clk-provider.h>
++#include <linux/clocksource.h>
+ #include <linux/delay.h>
+ #include <linux/kernel.h>
+ #include <linux/init.h>
+@@ -132,8 +134,17 @@ static void __init sunxi_dt_init(void)
+ NULL,
+ };
+
++extern void __init sun6i_reset_init(void);
++static void __init sun6i_timer_init(void)
++{
++ of_clk_init(NULL);
++ sun6i_reset_init();
++ clocksource_of_init();
++}
++
+ DT_MACHINE_START(SUN6I_DT, "Allwinner sun6i (A31) Family")
+ .init_machine = sunxi_dt_init,
++ .init_time = sun6i_timer_init,
+ .dt_compat = sun6i_board_dt_compat,
+ .restart = sun6i_restart,
+ MACHINE_END
+--
+1.8.5.1
+