* [PATCH v2] cmd: mem: add function for getting ram size for use in scripts
@ 2026-01-17 21:23 Frank Wunderlich
0 siblings, 0 replies; only message in thread
From: Frank Wunderlich @ 2026-01-17 21:23 UTC (permalink / raw)
To: Tom Rini; +Cc: Frank Wunderlich, u-boot, Daniel Golle
From: Frank Wunderlich <frank-w@public-files.de>
Add a command for getting detected ram size with possibility to write
to environment variable.
example usage:
BPI-R4> msize
4294967296
BPI-R4> msize m
4096m
BPI-R4> msize g
4g
BPI-R4> msize g ramsize
BPI-R4> printenv ramsize
ramsize=4
BPI-R4>
board with 8GB ram:
BPI-R4> msize
8589934592
BPI-R4> msize m
8192m
BPI-R4> msize g
8g
BPI-R4> msize g ramsize
BPI-R4> printenv ramsize
ramsize=8
BPI-R4>
Signed-off-by: Frank Wunderlich <frank-w@public-files.de>
---
v2: add Kconfig entry
---
cmd/Kconfig | 5 +++++
cmd/mem.c | 28 ++++++++++++++++++++++++++++
2 files changed, 33 insertions(+)
diff --git a/cmd/Kconfig b/cmd/Kconfig
index 5c611fb3016e..b82b17195b7e 100644
--- a/cmd/Kconfig
+++ b/cmd/Kconfig
@@ -974,6 +974,11 @@ config CMD_RANDOM
help
random - fill memory with random data
+config CMD_MEMSIZE
+ bool "memsize"
+ help
+ Get RAM via command for use in scripts.
+
config CMD_MEMTEST
bool "memtest"
help
diff --git a/cmd/mem.c b/cmd/mem.c
index d5d7ca2790bd..a1cf4eef0701 100644
--- a/cmd/mem.c
+++ b/cmd/mem.c
@@ -33,6 +33,7 @@
#include <linux/compiler.h>
#include <linux/ctype.h>
#include <linux/delay.h>
+#include <linux/sizes.h>
DECLARE_GLOBAL_DATA_PTR;
@@ -711,6 +712,27 @@ static int do_mem_loopw(struct cmd_tbl *cmdtp, int flag, int argc,
}
#endif /* CONFIG_LOOPW */
+static int do_mem_size(struct cmd_tbl *cmdtp, int flag, int argc,
+ char *const argv[])
+{
+ u64 memsize = gd->ram_size;
+
+ if (argc > 1) {
+ if (!strcmp(argv[1], "m"))
+ memsize = (memsize + SZ_1M - 1) / SZ_1M;
+ else if (!strcmp(argv[1], "g"))
+ memsize = (memsize + SZ_1G - 1) / SZ_1G;
+ if (argc > 2)
+ env_set_ulong(argv[2], memsize);
+ else
+ printf("%lld%s\n", memsize, argv[1]);
+ } else {
+ printf("%lld\n", memsize);
+ }
+
+ return 0;
+}
+
#ifdef CONFIG_CMD_MEMTEST
static ulong mem_test_alt(volatile ulong *buf, ulong start_addr, ulong end_addr,
volatile ulong *dummy)
@@ -1404,6 +1426,12 @@ U_BOOT_CMD(
);
#endif /* CONFIG_LOOPW */
+U_BOOT_CMD(
+ msize, 3, 1, do_mem_size,
+ "get detected ram size, optional set env variable with value",
+ "[m, g] [envvar]"
+);
+
#ifdef CONFIG_CMD_MEMTEST
U_BOOT_CMD(
mtest, 5, 1, do_mem_mtest,
--
2.43.0
^ permalink raw reply related [flat|nested] only message in thread
only message in thread, other threads:[~2026-01-17 21:24 UTC | newest]
Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-01-17 21:23 [PATCH v2] cmd: mem: add function for getting ram size for use in scripts Frank Wunderlich
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.