mirror of
https://git.openwrt.org/openwrt/openwrt.git
synced 2026-01-27 23:47:19 +01:00
uboot-mediatek: add command for getting size of ram
Add command which gets ramsize and write it to env variable. Signed-off-by: Frank Wunderlich <frank-w@public-files.de> Link: https://github.com/openwrt/openwrt/pull/21437 Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
This commit is contained in:
parent
02b2dd3508
commit
46ee5209aa
2 changed files with 121 additions and 0 deletions
|
|
@ -75,6 +75,7 @@
|
||||||
+CONFIG_CMD_FS_UUID=y
|
+CONFIG_CMD_FS_UUID=y
|
||||||
+CONFIG_CMD_UBI=y
|
+CONFIG_CMD_UBI=y
|
||||||
+CONFIG_CMD_UBI_RENAME=y
|
+CONFIG_CMD_UBI_RENAME=y
|
||||||
|
+CONFIG_CMD_MEMSIZE=y
|
||||||
+CONFIG_OF_EMBED=y
|
+CONFIG_OF_EMBED=y
|
||||||
+CONFIG_ENV_OVERWRITE=y
|
+CONFIG_ENV_OVERWRITE=y
|
||||||
+CONFIG_ENV_IS_IN_MMC=y
|
+CONFIG_ENV_IS_IN_MMC=y
|
||||||
|
|
@ -356,6 +357,7 @@
|
||||||
+CONFIG_CMD_FS_UUID=y
|
+CONFIG_CMD_FS_UUID=y
|
||||||
+CONFIG_CMD_UBI=y
|
+CONFIG_CMD_UBI=y
|
||||||
+CONFIG_CMD_UBI_RENAME=y
|
+CONFIG_CMD_UBI_RENAME=y
|
||||||
|
+CONFIG_CMD_MEMSIZE=y
|
||||||
+CONFIG_OF_EMBED=y
|
+CONFIG_OF_EMBED=y
|
||||||
+CONFIG_ENV_OVERWRITE=y
|
+CONFIG_ENV_OVERWRITE=y
|
||||||
+CONFIG_ENV_IS_IN_UBI=y
|
+CONFIG_ENV_IS_IN_UBI=y
|
||||||
|
|
@ -948,6 +950,7 @@
|
||||||
+CONFIG_CMD_FS_UUID=y
|
+CONFIG_CMD_FS_UUID=y
|
||||||
+CONFIG_CMD_UBI=y
|
+CONFIG_CMD_UBI=y
|
||||||
+CONFIG_CMD_UBI_RENAME=y
|
+CONFIG_CMD_UBI_RENAME=y
|
||||||
|
+CONFIG_CMD_MEMSIZE=y
|
||||||
+CONFIG_OF_EMBED=y
|
+CONFIG_OF_EMBED=y
|
||||||
+CONFIG_ENV_OVERWRITE=y
|
+CONFIG_ENV_OVERWRITE=y
|
||||||
+CONFIG_ENV_IS_IN_MMC=y
|
+CONFIG_ENV_IS_IN_MMC=y
|
||||||
|
|
@ -1229,6 +1232,7 @@
|
||||||
+CONFIG_CMD_FS_UUID=y
|
+CONFIG_CMD_FS_UUID=y
|
||||||
+CONFIG_CMD_UBI=y
|
+CONFIG_CMD_UBI=y
|
||||||
+CONFIG_CMD_UBI_RENAME=y
|
+CONFIG_CMD_UBI_RENAME=y
|
||||||
|
+CONFIG_CMD_MEMSIZE=y
|
||||||
+CONFIG_OF_EMBED=y
|
+CONFIG_OF_EMBED=y
|
||||||
+CONFIG_ENV_OVERWRITE=y
|
+CONFIG_ENV_OVERWRITE=y
|
||||||
+CONFIG_ENV_IS_IN_UBI=y
|
+CONFIG_ENV_IS_IN_UBI=y
|
||||||
|
|
|
||||||
117
package/boot/uboot-mediatek/patches/501-add-cmd-msize.patch
Normal file
117
package/boot/uboot-mediatek/patches/501-add-cmd-msize.patch
Normal file
|
|
@ -0,0 +1,117 @@
|
||||||
|
From 83c596f12349fdc77fa76e1d017b4fc8882744ef Mon Sep 17 00:00:00 2001
|
||||||
|
From: Frank Wunderlich <frank-w@public-files.de>
|
||||||
|
Date: Sat, 17 Jan 2026 12:38:40 +0100
|
||||||
|
To: Tom Rini <trini@konsulko.com>
|
||||||
|
Cc: u-boot@lists.denx.de,
|
||||||
|
Daniel Golle <daniel@makrotopia.org>
|
||||||
|
Subject: [PATCH v4] cmd: mem: add function for getting ram size for use in
|
||||||
|
scripts
|
||||||
|
|
||||||
|
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>
|
||||||
|
---
|
||||||
|
v4: drop rounding to full MB/GB as it leads to wrong display
|
||||||
|
v3: add missing ifdefs
|
||||||
|
v2: add Kconfig entry
|
||||||
|
---
|
||||||
|
cmd/Kconfig | 5 +++++
|
||||||
|
cmd/mem.c | 32 ++++++++++++++++++++++++++++++++
|
||||||
|
2 files changed, 37 insertions(+)
|
||||||
|
|
||||||
|
--- a/cmd/Kconfig
|
||||||
|
+++ b/cmd/Kconfig
|
||||||
|
@@ -980,6 +980,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
|
||||||
|
--- 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,29 @@ static int do_mem_loopw(struct cmd_tbl *
|
||||||
|
}
|
||||||
|
#endif /* CONFIG_LOOPW */
|
||||||
|
|
||||||
|
+#ifdef CONFIG_CMD_MEMSIZE
|
||||||
|
+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;
|
||||||
|
+ else if (!strcmp(argv[1], "g"))
|
||||||
|
+ memsize = memsize / 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;
|
||||||
|
+}
|
||||||
|
+#endif /* CONFIG_CMD_MEMSIZE */
|
||||||
|
+
|
||||||
|
#ifdef CONFIG_CMD_MEMTEST
|
||||||
|
static ulong mem_test_alt(volatile ulong *buf, ulong start_addr, ulong end_addr,
|
||||||
|
volatile ulong *dummy)
|
||||||
|
@@ -1404,6 +1428,14 @@ U_BOOT_CMD(
|
||||||
|
);
|
||||||
|
#endif /* CONFIG_LOOPW */
|
||||||
|
|
||||||
|
+#ifdef CONFIG_CMD_MEMSIZE
|
||||||
|
+U_BOOT_CMD(
|
||||||
|
+ msize, 3, 1, do_mem_size,
|
||||||
|
+ "get detected ram size, optional set env variable with value",
|
||||||
|
+ "[m, g] [envvar]"
|
||||||
|
+);
|
||||||
|
+#endif /* CONFIG_CMD_MEMSIZE */
|
||||||
|
+
|
||||||
|
#ifdef CONFIG_CMD_MEMTEST
|
||||||
|
U_BOOT_CMD(
|
||||||
|
mtest, 5, 1, do_mem_mtest,
|
||||||
Loading…
Add table
Reference in a new issue