x86: baytrail: Issue full system reset in reset_cpu()
authorBin Meng <bmeng.cn@gmail.com>
Mon, 12 Oct 2015 04:37:45 +0000 (21:37 -0700)
committerSimon Glass <sjg@chromium.org>
Wed, 21 Oct 2015 13:46:27 +0000 (07:46 -0600)
With MRC cache enabled, when typing 'reset' in the U-Boot shell,
BayTrail FSP initialization hangs at "Configuring Memory Start":

  Setting BootMode to 0
  Install PPI: 1F4C6F90-B06B-48D8-A201-BAE5F1CD7D56
  Register PPI Notify: F894643D-C449-42D1-8EA8-85BDD8C65BDE
  About to call MrcInit();
  BayleyBay Platform Type
  CurrentMrcData.BootMode = 4
  Taking Fastboot path!
  Configuring Memory Start...

Changing reset_cpu() to do a full system reset fixes this issue.

Signed-off-by: Bin Meng <bmeng.cn@gmail.com>
Acked-by: Simon Glass <sjg@chromium.org>
arch/x86/cpu/baytrail/valleyview.c

index 215e0d0e2d447e30cd34611142748cfdbcdf080d..a009c14bd9b75a268fc61b562079b6a0759a34d5 100644 (file)
@@ -65,3 +65,9 @@ int reserve_arch(void)
 #endif
 }
 #endif
+
+void reset_cpu(ulong addr)
+{
+       /* cold reset */
+       x86_full_reset();
+}