]> git.karo-electronics.de Git - mv-sheeva.git/blobdiff - arch/arm/mach-realview/realview_pb11mp.c
Merge branch 'next' into for-linus
[mv-sheeva.git] / arch / arm / mach-realview / realview_pb11mp.c
index 9bbbfc05f22596616f91b4394f5cd8ceee6f6d07..3e02731af9593414d181c2188feadab82cadcc2a 100644 (file)
@@ -301,17 +301,16 @@ static struct sys_timer realview_pb11mp_timer = {
 
 static void realview_pb11mp_reset(char mode)
 {
-       void __iomem *hdr_ctrl = __io_address(REALVIEW_SYS_BASE) +
-               REALVIEW_SYS_RESETCTL_OFFSET;
-       unsigned int val;
+       void __iomem *reset_ctrl = __io_address(REALVIEW_SYS_RESETCTL);
+       void __iomem *lock_ctrl = __io_address(REALVIEW_SYS_LOCK);
 
        /*
         * To reset, we hit the on-board reset register
         * in the system FPGA
         */
-       val = __raw_readl(hdr_ctrl);
-       val |= REALVIEW_PB11MP_SYS_CTRL_RESET_CONFIGCLR;
-       __raw_writel(val, hdr_ctrl);
+       __raw_writel(REALVIEW_SYS_LOCK_VAL, lock_ctrl);
+       __raw_writel(0x0000, reset_ctrl);
+       __raw_writel(0x0004, reset_ctrl);
 }
 
 static void __init realview_pb11mp_init(void)