Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
19 commits
Select commit Hold shift + click to select a range
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: 4 additions & 0 deletions documentation/asciidoc/accessories/display/display_intro.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -159,3 +159,7 @@ To specify these options, add them, separated by commas, to your `dtoverlay` lin
----
dtoverlay=vc4-kms-dsi-7inch,sizex=400,invx,invy
----

=== Installation on Compute Module based devices.

All Raspberry Pi SBCs auto-detect the official Touch Displays as the circuitry connected to the DSI connector on the Raspberry Pi board is fixed; this autodetection ensures the correct Device Tree entries are passed to the kernel. However, Compute Modules are intended for industrial applications where the integrator can use any and all GPIOs and interfaces for whatever purposes they require. Autodetection is therefore not feasible, and hence is disabled on Compute Module devices. This means that the Device Tree fragments required to set up the display need to be loaded via some other mechanism, which can be either with a dtoverlay entry in config.txt as described above, via a custom base DT file, or if present, a HAT EEPROM.
7 changes: 7 additions & 0 deletions documentation/asciidoc/accessories/touch-display-2/about.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -127,3 +127,10 @@ To specify these options, add them, separated by commas, to your `dtoverlay` lin
----
dtoverlay=vc4-kms-dsi-ili9881-7inch,sizex=400,invx,invy
----

=== Installation and software setup on Compute Module based devices.

All Raspberry Pi SBCs auto-detect the official Touch Displays as the circuitry connected to the DSI connector on the Raspberry Pi board is fixed; this autodetection ensures the correct Device Tree entries are passed to the kernel. However, Compute Modules are intended for industrial applications where the integrator can use any and all GPIOs and interfaces for whatever purposes they require. Autodetection is therefore not feasible, and hence is disabled on Compute Module devices. This means that the Device Tree fragments required to set up the display need to be loaded via some other mechanism, which can be either with a dtoverlay entry in config.txt, via a custom base DT file, or if present, a HAT EEPROM.

Creating a custom base Device tree file is beyond the scope of this documentation, however, it is simple to add an appropriate device tree entry via `config.txt`. See this xref:../computers/compute-module.adoc#attaching-the-touch-display-2-lcd-panel[page] for configuration details.

36 changes: 28 additions & 8 deletions documentation/asciidoc/computers/compute-module/cmio-display.adoc
Original file line number Diff line number Diff line change
@@ -1,20 +1,20 @@
== Attach the official 7-inch display
== Attaching the Touch Display LCD panel

Update your system software and firmware to the latest version before starting.
Compute Modules mostly use the same process, but sometimes physical differences force changes for a particular model.

=== Connect a display to DISP1
=== Connect a display to DISP1/DSI1

NOTE: The Raspberry Pi Zero camera cable cannot be used as an alternative to the RPI-DISPLAY adapter. The two cables have distinct wiring.

To connect a display to DISP1:
To connect a display to DISP1/DSI1:

. Disconnect the Compute Module from power.
. Connect the display to the DISP1 port on the Compute Module IO board through the 22W to 15W display adapter.
. Connect the display to the DISP1/DSI1 port on the Compute Module IO board through the 22W to 15W display adapter.
. _(CM1, CM3, CM3+, and CM4S only)_: Connect the following GPIO pins with jumper cables:
* `0` to `CD1_SDA`
* `1` to `CD1_SCL`

. _(CM5)_ On the Compute Module 5 IO board, add the appropriate jumpers to J6, as indicated on the silkscreen.
. Reconnect the Compute Module to power.
. Add the following line to xref:../computers/config_txt.adoc#what-is-config-txt[`/boot/firmware/config.txt`]:
+
Expand All @@ -24,15 +24,17 @@ dtoverlay=vc4-kms-dsi-7inch
----
. Reboot your Compute Module with `sudo reboot`. Your device should detect and begin displaying output to your display.

=== Connect a display to DISP0
=== Connect a display to DISP0/DSI0

To connect a display to DISP0:
To connect a display to DISP0/DSI0 on CM1, CM3 and CM4 IO boards:

. Connect the display to the DISP0 port on the Compute Module IO board through the 22W to 15W display adapter.
. Connect the display to the DISP0/DSI0 port on the Compute Module IO board through the 22W to 15W display adapter.
. _(CM1, CM3, CM3+, and CM4S only)_: Connect the following GPIO pins with jumper cables:
* `28` to `CD0_SDA`
* `29` to `CD0_SCL`

. _(CM4 only)_ On the Compute Module 4 IO board, add the appropriate jumpers to J6, as indicated on the silkscreen.

. Reconnect the Compute Module to power.
. Add the following line to `/boot/firmware/config.txt`:
+
Expand Down Expand Up @@ -61,3 +63,21 @@ To entirely ignore the display when connected, add the following line to `/boot/
----
ignore_lcd=1
----

== Attaching the Touch Display 2 LCD panel

Touch Display 2 is a 720x1280 7" LCD display designed specifically for Raspberry Pi devices (see https://www.raspberrypi.com/products/touch-display-2/). It connects in the same way as the original touch display, but the software setup on Compute Modules is slightly different as it uses a different display driver. See xref:../accessories/touch-display-2.adoc[Touch Display 2] for connection details.

Edit the /boot/firmware/config.txt file and add the following to enable Touch Display 2 on DISP1/DSI1. You will also need to add jumpers to J6 as indicated on the silkscreen.

[source,ini]
----
dtoverlay=vc4-kms-dsi-ili9881-7inch
----

To use DISP0/DSI0, use the following:

[source,ini]
----
dtoverlay=vc4-kms-dsi-ili9881-7inch,dsi0
----
3 changes: 2 additions & 1 deletion documentation/asciidoc/computers/config_txt/boot.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -64,6 +64,7 @@ NOTE: Newer firmware supports the loading of multiple `ramfs` files. You should

`ramfsaddr` is the memory address to which the `ramfsfile` should be loaded.

[[initramfs]]
=== `initramfs`

The `initramfs` command specifies both the ramfs filename *and* the memory address to which to load it. It performs the actions of both `ramfsfile` and `ramfsaddr` in one parameter. The address can also be `followkernel` (or `0`) to place it in memory after the kernel image. Example values are: `initramfs initramf.gz 0x00800000` or `initramfs init.gz followkernel`. As with `ramfsfile`, newer firmwares allow the loading of multiple files by comma-separating their names.
Expand All @@ -73,7 +74,7 @@ NOTE: This option uses different syntax from all the other options, and you shou
[[auto_initramfs]]
=== `auto_initramfs`

If `auto_initramfs` is set to `1`, look for an `initramfs` file using the same rules as the kernel selection.
If `auto_initramfs` is set to `1`, the firmware looks for an `initramfs` file to match the kernel. The file must be in the same location as the kernel image, and the name is derived from the name of the kernel by replacing the `kernel` prefix with `initramfs`, and removing any extension such as `.img`, e.g. `kernel8.img` requires `initramfs8`. You can make use of `auto_initramfs` with custom kernel names provided the names begin with `kernel` and `initramfs` respectively and everything else matches (except for the absence of the file extension on the initramfs). Otherwise, an explicit xref:config_txt.adoc#initramfs[`initramfs`] statement is required.

[[disable_poe_fan]]
=== `disable_poe_fan`
Expand Down
6 changes: 3 additions & 3 deletions documentation/asciidoc/computers/config_txt/common.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -16,15 +16,15 @@ By default, Raspberry Pi OS includes a line in `/boot/firmware/config.txt` that

When enabled, the firmware will automatically load overlays for recognised CSI cameras.

To disable, set `camera_auto_detect=0`.
To disable, set `camera_auto_detect=0` (or remove `camera_auto_detect=1`).

==== `display_auto_detect`

Enabled by default.
By default, Raspberry Pi OS includes a line in `/boot/firmware/config.txt` that enables this setting.

When enabled, the firmware will automatically load overlays for recognised DSI displays.

To disable, set `display_auto_detect=0`.
To disable, set `display_auto_detect=0` (or remove `display_auto_detect=1`).

==== `dtoverlay`

Expand Down
12 changes: 12 additions & 0 deletions documentation/asciidoc/computers/config_txt/conditional.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -123,6 +123,18 @@ cmdline=cmdline-recovery.txt

The raw value of the `PM_RSTS` register at bootup is available via `/proc/device-tree/chosen/bootloader/rsts` and the final partition number used for booting is available via `/proc/device-tree/chosen/bootloader/partition`. These are big-endian binary values.

=== The `[boot_partition=N]` filter
The `boot_partition` filter can be used to select alternate OS files (e.g. `cmdline.txt`) to be loaded, depending on which partition `config.txt` was loaded from after processing `autoboot.txt`. This is intended for use with an `A/B` boot-system with `autoboot.txt` where it is desirable to be able to have identical files installed to the boot partition for both the `A` and `B` images.

Example `config.txt` - select the matching root filesystem for the `A/B` boot file-system.
[source,ini]
----
[boot_partition=1]
cmdline=cmdline_rootfs_a.txt

[boot_partition=2]
cmdline=cmdline_rootfs_b.txt
----

=== The `[tryboot]` filter

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -70,12 +70,12 @@ Various xref:linux_kernel.adoc#kernel[kernel] image files that correspond to Ras

| `kernel.img`
| BCM2835
| Pi Zero, Pi 1
| Pi Zero, Pi 1, CM1
|

| `kernel7.img`
| BCM2836, BCM2837
| Pi Zero 2 W, Pi 2, Pi 3
| Pi Zero 2 W, Pi 2, Pi 3, CM3, Pi 3+, CM3+
| Later revisions of Pi 2 use BCM2837

| `kernel7l.img`
Expand Down
2 changes: 1 addition & 1 deletion documentation/asciidoc/computers/processors/bcm2836.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -5,4 +5,4 @@ The Broadcom chip used in the Raspberry Pi 2 Model B. The underlying architectur
You should refer to:

* https://datasheets.raspberrypi.com/bcm2836/bcm2836-peripherals.pdf[BCM2836 ARM-local peripherals]
* http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.ddi0464f/index.html[Cortex-A7 MPcore Processor Reference Manual]
* https://developer.arm.com/documentation/ddi0464/f/[Cortex-A7 MPcore Processor Reference Manual]
Original file line number Diff line number Diff line change
Expand Up @@ -403,14 +403,14 @@ image::images/pico-h.png[alt="Raspberry Pi Pico H"]
.Raspberry Pi Pico W
image::images/pico-w.png[alt="Raspberry Pi Pico W"]
| xref:../microcontrollers/silicon.adoc#rp2040[RP2040] | 264KB | 2MB | two 20-pin GPIO headers (unpopulated)
|
a|
* 2.4GHz single-band 802.11n Wi-Fi (10Mb/s)
* Bluetooth 5.2, Bluetooth Low Energy (BLE)
|
.Raspberry Pi Pico WH
image::images/pico-wh.png[alt="Raspberry Pi Pico WH"]
| xref:../microcontrollers/silicon.adoc#rp2040[RP2040] | 264KB | 2MB | two 20-pin GPIO headers
|
a|
* 2.4GHz single-band 802.11n Wi-Fi (10Mb/s)
* Bluetooth 5.2, Bluetooth Low Energy (BLE)
|
Expand Down
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified documentation/asciidoc/services/connect/images/device.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified documentation/asciidoc/services/connect/images/devices.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified documentation/asciidoc/services/connect/images/hero.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified documentation/asciidoc/services/connect/images/new-device.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading