Skip to content

Commit bdbc22f

Browse files
committed
Document SDRAM_BANKLOW bootloader config setting
See: raspberrypi/rpi-eeprom#733
1 parent fae9204 commit bdbc22f

File tree

1 file changed

+36
-0
lines changed

1 file changed

+36
-0
lines changed

documentation/asciidoc/computers/raspberry-pi/eeprom-bootloader.adoc

Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -650,6 +650,42 @@ XHCI_DEBUG=0x3
650650

651651
Default: `0x0` (no USB debug messages enabled)
652652

653+
[[SDRAM_BANKLOW]]
654+
==== `SDRAM_BANKLOW`
655+
656+
SDRAM_BANKLOW controls how the SDRAM banks are arranged within the system address space. The number of bank bits may be selectively mapped to being located in the MSBs of the address, or being located between the row and column address bits.
657+
This setting can significantly affect SDRAM performance.
658+
659+
When unset, the bootloader will choose the preferred option. This is currently 3 on Pi 4 family and 1 on Pi 5 family.
660+
661+
[cols="1m,3"]
662+
|===
663+
| BANKLOW | Address Bit Mapping
664+
665+
| 0
666+
| Address = {bank[3:0], row, column}
667+
668+
| 1
669+
| Address = {bank[3:1], row, bank[0], column}
670+
671+
| 2
672+
| Address = {bank[3:2], row, bank[1:0], column}
673+
674+
| 3
675+
| Address = {bank[3], row, bank[2:0], column}
676+
677+
| 4
678+
| Address = {row, bank[3:0], column}
679+
|===
680+
681+
This setting also causes the bootloader to add a setting for the number of NUMA regions to be used by the kernel ("numa=fake=<n>").
682+
For best performance these settings should be left as default.
683+
684+
Note: on a Pi 5 family device, if NUMA is not available in the kernel then performance will be adversely affected.
685+
Manually choosing SDRAM_BANKLOW=3 will mitigate this performance hit, although for highest performance, ensure NUMA is available.
686+
687+
Default: unset (use bootloader recommended setting)
688+
653689
[[config_txt]]
654690
==== `[config.txt]` section
655691

0 commit comments

Comments
 (0)