summaryrefslogtreecommitdiff
path: root/drivers/ddr
diff options
context:
space:
mode:
authorSean Anderson <sean.anderson@seco.com>2022-08-30 16:54:39 -0400
committerPeng Fan <peng.fan@nxp.com>2022-09-06 09:28:45 +0800
commit96624d7b47530bb3e0009c01aa64d8e5279f95bd (patch)
treede02974fa2d130155c62fc525eb3ebd046ed4600 /drivers/ddr
parenta8713c29b5037ab64837a4d122e02d6d8ff88062 (diff)
downloadu-boot-96624d7b47530bb3e0009c01aa64d8e5279f95bd.tar.gz
u-boot-96624d7b47530bb3e0009c01aa64d8e5279f95bd.tar.bz2
u-boot-96624d7b47530bb3e0009c01aa64d8e5279f95bd.zip
ddr: fsl: Reduce the size of interactive options
The interactive mode uses large several tables of options which can be configured. However, much of the contents of these tables are repetetive. For example, no struct is larger than half a kilobyte, so the offset only takes up 9 bits. Similarly, the size is only ever 4 or 8, and printhex is a boolean. Reduce the size of these fields. This reduces the size of the options tables by around 10 KiB. However, the largest contributor to the size of the options tables is the use of a pointer for the strings. A better approach would be to use a separate array of strings, and store an integer index in the options tables. However, this would require a large re-architecting of this file. Signed-off-by: Sean Anderson <sean.anderson@seco.com> Signed-off-by: Peng Fan <peng.fan@nxp.com>
Diffstat (limited to 'drivers/ddr')
-rw-r--r--drivers/ddr/fsl/interactive.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/drivers/ddr/fsl/interactive.c b/drivers/ddr/fsl/interactive.c
index 2f76beb2db..eb2f06e830 100644
--- a/drivers/ddr/fsl/interactive.c
+++ b/drivers/ddr/fsl/interactive.c
@@ -27,9 +27,9 @@
/* Option parameter Structures */
struct options_string {
const char *option_name;
- size_t offset;
- unsigned int size;
- const char printhex;
+ u32 offset : 9;
+ u32 size : 4;
+ u32 printhex : 1;
};
static unsigned int picos_to_mhz(unsigned int picos)