-
Notifications
You must be signed in to change notification settings - Fork 2k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Explode the Pi 5 documentation all over the place #3522
Merged
The head ref may contain hidden characters: "kill-pi-5-page-with-\u{1F525}"
Merged
Changes from 1 commit
Commits
File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -5,45 +5,28 @@ image::images/pcie.jpg[alt="Raspberry Pi connector for PCIe",width="70%"] | |
|
||
Raspberry Pi 5 has an FPC connector on the right-hand side of the board. This connector breaks out a PCIe Gen 2.0 ×1 interface for fast peripherals. | ||
|
||
For more information about the PCIe FPC connector pinout and other details needed to create third-party devices, accessories, and HATs, see the https://datasheets.raspberrypi.com/pcie/pcie-connector-standard.pdf[Raspberry Pi Connector for PCIe] standards document. It should be read alongside the https://datasheets.raspberrypi.com/hat/hat-plus-specification.pdf[Raspberry Pi HAT+ Specification]. | ||
|
||
=== Enabling PCIe | ||
|
||
By default the PCIe connector is not enabled. To enable it, add the following line to `/boot/firmware/config.txt`: | ||
|
||
[source] | ||
---- | ||
dtparam=pciex1 | ||
---- | ||
To connect a PCIe https://datasheets.raspberrypi.com/hat/hat-plus-specification.pdf[HAT+ device], connect it to your Raspberry Pi. Your Raspberry Pi should automatically detect the device. To connect a non-HAT+ device, connect it to your Raspberry Pi, then <<enable-pcie, manually enable PCIe>>. | ||
|
||
Reboot with `sudo reboot` for the configuration changes to take effect. | ||
|
||
NOTE: You can also use the alias `nvme`. | ||
For more information about the PCIe FPC connector pinout and other details needed to create third-party devices, accessories, and HATs, see the https://datasheets.raspberrypi.com/pcie/pcie-connector-standard.pdf[Raspberry Pi Connector for PCIe] standards document. It should be read alongside the https://datasheets.raspberrypi.com/hat/hat-plus-specification.pdf[Raspberry Pi HAT+ Specification]. | ||
|
||
NOTE: Enumeration of PCIe devices behind a switch is https://github.com/raspberrypi/firmware/issues/1833[not currently supported]. | ||
|
||
=== PCIe Gen 3.0 | ||
=== Enable PCIe | ||
|
||
The connection is certified for Gen 2.0 speeds (5 GT/sec), but you can force Gen 3.0 (10 GT/sec) speeds if you add the following lines to your `/boot/firmware/config.txt`. | ||
By default, the PCIe connector is not enabled unless connected to a HAT+ device. To enable the connector, add the following line to `/boot/firmware/config.txt`: | ||
|
||
[source] | ||
[source,perl] | ||
---- | ||
# Enable the PCIe external connector | ||
dtparam=pciex1 | ||
|
||
# Force Gen 3.0 speeds | ||
dtparam=pciex1_gen=3 | ||
---- | ||
|
||
WARNING: The Raspberry Pi 5 is not certified for Gen 3.0 speeds, and connections to PCIe devices at these speeds may be unstable. | ||
Reboot with `sudo reboot` for the configuration changes to take effect. | ||
|
||
Reboot your Raspberry Pi with `sudo reboot` for these settings to take effect. | ||
NOTE: You can also use the alias `nvme`. | ||
|
||
=== Boot from PCIe | ||
|
||
NOTE: Boards that follow the https://datasheets.raspberrypi.com/hat/hat-plus-specification.pdf[HAT+ standard] don't require this configuration. | ||
|
||
Once enabled, and after rebooting, an NVMe disk attached via the PCIe should be visible. However, your Raspberry Pi won't try to boot from the NVMe drive. If you wish to enable boot support you will need to change the `BOOT_ORDER` in the bootloader configuration. Edit the EEPROM configuration with the following command: | ||
By default, Raspberry Pi devices do not boot from PCIe storage. To enable boot from PCIe, change the `BOOT_ORDER` in the bootloader configuration. Edit the EEPROM configuration with the following command: | ||
|
||
[source,console] | ||
---- | ||
|
@@ -52,16 +35,29 @@ $ sudo rpi-eeprom-config --edit | |
|
||
Replace the `BOOT_ORDER` line with the following line: | ||
|
||
[source] | ||
[source,perl] | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. As above - why perl? |
||
---- | ||
BOOT_ORDER=0xf416 | ||
---- | ||
|
||
To boot from a non-HAT+ device, also add the following line: | ||
|
||
[source] | ||
[source,perl] | ||
---- | ||
PCIE_PROBE=1 | ||
---- | ||
|
||
After saving your changes, reboot your Raspberry Pi to update the EEPROM. | ||
After saving your changes, reboot your Raspberry Pi with `sudo reboot` to update the EEPROM. | ||
|
||
=== PCIe Gen 3.0 | ||
|
||
WARNING: The Raspberry Pi 5 is not certified for Gen 3.0 speeds. PCIe Gen 3.0 connections may be unstable. | ||
|
||
The connection is certified for Gen 2.0 speeds (5 GT/sec), but you can force Gen 3.0 (10 GT/sec) speeds. To enable PCIe Gen 3.0 speeds, add the following line to `/boot/firmware/config.txt`: | ||
|
||
[source,perl] | ||
---- | ||
dtparam=pciex1_gen=3 | ||
---- | ||
|
||
Reboot your Raspberry Pi with `sudo reboot` for these settings to take effect. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Why is this tagged as perl?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This syntax doesn't have a reasonable highlighting equivalent in our toolbox, so I just chose something that renders equal signs a different color so it's slightly easier to read large blocks of text with equal signs in between. Perl was a slightly arbitrary choice, but I tested bash and a couple of others and the square bracket
[]
syntax seems to mess up the highlighting. Perl, as we know, tolerates just about any string of characters without breaking, so I went with that 😄