Skip to content

Commit 6a682c0

Browse files
committed
Update README.md
Signed-off-by: Mario Bălănică <mariobalanica02@gmail.com>
1 parent a56080d commit 6a682c0

File tree

1 file changed

+23
-13
lines changed

1 file changed

+23
-13
lines changed

README.md

Lines changed: 23 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -174,19 +174,28 @@ The firmware provides two compatibility modes:
174174
> In `Mainline` mode with generic Linux kernels older than 6.15, the HDMI output will not be usable. To use the UEFI-initialized display instead, go to `Device Manager`->`Rockchip Platform Configuration`->`ACPI / Device Tree` and enable `Force UEFI GOP Display`. Note that GPU acceleration cannot work in this mode.
175175
176176
### Custom Device Tree Blob (DTB) override and overlays
177-
It is also possible to provide a custom DTB and overlays. To enable this, go to `Device Manager`->`Rockchip Platform Configuration`->`ACPI / Device Tree` and set `Support DTB override & overlays` to `Enabled`.
177+
It is also possible to provide a custom DTB and overlays. This is useful in cases where the firmware DTB is outdated, does not match the kernel used or for testing purposes. To enable overrides, go to `Device Manager`->`Rockchip Platform Configuration`->`ACPI / Device Tree` and set `Support DTB override & overlays` to `Enabled`.
178178

179-
The firmware will now look for overrides in the partition of a selected boot option / OS loader. In most cases, this will be the first FAT32 EFI System Partition.
179+
The firmware will now look for overrides in all supported file systems / partitions (FAT, ext4) on the selected boot device.
180180

181-
**Important:** The `dtb` directory must be placed at the root of the partition. It should not be inside any sub-directory.
181+
**Important:**
182+
* The paths below are relative to the root of the partition. They must not be inside any sub-directory.
183+
* All overrides (base DTB and overlays) must be stored within a single partition. Using a base DTB from one partition and overlays from another is not allowed.
182184

183-
* The base DTB must be located at `\dtb\base\<PLATFORM-DT-NAME>.dtb`.
185+
The base DTB can be placed in:
186+
* `\dtb`
187+
* `\dtb\base`
188+
* `\dtb\rockchip` - Fedora images have the kernel DTBs in this location on the second ext4 boot partition.
184189

185-
* The overlays can be placed in:
186-
* `\dtb\overlays` - will be applied first, regardless of the platform.
187-
* `\dtb\overlays\<PLATFORM-DT-NAME>` - will be applied only to the specified platform.
190+
and must have the `<PLATFORM-DT-NAME>.dtb` file name.
188191

189-
and must have the `.dtbo` extension.
192+
The overlays can be placed in:
193+
* `\dtb\overlays` - will be applied first, regardless of the platform.
194+
* `\dtb\overlays\<PLATFORM-DT-NAME>` - will be applied only to the specified platform.
195+
196+
and must have the `.dtbo` extension.
197+
198+
In addition to the default paths above, it is possible to specify custom ones via the `Preferred Base DTB Path` and `Preferred Overlays Path` setup options in the menu described above.
190199

191200
`<PLATFORM-DT-NAME>` can be:
192201
| Name | Platform |
@@ -214,15 +223,16 @@ The firmware will now look for overrides in the partition of a selected boot opt
214223
| `rk3588s-nanopi-m6` | NanoPi M6 |
215224
| `rk3588-hinlink-h88k` | H88K |
216225

217-
In the absence of a custom base DTB override, the overlays are applied on top of the firmware-provided DTB.
226+
**Notes:**
227+
* The firmware applies some fix-ups to the DTB depending on the user settings (e.g. PCIe/SATA/USB selection, making SATA overlays redundant). These fix-ups are not applied when providing overrides by other means, such as the Grub `devicetree` command.
218228

219-
The firmware applies some fix-ups to its own DTB depending on the user settings (e.g. PCIe/SATA/USB selection, making SATA overlays redundant). These fix-ups are not applied to a custom base DTB - overlays must be used instead.
229+
* In the absence of a base DTB override, the overlays are applied on top of the firmware-provided DTB.
220230

221-
If the application of an overlay fails (e.g. due to it being invalid in regard to the base DTB), all overlays are discarded, including those that got applied up to that point.
231+
* If the application of an overlay fails (e.g. due to incompatibility with the base DTB), all other overlays are discarded.
222232

223-
If the custom base DTB is invalid, the firmware-provided one will be passed to the OS instead.
233+
* If the base DTB override is invalid, the firmware-provided one will be passed to the OS instead.
224234

225-
This entire process is logged to the [serial console](#advanced-troubleshooting). There's currently no other way to see potential errors.
235+
* This process is logged to the [serial console](#advanced-troubleshooting). It is the only way to see potential errors.
226236

227237
# Updating the firmware
228238
If the storage is only used for UEFI and nothing else, simply download the latest image and flash it as described in the [Getting started](#getting-started) section.

0 commit comments

Comments
 (0)