diff --git a/documentation/asciidoc/computers/raspberry-pi/eeprom-bootloader.adoc b/documentation/asciidoc/computers/raspberry-pi/eeprom-bootloader.adoc index bfa956098..6852b2765 100644 --- a/documentation/asciidoc/computers/raspberry-pi/eeprom-bootloader.adoc +++ b/documentation/asciidoc/computers/raspberry-pi/eeprom-bootloader.adoc @@ -650,6 +650,42 @@ XHCI_DEBUG=0x3 Default: `0x0` (no USB debug messages enabled) +[[SDRAM_BANKLOW]] +==== `SDRAM_BANKLOW` + +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. +This setting can significantly affect SDRAM performance. + +When unset, the bootloader will choose the preferred option. This is currently 3 on Pi 4 family and 1 on Pi 5 family. + +[cols="1m,3"] +|=== +| BANKLOW | Address Bit Mapping + +| 0 +| Address = {bank[3:0], row, column} + +| 1 +| Address = {bank[3:1], row, bank[0], column} + +| 2 +| Address = {bank[3:2], row, bank[1:0], column} + +| 3 +| Address = {bank[3], row, bank[2:0], column} + +| 4 +| Address = {row, bank[3:0], column} +|=== + +This setting also causes the bootloader to add a setting for the number of NUMA regions to be used by the kernel ("numa=fake="). +For best performance these settings should be left as default. + +Note: on a Pi 5 family device, if NUMA is not available in the kernel then performance will be adversely affected. +Manually choosing SDRAM_BANKLOW=3 will mitigate this performance hit, although for highest performance, ensure NUMA is available. + +Default: unset (use bootloader recommended setting) + [[config_txt]] ==== `[config.txt]` section