Skip to content

Commit 7168645

Browse files
goldsimonDinh Nguyen
authored andcommitted
arm: socfpga: execute cold reboot by default
This changes system reboot for socfpga to issue a cold reboot by default instead of a warm reboot. Warm reboot can still be used by setting reboot_mode to REBOOT_WARM (e.g. via kernel command line 'reboot='), but this patch ensures cold reboot is issued for both REBOOT_COLD and REBOOT_HARD. Also, cold reboot is more fail safe than warm reboot has some issues at least fo CSEL=0 and BSEL=qspi, where the boot rom does not set the qspi clock to a valid range. Signed-off-by: Simon Goldschmidt <[email protected]> Signed-off-by: Dinh Nguyen <[email protected]>
1 parent 54ecb8f commit 7168645

File tree

1 file changed

+6
-6
lines changed

1 file changed

+6
-6
lines changed

arch/arm/mach-socfpga/socfpga.c

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -73,10 +73,10 @@ static void socfpga_cyclone5_restart(enum reboot_mode mode, const char *cmd)
7373

7474
temp = readl(rst_manager_base_addr + SOCFPGA_RSTMGR_CTRL);
7575

76-
if (mode == REBOOT_HARD)
77-
temp |= RSTMGR_CTRL_SWCOLDRSTREQ;
78-
else
76+
if (mode == REBOOT_WARM)
7977
temp |= RSTMGR_CTRL_SWWARMRSTREQ;
78+
else
79+
temp |= RSTMGR_CTRL_SWCOLDRSTREQ;
8080
writel(temp, rst_manager_base_addr + SOCFPGA_RSTMGR_CTRL);
8181
}
8282

@@ -86,10 +86,10 @@ static void socfpga_arria10_restart(enum reboot_mode mode, const char *cmd)
8686

8787
temp = readl(rst_manager_base_addr + SOCFPGA_A10_RSTMGR_CTRL);
8888

89-
if (mode == REBOOT_HARD)
90-
temp |= RSTMGR_CTRL_SWCOLDRSTREQ;
91-
else
89+
if (mode == REBOOT_WARM)
9290
temp |= RSTMGR_CTRL_SWWARMRSTREQ;
91+
else
92+
temp |= RSTMGR_CTRL_SWCOLDRSTREQ;
9393
writel(temp, rst_manager_base_addr + SOCFPGA_A10_RSTMGR_CTRL);
9494
}
9595

0 commit comments

Comments
 (0)