]> xenbits.xensource.com Git - people/aperard/xen-arm.git/commitdiff
arndale: Reset the machine
authorAnthony PERARD <anthony.perard@citrix.com>
Wed, 16 Jan 2013 12:26:47 +0000 (12:26 +0000)
committerAnthony PERARD <anthony.perard@citrix.com>
Mon, 28 Jan 2013 15:55:20 +0000 (15:55 +0000)
xen/arch/arm/shutdown.c
xen/include/asm-arm/config.h

index 12787845d653748331d444467a12925024aed3b6..f089bed9d278f40cc966e1c83b6707ee7cc99703 100644 (file)
@@ -20,6 +20,15 @@ static void raw_machine_reset(void)
     sp810[1] = 0x1; /* writing any value to SCSYSSTAT reg will reset system */
     dsb(); isb();
     clear_fixmap(FIXMAP_MISC);
+#elif defined(EXYNOS5_PA_PMU)
+#  define EXYNOS_SWRESET    (EXYNOS5_PA_PMU + 0x0400)
+    volatile uint32_t *reg;
+    set_fixmap(FIXMAP_MISC, EXYNOS_SWRESET >> PAGE_SHIFT, DEV_SHARED);
+    reg = ((uint32_t *)
+           (FIXMAP_ADDR(FIXMAP_MISC) + (EXYNOS_SWRESET & ~PAGE_MASK)));
+    *reg = 0x1;
+    dsb(); isb();
+    clear_fixmap(FIXMAP_MISC);
 #endif
 }
 
index f8a88c45c5f60170838c5b8ac84b9f487fd5a0db..51b6627e620d5adc8a432e83e0933a0b72f9219a 100644 (file)
@@ -122,7 +122,7 @@ extern unsigned long frametable_virt_end;
 #define GIC_HR_OFFSET 0x4000 /* Guess work http://lists.infradead.org/pipermail/linux-arm-kernel/2011-September/064219.html */
 #define GIC_VR_OFFSET 0x6000 /* Virtual Machine CPU interface) */
 /* Board-specific: base address of system controller */
-#define SP810_ADDRESS 0x1C020000
+#define EXYNOS5_PA_PMU 0x10040000
 
 
 #endif /* __ARM_CONFIG_H__ */