diff options
| author | Emanuele Ghidoli <[email protected]> | 2026-04-17 09:13:31 +0200 |
|---|---|---|
| committer | Fabio Estevam <[email protected]> | 2026-04-21 20:49:39 -0300 |
| commit | 0977448b45e2f1a9cbe7d7e11d208b16460c79ea (patch) | |
| tree | ab9e97ed2f3088b7dad9850646597d7e1fa8f829 /include/linux | |
| parent | 60f651460849aa9f12ceee8246c169a9dd55e55c (diff) | |
common: memsize: add RAM size probe based on alias detection
Add probe_ram_size_by_alias() to detect RAM size by checking whether a
write to one address aliases to another address.
Compared to get_ram_size(), this function allows the caller to:
- limit probing to a small set of required accesses
- avoid touching reserved or already used memory regions
- handle non-linear alias patterns
On the iMX95 SoC, when used with LPDDR5, accesses beyond the end of an 8GB DDR
configuration do not alias to the expected linear wrap-around addresses.
Instead, the aliased addresses appear to follow a pattern related to the
DDRC bank and bank-group addresses mapping. Experimentally, the observed
pattern is:
Write Read
y00000000 -> x0001c000
y00004000 -> x00018000
y00008000 -> x00014000
y0000c000 -> x00010000
y00010000 -> x0000c000
y00014000 -> x00008000
y00018000 -> x00004000
y0001c000 -> x00000000
This helper makes it possible to probe RAM size by explicitly specifying
the probed address and the expected alias address for each size check.
Signed-off-by: Emanuele Ghidoli <[email protected]>
Reviewed-by: Simon Glass <[email protected]>
Diffstat (limited to 'include/linux')
0 files changed, 0 insertions, 0 deletions
