瀏覽代碼

armv7/ls102xa: Fix non-boot cpus cannot correctly fall in spin table

Bootrom will put cpus into WFE state when boot cpu release cpus, so
target cpu cannot correctly go to spin state.

Add 'sev' to wakeup non-boot cpu that hold on bootrom space, let target
cpu can fall into u-boot spin table.

Signed-off-by: Wang Dongsheng <dongsheng.wang@freescale.com>
Reviewed-by: York Sun <yorksun@freescale.com>
Wang Dongsheng 10 年之前
父節點
當前提交
6f0586e692
共有 1 個文件被更改,包括 8 次插入0 次删除
  1. 8 0
      arch/arm/cpu/armv7/ls102xa/cpu.c

+ 8 - 0
arch/arm/cpu/armv7/ls102xa/cpu.c

@@ -344,5 +344,13 @@ void smp_kick_all_cpus(void)
 	struct ccsr_gur __iomem *gur = (void *)(CONFIG_SYS_FSL_GUTS_ADDR);
 
 	out_be32(&gur->brrl, 0x2);
+
+	/*
+	 * LS1 STANDBYWFE is not captured outside the ARM module in the soc.
+	 * So add a delay to wait bootrom execute WFE.
+	 */
+	udelay(1);
+
+	asm volatile("sev");
 }
 #endif