Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions Gemfile.lock
Original file line number Diff line number Diff line change
Expand Up @@ -63,12 +63,12 @@ GEM
rb-fsevent (~> 0.10, >= 0.10.3)
rb-inotify (~> 0.9, >= 0.9.10)
mercenary (0.4.0)
mini_portile2 (2.8.8)
mini_portile2 (2.8.9)
minima (2.5.2)
jekyll (>= 3.5, < 5.0)
jekyll-feed (~> 0.9)
jekyll-seo-tag (~> 2.1)
nokogiri (1.18.8)
nokogiri (1.18.10)
mini_portile2 (~> 2.8.2)
racc (~> 1.4)
pathutil (0.16.2)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -65,7 +65,7 @@ To switch from Power Saving mode to Full Power mode, press and hold the *increas

[TIP]
====
If the Monitor flashes on and off, your USB power supply is not capable of providing sufficient current to power the monitor. This can happen if you power the Monitor from a Raspberry Pi 5 or Pi 500 which is itself powered by a 5V/3A power supply. Try the following fixes to stop the Monitor from flashing on and off:
If the Monitor flashes on and off, your USB power supply is not capable of providing sufficient current to power the monitor. This can happen if you power the Monitor from a Raspberry Pi 5, 500, or 500+ which is itself powered by a 5V/3A power supply. Try the following fixes to stop the Monitor from flashing on and off:

* reduce the display brightness and volume (you may have to connect your monitor to another power supply to access the settings)
* switch to a different power source or cable
Expand Down
8 changes: 4 additions & 4 deletions documentation/asciidoc/computers/config_txt/boot.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -5,13 +5,13 @@
These options specify the firmware files transferred to the VideoCore GPU prior to booting.

`start_file` specifies the VideoCore firmware file to use.
`fixup_file` specifies the file used to fix up memory locations used in the `start_file` to match the GPU memory split.
`fixup_file` specifies the file used to fix up memory locations used in the `start_file` to match the GPU memory split.

The `start_file` and the `fixup_file` are a matched pair - using unmatched files will stop the board from booting. This is an advanced option, so we advise that you use `start_x` and `start_debug` rather than this option.

NOTE: Cut-down firmware (`start*cd.elf` and `fixup*cd.dat`) cannot be selected this way - the system will fail to boot. The only way to enable the cut-down firmware is to specify `gpu_mem=16`. The cut-down firmware removes support for codecs, 3D and debug logging as well as limiting the initial early-boot framebuffer to 1080p @16bpp - although KMS can replace this with up to 32bpp 4K framebuffer(s) at a later stage as with any firmware.

NOTE: The Raspberry Pi 5, Compute Module 5, and Raspberry Pi 500 firmware is self-contained in the bootloader EEPROM.
NOTE: The Raspberry Pi 5, 500, 500+, and Compute Module 5 firmware is self-contained in the bootloader EEPROM.

=== `cmdline`

Expand All @@ -21,7 +21,7 @@ NOTE: The Raspberry Pi 5, Compute Module 5, and Raspberry Pi 500 firmware is sel

`kernel` is the alternative filename on the boot partition for loading the kernel. The default value on the Raspberry Pi 1, Zero and Zero W, and Raspberry Pi Compute Module 1 is `kernel.img`. The default value on the Raspberry Pi 2, 3, 3+ and Zero 2 W, and Raspberry Pi Compute Modules 3 and 3+ is `kernel7.img`. The default value on the Raspberry Pi 4 and 400, and Raspberry Pi Compute Module 4 is `kernel8.img`, or `kernel7l.img` if `arm_64bit` is set to 0.

The Raspberry Pi 5, Compute Module 5, and Raspberry Pi 500 firmware defaults to loading `kernel_2712.img` because this image contains optimisations specific to those models (e.g. 16K page-size). If this file is not present, then the common 64-bit kernel (`kernel8.img`) will be loaded instead.
The Raspberry Pi 5, 500, 500+, and Compute Module 5 firmware defaults to loading `kernel_2712.img` because this image contains optimisations specific to those models (e.g. 16K page-size). If this file is not present, then the common 64-bit kernel (`kernel8.img`) will be loaded instead.

=== `arm_64bit`

Expand Down Expand Up @@ -56,7 +56,7 @@ Flagship models since Raspberry Pi 5, Compute Modules since CM5, and Keyboard mo

=== `ramfsfile`

`ramfsfile` is the optional filename on the boot partition of a `ramfs` to load.
`ramfsfile` is the optional filename on the boot partition of a `ramfs` to load.

NOTE: Newer firmware supports the loading of multiple `ramfs` files. You should separate the multiple file names with commas, taking care not to exceed the 80-character line length limit. All the loaded files are concatenated in memory and treated as a single `ramfs` blob. More information is available https://forums.raspberrypi.com/viewtopic.php?f=63&t=10532[on the forums].

Expand Down
2 changes: 1 addition & 1 deletion documentation/asciidoc/computers/config_txt/common.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -52,7 +52,7 @@ To disable, set `arm_boost=0`.

==== `power_force_3v3_pwm`

NOTE: This option applies only to Raspberry Pi 5, Compute Module 5, and Pi 500.
NOTE: This option applies only to Raspberry Pi 5, 500, 500+, and Compute Module 5.

Forces PWM on 3.3V output from the GPIO header or CSI connector.

Expand Down
20 changes: 10 additions & 10 deletions documentation/asciidoc/computers/config_txt/conditional.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -14,31 +14,31 @@ The `[all]` filter is the most basic filter. It resets all previously set filter
The conditional model filters apply according to the following table.

|===
| Filter | Applicable model(s)
| Filter | Applicable models

| `[pi1]`
| Model 1A, Model 1B, Model 1A+, Model 1B+, Compute Module 1
| 1A, 1B, 1A+, 1B+, Compute Module 1

| `[pi2]`
| Model 2B (BCM2836- or BCM2837-based)
| 2B (BCM2836- or BCM2837-based)

| `[pi3]`
| Model 3B, Model 3B+, Model 3A+, Compute Module 3, Compute Module 3+
| 3B, 3B+, 3A+, Compute Module 3, Compute Module 3+

| `[pi3+]`
| Model 3A+, Model 3B+ (also sees `[pi3]` contents)
| 3A+, 3B+ (also sees `[pi3]` contents)

| `[pi4]`
| Model 4B, Pi 400, Compute Module 4, Compute Module 4S
| 4B, 400, Compute Module 4, Compute Module 4S

| `[pi5]`
| Raspberry Pi 5, Compute Module 5, Pi 500
| 5, 500, 500+, Compute Module 5

| `[pi400]`
| Pi 400 (also sees `[pi4]` contents)
| 400 (also sees `[pi4]` contents)

| `[pi500]`
| Pi 500 (also sees `[pi5]` contents)
| 500/500+ (also sees `[pi5]` contents)

| `[cm1]`
| Compute Module 1 (also sees `[pi1]` contents)
Expand Down Expand Up @@ -365,5 +365,5 @@ Filters of different types can be combined by listing them one after the other,
# settings here apply to all hardware

----

Use the `[all]` filter to reset all previous filters and avoid unintentionally combining different filter types.
Original file line number Diff line number Diff line change
Expand Up @@ -85,12 +85,12 @@ Various xref:linux_kernel.adoc#kernel[kernel] image files that correspond to Ras

| `kernel8.img`
| BCM2837, BCM2711, BCM2712
| Pi Zero 2 W, Pi 2 (later revisions), Pi 3, CM3, Pi 3+, CM3+, Pi 4, CM4, CM4S, Pi 400, CM5, Pi 5, Pi 500
| Pi Zero 2 W, Pi 2 (later revisions), Pi 3, CM3, Pi 3+, CM3+, Pi 4, CM4, CM4S, Pi 400, CM5, Pi 5, Pi 500, Pi 500+
| xref:config_txt.adoc#boot-options[64-bit kernel]. Earlier revisions of Raspberry Pi 2 (with BCM2836) do not support 64-bit kernels.

| `kernel_2712.img`
| BCM2712
| Pi 5, CM5, Pi 500
| Pi 5, CM5, Pi 500, Pi 500+
| Pi 5-optimized xref:config_txt.adoc#boot-options[64-bit kernel].
|===

Expand Down
10 changes: 5 additions & 5 deletions documentation/asciidoc/computers/configuration/device-tree.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ User-provided parameters in `config.txt` are scanned, along with any overlays an
[[part1]]
=== Device Trees

A Device Tree (DT) is a description of the hardware in a system. It should include the name of the base CPU, its memory configuration, and any peripherals (internal and external). A DT should not be used to describe the software, although by listing the hardware modules it does usually cause driver modules to be loaded.
A Device Tree (DT) is a description of the hardware in a system. It should include the name of the base CPU, its memory configuration, and any peripherals (internal and external). A DT should not be used to describe the software, although by listing the hardware modules it does usually cause driver modules to be loaded.

NOTE: It helps to remember that DTs are supposed to be OS-neutral, so anything which is Linux-specific shouldn't be there.

Expand Down Expand Up @@ -57,13 +57,13 @@ The following is a simple tree in the `.dts` format:
This tree contains:

* a required header: `/dts-v1/`
* The inclusion of another DTS file, conventionally named `*.dtsi` and analogous to a `.h` header file in C
* The inclusion of another DTS file, conventionally named `*.dtsi` and analogous to a `.h` header file in C
* a single root node: `/`
* a couple of child nodes: `node1` and `node2`
* some children for node1: `child-node1` and `child-node2`
* a label (`cousin`) and a reference to that label (`&cousin`)
* several properties scattered through the tree
* a repeated node (`/node2`)
* a repeated node (`/node2`)

Properties are simple key-value pairs where the value can either be empty or contain an arbitrary byte stream. While data types are not encoded in the data structure, there are a few fundamental data representations that can be expressed in a Device Tree source file.

Expand Down Expand Up @@ -528,7 +528,7 @@ Each node has the name of an overlay that requires special handling. The propert

* `bcm2835` for all Raspberry Pis built around the BCM2835, BCM2836, BCM2837, and RP3A0 SoCs
* `bcm2711` for Raspberry Pi 4B, CM4, CM4S, and Pi 400
* `bcm2712` for Raspberry Pi 5, CM5, and Pi 500
* `bcm2712` for Raspberry Pi 5, CM5, Pi 500, and Pi 500+

A platform name with no value (an empty property) indicates that the current overlay is compatible with the platform; for example, `uart5` is compatible with the `bcm2711` platform. A non-empty value for a platform is the name of an alternative overlay to use in place of the requested one; asking for `disable-bt` on BCM2712 results in `disable-bt-pi5` being loaded instead. Any platform not included in an overlay's node is not compatible with that overlay. Any overlay not mentioned in the map is assumed to be compatible with all platforms.

Expand Down Expand Up @@ -833,7 +833,7 @@ For a list of supported overlays and parameters, see the https://github.com/rasp
[[part4]]
=== Firmware parameters

The firmware uses the special https://www.kernel.org/doc/html/latest/devicetree/usage-model.html#runtime-configuration[/chosen] node to pass parameters between the bootloader and/or firmware and the operating system.
The firmware uses the special https://www.kernel.org/doc/html/latest/devicetree/usage-model.html#runtime-configuration[/chosen] node to pass parameters between the bootloader and/or firmware and the operating system.

* Each property is stored as a 32-bit unsigned integer unless indicated otherwise.
* Numbers in device-tree are stored in binary and are big-endian.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,10 @@ You can use any high-quality power supply that provides the correct power mode.
|Recommended power supply (voltage/current)
|Raspberry Pi power supply

|Raspberry Pi 500+
|5V/5A
|https://www.raspberrypi.com/products/27w-power-supply/[27W USB-C power supply]

|Raspberry Pi 5 and Raspberry Pi 500
|5V/5A, 5V/3A limits peripherals to 600mA
|https://www.raspberrypi.com/products/27w-power-supply/[27W USB-C power supply]
Expand Down Expand Up @@ -101,7 +105,7 @@ Raspberry Pi models have the following display connectivity:
|Model
|Display outputs

|Raspberry Pi 5, Raspberry Pi 400 and Raspberry Pi 500
|Raspberry Pi 5, Raspberry Pi 400, Raspberry Pi 500, and Raspberry Pi 500+
|2× micro HDMI

|Raspberry Pi 4 Model B
Expand Down
86 changes: 43 additions & 43 deletions documentation/asciidoc/computers/linux_kernel/building.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -64,10 +64,10 @@ To prepare the default configuration, run the appropriate commands from the tabl

[cols="8,<.^20a,60a"]
|===
| Architecture | Model | Command
| Architecture | Raspberry Pi Model | Command

.12+^.^| 64-bit
| Raspberry Pi 3
| 3
.9+.^|
[source,console]
----
Expand All @@ -76,28 +76,28 @@ $ KERNEL=kernel8
$ make bcm2711_defconfig
----
| Compute Module 3
| Raspberry Pi 3+
| 3+
| Compute Module 3+
| Raspberry Pi Zero 2 W
| Raspberry Pi 4
| Pi 400
| Zero 2 W
| 4
| 400
| Compute Module 4
| Compute Module 4S


.^| Raspberry Pi 5
.^| 5
.3+.^|
[source,console]
----
$ cd linux
$ KERNEL=kernel_2712
$ make bcm2712_defconfig
----
| Pi 500
| 500/500+
| Compute Module 5

.14+^.^| 32-bit
| Raspberry Pi 1
| 1
.4+.^|
[source,console]
----
Expand All @@ -110,30 +110,30 @@ $ make bcmrpi_defconfig
| Zero W


| Raspberry Pi 2
| 2
.6+.^|
[source,console]
----
$ cd linux
$ KERNEL=kernel7
$ make bcm2709_defconfig
----
| Raspberry Pi 3
| 3
| Compute Module 3
| Raspberry Pi 3+
| 3+
| Compute Module 3+
| Zero 2 W


| Raspberry Pi 4
| 4
.4+.^|
[source,console]
----
$ cd linux
$ KERNEL=kernel7l
$ make bcm2711_defconfig
----
| Pi 400
| 400
| Compute Module 4
| Compute Module 4S
|===
Expand Down Expand Up @@ -296,73 +296,73 @@ Enter the following commands to build the sources and Device Tree files:

[cols="8,<.^20a,60a"]
|===
| Target Architecture | Target Model | Command
| Target Architecture | Target Raspberry Pi Model | Command

.10+^.^| 64-bit
| Raspberry Pi 3
.12+^.^| 64-bit
| 3
.9+.^| [source,console]
----
$ cd linux
$ KERNEL=kernel8
$ make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- bcm2711_defconfig
----
| Raspberry Pi Compute Module 3
| Raspberry Pi 3+
| Raspberry Pi Compute Module 3+
| Raspberry Pi Zero 2 W
| Raspberry Pi 4
| Raspberry Pi 400
| Raspberry Pi Compute Module 4
| Raspberry Pi Compute Module 4S
| Compute Module 3
| 3+
| Compute Module 3+
| Zero 2 W
| 4
| 400
| Compute Module 4
| Compute Module 4S

.^| Raspberry Pi 5
.1+.^|
.^| 5
.3+.^|
[source,console]
----
$ cd linux
$ KERNEL=kernel_2712
$ make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- bcm2712_defconfig
----

| 500/500+
| Compute Module 5

.14+^.^| 32-bit

| Raspberry Pi 1
| 1
.4+.^| [source,console]
----
$ cd linux
$ KERNEL=kernel
$ make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- bcmrpi_defconfig
----
| Raspberry Pi Compute Module 1
| Raspberry Pi Zero
| Raspberry Pi Zero W
| Compute Module 1
| Zero
| Zero W

| Raspberry Pi 2
| 2
.6+.^|
[source,console]
----
$ cd linux
$ KERNEL=kernel7
$ make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- bcm2709_defconfig
----
| Raspberry Pi 3
| Raspberry Pi Compute Module 3
| Raspberry Pi 3+
| Raspberry Pi Compute Module 3+
| Raspberry Pi Zero 2 W
| 3
| Compute Module 3
| 3+
| Compute Module 3+
| Zero 2 W

| Raspberry Pi 4
| 4
.4+.^|
[source,console]
----
$ cd linux
$ KERNEL=kernel7l
$ make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- bcm2711_defconfig
----
| Raspberry Pi 400
| Raspberry Pi Compute Module 4
| Raspberry Pi Compute Module 4S
| 400
| Compute Module 4
| Compute Module 4S
|===

[[cross-compiled-customisation]]
Expand Down
4 changes: 2 additions & 2 deletions documentation/asciidoc/computers/processors/bcm2712.adoc
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
== BCM2712

Broadcom BCM2712 is the 16nm application processor used in Raspberry Pi 5, Compute Module 5, and Pi 500. It is the successor to the BCM2711 device used in Raspberry Pi 4, and shares many common architectural features with other devices in the BCM27xx family, used on earlier Raspberry Pi products.
Broadcom BCM2712 is the 16nm application processor used in Raspberry Pi 5, 500, 500+, and Compute Module 5. It is the successor to the BCM2711 device used in Raspberry Pi 4, and shares many common architectural features with other devices in the BCM27xx family, used on earlier Raspberry Pi products.

Built around a quad-core Arm Cortex-A76 CPU cluster, clocked at up to 2.4GHz, with 512KB per-core L2 caches and a 2MB shared L3 cache, it integrates an improved 12-core VideoCore VII GPU; a hardware video scaler and HDMI controller capable of driving dual 4Kp60 displays; and a Raspberry Pi-developed HEVC decoder and Image Signal Processor. A 32-bit LPDDR4X memory interface provides up to 17GB/s of memory bandwidth, while ×1 and ×4 PCI Express interfaces support high-bandwidth external peripherals; on Raspberry Pi 5 the latter is used to connect to the Raspberry Pi RP1 south bridge, which provides the bulk of the external-facing I/O functionality on the platform.

Headline features include:
Headline features include:

* Quad-core Arm Cortex-A76 @ 2.4GHz
** ARMv8-A ISA
Expand Down
Loading