summaryrefslogtreecommitdiff
path: root/multitech/recipes/linux/linux-2.6.39-at91/linux-2.6.39.4-at91sam9x5-extreset.patch
diff options
context:
space:
mode:
Diffstat (limited to 'multitech/recipes/linux/linux-2.6.39-at91/linux-2.6.39.4-at91sam9x5-extreset.patch')
-rw-r--r--multitech/recipes/linux/linux-2.6.39-at91/linux-2.6.39.4-at91sam9x5-extreset.patch16
1 files changed, 16 insertions, 0 deletions
diff --git a/multitech/recipes/linux/linux-2.6.39-at91/linux-2.6.39.4-at91sam9x5-extreset.patch b/multitech/recipes/linux/linux-2.6.39-at91/linux-2.6.39.4-at91sam9x5-extreset.patch
new file mode 100644
index 0000000..31b7441
--- /dev/null
+++ b/multitech/recipes/linux/linux-2.6.39-at91/linux-2.6.39.4-at91sam9x5-extreset.patch
@@ -0,0 +1,16 @@
+Index: linux-2.6.39.4/arch/arm/mach-at91/at91sam9x5.c
+===================================================================
+--- linux-2.6.39.4.orig/arch/arm/mach-at91/at91sam9x5.c 2012-06-25 17:00:27.060489533 -0500
++++ linux-2.6.39.4/arch/arm/mach-at91/at91sam9x5.c 2012-06-25 17:00:33.051404086 -0500
+@@ -330,7 +330,10 @@
+
+ static void at91sam9x5_reset(void)
+ {
+- at91_sys_write(AT91_RSTC_CR, AT91_RSTC_KEY | AT91_RSTC_PROCRST | AT91_RSTC_PERRST);
++ // MTR: generate an external reset (assert the NRST pin) on soft reset
++ // set reset duration to 125 ms --> set ERSTL to 0xb (0xb = 11 = 2^12 slow clock cycles = 4096 clocks = 125 ms)
++ at91_sys_write(AT91_RSTC_MR, AT91_RSTC_KEY | (0xb << 8));
++ at91_sys_write(AT91_RSTC_CR, AT91_RSTC_KEY | AT91_RSTC_PROCRST | AT91_RSTC_PERRST | AT91_RSTC_EXTRST);
+ }
+
+ static void at91sam9x5_poweroff(void)