diff --git a/documentation/asciidoc/accessories/touch-display-2/about.adoc b/documentation/asciidoc/accessories/touch-display-2/about.adoc index 19c2dedef..c3d8ab7e4 100644 --- a/documentation/asciidoc/accessories/touch-display-2/about.adoc +++ b/documentation/asciidoc/accessories/touch-display-2/about.adoc @@ -154,6 +154,8 @@ To rotate the display without a desktop, edit the `/boot/firmware/cmdline.txt` f video=DSI-1:720x1280@60,rotate= ---- +This `rotate=` setting only rotates the text-mode console; any applications that write directly to DRM (such as `cvlc` or the libcamera apps) won't be rotated, and will instead need to use their own rotation options (if available). + NOTE: You can't rotate the DSI display separately from the HDMI display with `cmdline.txt`. When you use DSI and HDMI simultaneously, they share the same rotation value. == Customise touchscreen settings diff --git a/documentation/asciidoc/computers/compute-module/cmio-camera.adoc b/documentation/asciidoc/computers/compute-module/cmio-camera.adoc index a29dbbd82..f65fb187f 100644 --- a/documentation/asciidoc/computers/compute-module/cmio-camera.adoc +++ b/documentation/asciidoc/computers/compute-module/cmio-camera.adoc @@ -21,6 +21,11 @@ To connect a single camera to a Compute Module, complete the following steps: + image::images/CMIO-Cam-Adapter.jpg[alt="Connecting the adapter board", width="60%"] +. _(CM5 only)_: Fit two jumpers on J6 per the board's written instructions. ++ +image::images/cm5io-j6-cam1.png[alt="Jumpers on J6 for CAM1", width="60%"] + + . _(CM1, CM3, CM3+, and CM4S only)_: Connect the following GPIO pins with jumper cables: * `0` to `CD1_SDA` * `1` to `CD1_SCL` @@ -107,7 +112,7 @@ image::images/CMIO-Cam-Adapter.jpg[alt="Connect the adapter board", width="60%"] + image:images/CMIO-Cam-GPIO2.jpg[alt="GPIO connection with additional camera", width="60%"] -. _(CM4 and CM5)_: Connect the J6 GPIO pins with two vertical-orientation jumpers. +. _(CM4)_: Connect the J6 GPIO pins with two vertical-orientation jumpers. + image:images/j6_vertical.jpg[alt="Connect the J6 GPIO pins in vertical orientation", width="60%"] diff --git a/documentation/asciidoc/computers/compute-module/images/cm5io-j6-cam1.png b/documentation/asciidoc/computers/compute-module/images/cm5io-j6-cam1.png new file mode 100644 index 000000000..82800d15d Binary files /dev/null and b/documentation/asciidoc/computers/compute-module/images/cm5io-j6-cam1.png differ diff --git a/documentation/asciidoc/computers/config_txt/conditional.adoc b/documentation/asciidoc/computers/config_txt/conditional.adoc index f905c870e..500b721e9 100644 --- a/documentation/asciidoc/computers/config_txt/conditional.adoc +++ b/documentation/asciidoc/computers/config_txt/conditional.adoc @@ -171,6 +171,26 @@ sudo vcmailbox 0x0003008c 8 8 1 0 ---- The value of the `boot_arg1` variable when the OS was started can be read via xref:configuration.adoc#part4[device-tree] at `/proc/device-tree/chosen/bootloader/arg1` +==== `bootvar0` +Raspberry Pi 5 and newer devices only. + +The `bootvar0` variable is a 32-bit user-defined value that is set through `rpi-eeprom-config`, and then can be used as a conditional variable in `config.txt`. + +For example, setting `bootvar0` to 42 via `rpi-eeprom-config`: +[source,ini] +---- +BOOTVAR0=42 +---- + +Using `bootvar0` conditionally in `config.txt`: +[source,ini] +---- +[bootvar0=42] +arm_freq=1000 +---- + +This allows a common image (that is, with the same `config.txt` file) to support different configurations based on the persistent `rpi-eeprom-config` settings. + ==== `boot_count` Raspberry Pi 5 and newer devices only. diff --git a/documentation/asciidoc/computers/configuration/users.adoc b/documentation/asciidoc/computers/configuration/users.adoc index 4c170a331..7818bd182 100644 --- a/documentation/asciidoc/computers/configuration/users.adoc +++ b/documentation/asciidoc/computers/configuration/users.adoc @@ -48,6 +48,13 @@ $ sudo su - If the above command runs successfully, permissions were successfully configured for the user. +If you've changed your keyboard layout, you might find that the newly added user is using the "wrong" keyboard layout. To fix this, sign in as the new user and run: + +[source,console] +---- +$ sudo raspi-config nonint update_labwc_keyboard +---- + === Delete a user To delete a user, run the following command, replacing the `` placeholder with the username you would like to delete: diff --git a/documentation/asciidoc/computers/keyboard-computers/intro.adoc b/documentation/asciidoc/computers/keyboard-computers/intro.adoc index 0defc274b..8337af515 100644 --- a/documentation/asciidoc/computers/keyboard-computers/intro.adoc +++ b/documentation/asciidoc/computers/keyboard-computers/intro.adoc @@ -173,7 +173,7 @@ For more information, see <>. [[replace-m2]] === Replace your M.2 SSD -You can expand storage capacity by replacing the M.2 SSD in your Raspberry Pi 500+. The Raspberry Pi 500+ supports SSDs that use the M.2 M key edge connector in the form factors 2230, 2242, 2260, and 2280. +You can expand storage capacity by replacing the M.2 SSD in your Raspberry Pi 500+. You can also use this slot to install a different PCIe peripheral. The Raspberry Pi 500+ supports devices that use the M.2 M key edge connector in the form factors 2230, 2242, 2260, and 2280. To complete this procedure, you need a cross head screwdriver, a flat head screwdriver, and the provided plastic opening tool (spudger). @@ -731,4 +731,4 @@ $ rpi-keyboard-config game The game uses your keyboard backlighting as the "screen", and the lights flash in patterns to represent the bird and pipes. Your goal is to keep the bird from hitting pipes, similar to the original Flappy Bird. Press the space bar to fly over pipes (lit-up LEDs). Your "bird" continues to drop until you press the space bar. Your score is determined by the number of pipes you've successfully passed, which is indicated by the number of purple LEDs along the top of the keyboard. -To exit the game, press *Q* on your keyboard. \ No newline at end of file +To exit the game, press *Q* on your keyboard. diff --git a/documentation/asciidoc/computers/raspberry-pi/eeprom-bootloader.adoc b/documentation/asciidoc/computers/raspberry-pi/eeprom-bootloader.adoc index 41725174a..a7a97c515 100644 --- a/documentation/asciidoc/computers/raspberry-pi/eeprom-bootloader.adoc +++ b/documentation/asciidoc/computers/raspberry-pi/eeprom-bootloader.adoc @@ -568,6 +568,13 @@ During the "partition walk" `autoboot.txt` files are not processed to avoid cycl Default: `0` +[[BOOTVAR0]] +==== `BOOTVAR0` + +Allows setting the conditional variable `bootvar0` used by `config.txt`. See xref:config_txt.adoc#bootvar0[bootvar0]. + +Default: `0` + [[PSU_MAX_CURRENT]] ==== `PSU_MAX_CURRENT` diff --git a/documentation/asciidoc/computers/software-sources.adoc b/documentation/asciidoc/computers/software-sources.adoc index 9079a426c..53fc53793 100644 --- a/documentation/asciidoc/computers/software-sources.adoc +++ b/documentation/asciidoc/computers/software-sources.adoc @@ -2,7 +2,7 @@ At Raspberry Pi we're trying to open source as much of our code as possible to m == Finding software sources in Raspberry Pi OS -When looking for software which is distributed with Raspberry Pi OS, there are often upstream software sources that we patch to create our downstream packages (those tagged with `pass:[+rpt]`). To view the source for those packages it is usually easier to fetch through apt. To do this, you first need to edit your apt lists to include the source packages. The following files should be edited to remove the leading `pass:[#]` from each line: +When looking for software which is distributed with Raspberry Pi OS, there are often upstream software sources that we patch to create our downstream packages (those tagged with `pass:[+rpt]`). To view the source for those packages it is usually easier to fetch through apt. To do this, you first need to edit your apt lists to include the source packages. The following files should be edited to remove the leading `pass:[#]` from each `deb-src` line: * `+/etc/apt/sources.list+` * `+/etc/apt/sources.list.d/raspi.list+` @@ -21,11 +21,19 @@ Now you can fetch the package source, for example: $ apt source labwc ---- +Next, you need to install a helper package: + +[source,console] +---- +$ sudo apt install devscripts +---- + Finally you can build the package using the standard Debian building process. [source,console] ---- $ sudo apt build-dep labwc +$ cd labwc-0.8.4 $ debuild -uc -us ---- @@ -46,6 +54,14 @@ The following is a curated list of repositories which most people are interested https://github.com/raspberrypi/linux:: This repository contains the source code for the downstream Linux kernel supported and working on all versions of Raspberry Pi from Pi 1 to Pi 5. +https://github.com/raspberrypi/firmware:: +This repository contains the closed source firmware, although the following two links are useful: +* https://github.com/raspberrypi/firmware/commits/master/[Changelog for the firmware] +* https://github.com/raspberrypi/firmware/blob/master/boot/overlays/README[Device tree overlay README] + +https://github.com/raspberrypi/rpi-eeprom:: +Installation scripts and binaries for the Raspberry Pi 4 and Raspberry Pi 5 bootloader EEPROMs including the https://github.com/raspberrypi/rpi-eeprom/releases[releases] and https://github.com/raspberrypi/rpi-eeprom/blob/master/releases.md[release notes]. + === Libraries and applications https://github.com/raspberrypi/utils:: diff --git a/documentation/asciidoc/microcontrollers/debug-probe/getting-started.adoc b/documentation/asciidoc/microcontrollers/debug-probe/getting-started.adoc index 54fcb5d34..aec938471 100644 --- a/documentation/asciidoc/microcontrollers/debug-probe/getting-started.adoc +++ b/documentation/asciidoc/microcontrollers/debug-probe/getting-started.adoc @@ -14,7 +14,7 @@ Connect the following: ** Debug Probe `TX` connected to Pico H `RX` pin ** Debug Probe `GND` connected to Pico H `GND` pin -NOTE: If you have a non-H Pico or Pico W (without a JST-SH connector) you can still connect it to a Debug Probe. Solder a male connector to the `SWCLK`, `GND`, and `SWDIO` header pins on the board. Using the alternate 3-pin JST-SH connector to 0.1-inch header (female) cable included with the Debug Probe, connect to the Debug Probe "D" port. Connect `SWCLK`, `GND`, and `SWDIO` on the Pico or Pico W to the `SC`, `GND`, and `SD` pins on the Debug Probe, respectively. +NOTE: If you have a non-H Pico or Pico W (without a JST-SH connector) you can still connect it to a Debug Probe. Solder a male connector to the `SWCLK`, `GND`, and `SWDIO` header pins on the board. Using the alternate 3-pin JST-SH connector to 0.1-inch header (female) cable included with the Debug Probe, connect to the Debug Probe "D" port. Connect `SWCLK`, `GND`, and `SWDIO` on the Pico or Pico W to the `SC` (orange wire), `GND` (black wire), and `SD` (yellow wire) pins on the Debug Probe, respectively. image:images/wiring.png[width="70%"] diff --git a/documentation/asciidoc/microcontrollers/debug-probe/updating-firmware.adoc b/documentation/asciidoc/microcontrollers/debug-probe/updating-firmware.adoc index f0c3af0b9..4fb879a5c 100644 --- a/documentation/asciidoc/microcontrollers/debug-probe/updating-firmware.adoc +++ b/documentation/asciidoc/microcontrollers/debug-probe/updating-firmware.adoc @@ -2,14 +2,21 @@ Firmware for the Debug Probe is available as a UF2 file distributed by Raspberry Pi. -The latest version of the Debug Probe firmware is version 2.2. If you're running an older version, or if you have accidentally overwritten the firmware on your Debug Probe, you can find the latest release of the firmware in https://github.com/raspberrypi/debugprobe/releases/latest[the debugprobe GitHub repository]. +The latest version of the Debug Probe firmware is version 2.2.3. If you're running an older version, or if you have accidentally overwritten the firmware on your Debug Probe, you can find the latest release of the firmware in https://github.com/raspberrypi/debugprobe/releases/latest[the debugprobe GitHub repository]. -Download `debugprobe.uf2` from the latest release. +To check the firmware version of your Debug Probe, run: +[source, console] +---- +$ lsusb -v -d 2e8a:000c | grep bcdDevice +---- +This will report `bcdDevice 2.23` for Debug Probe firmware version 2.2.3. -Pinch to remove the top of the Debug Probe enclosure. +NOTE: The `Info : CMSIS-DAP: FW Version = 2.0.0` line reported by `openocd` only refers to the CMSIS-DAP protocol level (which is different to the Debug Probe firmware version). -Push and hold the BOOTSEL button as you plug the Debug Probe into your computer to mount a volume called "RPI-RP2". +To update the firmware version of your Debug Probe: -Copy `debugprobe.uf2` onto the "RPI-RP2" volume. The volume will dismount automatically after the file finishes copying onto the device. - -Your Debug Probe will reboot and now runs an updated version of the Debug Probe firmware. It is now ready for debugging. +1. Download `debugprobe.uf2` from the latest release. +1. Pinch to remove the top of the Debug Probe enclosure. +1. Push and hold the BOOTSEL button as you plug the Debug Probe into your computer, to mount a volume called "RPI-RP2". +1. Copy `debugprobe.uf2` onto the "RPI-RP2" volume. The volume will dismount automatically after the file finishes copying onto the device. +1. Your Debug Probe will reboot and now runs an updated version of the Debug Probe firmware. It is now ready for debugging.