diff --git a/documentation/asciidoc/computers/config_txt/boot.adoc b/documentation/asciidoc/computers/config_txt/boot.adoc index 618683f8f..351984dcb 100644 --- a/documentation/asciidoc/computers/config_txt/boot.adoc +++ b/documentation/asciidoc/computers/config_txt/boot.adoc @@ -154,6 +154,14 @@ Not relevant on Raspberry Pi 5 because there is no `start.elf` file. Default: `0x0` +[[enable_rp1_uart]] +==== `enable_rp1_uart` + +When set to `1`, firmware initialises RP1 UART0 to 115200bps and doesn't reset RP1 before starting the OS (separately configurable using `pciex4_reset=1`). +This makes it easier to get UART output on the 40-pin header in early boot-code, for instance during bare-metal debug. + +Default: `0x0` + [[pciex4_reset]] ==== `pciex4_reset` diff --git a/documentation/asciidoc/computers/config_txt/overclocking.adoc b/documentation/asciidoc/computers/config_txt/overclocking.adoc index 395d4e686..bf25e3504 100644 --- a/documentation/asciidoc/computers/config_txt/overclocking.adoc +++ b/documentation/asciidoc/computers/config_txt/overclocking.adoc @@ -60,7 +60,11 @@ WARNING: Setting any overclocking parameters to values other than those used by | Forces turbo mode frequencies even when the ARM cores are not busy. Enabling this may set the warranty bit if `over_voltage_*` is also set. | initial_turbo -| Enables https://forums.raspberrypi.com/viewtopic.php?f=29&t=6201&start=425#p180099[turbo mode from boot] for the given value in seconds, or until cpufreq sets a frequency. The maximum value is `60`. +| Enables https://forums.raspberrypi.com/viewtopic.php?f=29&t=6201&start=425#p180099[turbo mode from boot] for the given value in seconds, or until `cpufreq` sets a frequency. The maximum value is `60`. The November 2024 firmware update made the following changes: + +* changed the default from `0` to `60` to reduce boot time +* switched the kernel CPU performance governor from `powersave` to `ondemand` + | arm_freq_min | Minimum value of `arm_freq` used for dynamic frequency clocking. Note that reducing this value below the default does not result in any significant power savings, and is not currently supported. @@ -381,4 +385,9 @@ $ vcgencmd pmic_read_adc EXT5V_V === Overclocking problems -Most overclocking issues show up immediately with a failure to boot. If this occurs, hold down the `shift` key during the next boot. This will temporarily disable all overclocking, allowing you to boot successfully and then edit your settings. +Most overclocking issues show up immediately, when the device fails to boot. If your device fails to boot due to an overclocking configuration change, use the following steps to return your device to a bootable state: + +. Remove any clock frequency overrides from `config.txt`. +. Increase the core voltage using `over_voltage_delta`. +. Re-apply overclocking parameters, taking care to avoid the previous known-bad overclocking parameters. + diff --git a/documentation/asciidoc/computers/raspberry-pi/boot-eeprom.adoc b/documentation/asciidoc/computers/raspberry-pi/boot-eeprom.adoc index c9f40c79e..cca4bf0e5 100644 --- a/documentation/asciidoc/computers/raspberry-pi/boot-eeprom.adoc +++ b/documentation/asciidoc/computers/raspberry-pi/boot-eeprom.adoc @@ -1,6 +1,12 @@ == Raspberry Pi boot EEPROM -Raspberry Pi 5, Raspberry Pi 4, 400, Compute Module 4, and Compute Module 4S computers use an EEPROM to boot the system. All other models of Raspberry Pi computer use the `bootcode.bin` file located in the boot filesystem. +The following Raspberry Pi models use an EEPROM to boot the system: + +* Flagship models since Raspberry Pi 4 +* Compute Module models since CM4 (including CM4S) +* Keyboard models since Pi 400 + +All other models of Raspberry Pi computer use the `bootcode.bin` file located in the boot filesystem. NOTE: You can find the scripts and pre-compiled binaries used to create `rpi-eeprom` in the https://github.com/raspberrypi/rpi-eeprom/[rpi-eeprom GitHub repository]. @@ -13,10 +19,12 @@ If an error occurs during boot, then an xref:configuration.adoc#led-warning-flas There are multiple ways to update the bootloader of your Raspberry Pi. -==== Raspberry Pi 5, Raspberry Pi 4 and Raspberry Pi 400 +==== Flagship models since Raspberry Pi 4; Compute Modules since CM5; Keyboard models since Pi 400 Raspberry Pi OS automatically updates the bootloader for important bug fixes. To manually update the bootloader or change the boot order, use xref:configuration.adoc#raspi-config[raspi-config]. +NOTE: Compute Module 4 and Compute Module 4S do not support automatic bootloader updates because the bootrom cannot load the `recovery.bin` file from eMMC. The recommended update mechanism is `rpiboot` or via `flashrom` - see `rpi-eeprom-update -h` for more information. + [[imager]] ==== Use Raspberry Pi Imager to update the bootloader diff --git a/documentation/asciidoc/computers/raspberry-pi/eeprom-bootloader.adoc b/documentation/asciidoc/computers/raspberry-pi/eeprom-bootloader.adoc index 36e984a83..682b43641 100644 --- a/documentation/asciidoc/computers/raspberry-pi/eeprom-bootloader.adoc +++ b/documentation/asciidoc/computers/raspberry-pi/eeprom-bootloader.adoc @@ -47,7 +47,7 @@ Default: `115200` If `1` then `sudo halt` will run in a lower power mode until either GPIO3 or GLOBAL_EN are shorted to ground. -This setting is not relevant on Raspberry Pi 5 because the xref:raspberry-pi.adoc#power-button[dedicated power button] may always be used to wakeup from `HALT` or `STANDBY`. +This setting is not relevant on Flagship models since Raspberry Pi 5, Compute Modules since CM5, and Keyboard models since Pi 500 because the xref:raspberry-pi.adoc#power-button[dedicated power button] may always be used to wake from `HALT` or `STANDBY`. Default: `1` @@ -60,7 +60,7 @@ Raspberry Pi 400 has a dedicated power button which operates even if the process On Raspberry Pi 5 this places the PMIC in `STANDBY` mode where all outputs are switched off. There is no need to set `WAKE_ON_GPIO` and pressing the xref:raspberry-pi.adoc#power-button[dedicated power button] will boot the device. -Default: `0` +Default: `1` on Compute Modules since CM5 and Keyboard models since Pi 400; otherwise `0` [[BOOT_ORDER]] ==== `BOOT_ORDER` @@ -398,7 +398,22 @@ This setting is ignored and network install is disabled if `DISABLE_HDMI=1` is s In order to detect the keyboard, network install must initialise the USB controller and enumerate devices. This increases boot time by approximately 1 second so it may be advantageous to disable network install in some embedded applications. -Default: `1` on Raspberry Pi 4 and Raspberry Pi 400, and `0` on Compute Module 4. +Default: `1` on Flagship models since Raspberry Pi 4 and Keyboard models since Pi 400; `0` on Compute Modules since CM4 (including CM4S). + +[[NET_INSTALL_AT_POWER_ON]] +==== `NET_INSTALL_AT_POWER_ON` + +When set to `1`, displays the network install UI briefly after a cold boot to make this feature more obvious to new users. Overrides `NET_INSTALL_ENABLED` if the settings conflict. + +The default bootloader images set this value to `1` in the bootloader config. To disable the brief network install UI display, use the `Advanced Options` menu in `raspi-config` or manually delete this line in `rpi-eeprom-config`: + +[source,console] +---- +$ sudo rpi-eeprom-config --edit +---- + + +Default: `0` [[NET_INSTALL_KEYBOARD_WAIT]] ==== `NET_INSTALL_KEYBOARD_WAIT`