Przeglądaj źródła

Enable max L2 cache ways

yiming.li 3 lat temu
rodzic
commit
659faf24c8
2 zmienionych plików z 11 dodań i 1 usunięć
  1. 1 0
      arch/riscv/cpu/fu540/cache.c
  2. 10 1
      board/starfive/vic7100/vic7100.c

+ 1 - 0
arch/riscv/cpu/fu540/cache.c

@@ -47,6 +47,7 @@ int cache_enable_ways(void)
 	config = readl((volatile u32 *)base + L2_CACHE_CONFIG);
 	ways = (config & MASK_NUM_WAYS) >> NUM_WAYS_SHIFT;
 
+	if(ways != 0x10) ways = 0x10;    //0x10 will enable 16-ways of L2 cache
 	enable = (volatile u32 *)(base + L2_CACHE_ENABLE);
 
 	/* memory barrier */

+ 10 - 1
board/starfive/vic7100/vic7100.c

@@ -911,8 +911,17 @@ int board_hw_init(void)
 
 int board_init(void)
 {
+	int ret;
+
 	gd->bd->bi_arch_number = MACH_TYPE_STARFIVE_VIC7100;
-	gd->bd->bi_boot_params = PHYS_SDRAM_0;
+        gd->bd->bi_boot_params = PHYS_SDRAM_0;
+
+	/* enable all cache ways */
+        ret = cache_enable_ways();
+        if (ret) {
+                debug("%s: could not enable cache ways\n", __func__);
+                return ret;
+        }
 
 	return 0;
 }