summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorandy.hu <andy.hu@starfivetech.com>2023-07-13 04:16:02 +0300
committerandy.hu <andy.hu@starfivetech.com>2023-07-13 04:16:02 +0300
commit5a118365b4941eaedaca5bd84548fb12403bc97c (patch)
treedb5474aa83fb390123aff1bd6e75a89daeab0ea7
parentc7aeeaf122aa524d6688ae7a1d4619df158120e1 (diff)
parent8056896dcc43e3b83696f76eefaacfb5bf838377 (diff)
downloadu-boot-5a118365b4941eaedaca5bd84548fb12403bc97c.tar.xz
Merge branch 'CR6441_CMA_ADAPTIVE_samin.guo' into 'vf2-devel'
CR6441: borad: starfive: vf2: Adjust the CMA size adaptively See merge request sbc/u-boot!54
-rw-r--r--include/configs/starfive-visionfive2.h35
1 files changed, 34 insertions, 1 deletions
diff --git a/include/configs/starfive-visionfive2.h b/include/configs/starfive-visionfive2.h
index 1c958a147c..969ac55a3d 100644
--- a/include/configs/starfive-visionfive2.h
+++ b/include/configs/starfive-visionfive2.h
@@ -134,6 +134,37 @@
"fi; " \
"fi; \0"
+#define CMA_SIZE_SET \
+ "cma_start=70000000\0" \
+ "cma_1g=b000000\0" \
+ "cma_2g=20000000\0" \
+ "cma_4g=40000000\0" \
+ "cma_8g=60000000\0" \
+ "cma_node=/reserved-memory/linux,cma\0" \
+ "cma_ddr1g_set=" \
+ "fdt set ${cma_node} size <0x0 0x${cma_1g}>;" \
+ "fdt set ${cma_node} alloc-ranges <0x0 0x${cma_start} 0x0 0x${cma_1g}>;\0" \
+ "cma_ddr2g_set=" \
+ "fdt set ${cma_node} size <0x0 0x${cma_2g}>;" \
+ "fdt set ${cma_node} alloc-ranges <0x0 0x${cma_start} 0x0 0x${cma_2g}>;\0" \
+ "cma_ddr4g_set=" \
+ "fdt set ${cma_node} size <0x0 0x${cma_4g}>;" \
+ "fdt set ${cma_node} alloc-ranges <0x0 0x${cma_start} 0x0 0x${cma_4g}>;\0" \
+ "cma_ddr8g_set=" \
+ "fdt set ${cma_node} size <0x0 0x${cma_8g}>;" \
+ "fdt set ${cma_node} alloc-ranges <0x0 0x${cma_start} 0x0 0x${cma_8g}>;\0" \
+ "cma_resize=" \
+ "if test ${memory_size} -eq 40000000; then " \
+ "run cma_ddr1g_set;" \
+ "elif test ${memory_size} -eq 80000000; then " \
+ "run cma_ddr2g_set;" \
+ "elif test ${memory_size} -eq 100000000; then " \
+ "run cma_ddr4g_set;" \
+ "elif test ${memory_size} -ge 200000000; then " \
+ "run cma_ddr8g_set;" \
+ "fi; \0 "
+
+
#define VF2_DISTRO_BOOTENV \
"fatbootpart=1:3\0" \
"bootdev=mmc\0" \
@@ -201,7 +232,8 @@
#define VISIONFIVE2_MEM_SET \
"visionfive2_mem_set=" \
- "fdt memory ${memory_addr} ${memory_size};\0"
+ "fdt memory ${memory_addr} ${memory_size};" \
+ "run cma_resize; \0"
#define CHIPA_SET \
"chipa_set=" \
@@ -298,6 +330,7 @@
CPU_SPEED_1250_SET \
CPU_SPEED_1500_SET \
CPU_FREQ_VOL_SET \
+ CMA_SIZE_SET \
CHIPA_SET_FORCE \
VISIONFIVE2_MEM_SET \
"type_guid_gpt_loader1=" TYPE_GUID_LOADER1 "\0" \