Skip to content

Commit 14a8dc4

Browse files
committed
User manual content update
1 parent ae841c0 commit 14a8dc4

File tree

1 file changed

+21
-4
lines changed
  • content/hardware/04.pro/carriers/portenta-hat-carrier/tutorials/user-manual

1 file changed

+21
-4
lines changed

content/hardware/04.pro/carriers/portenta-hat-carrier/tutorials/user-manual/content.md

Lines changed: 21 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2582,21 +2582,25 @@ The pins used for the JTAG debug port on the Portenta Hat Carrier are the follow
25822582

25832583
## Understanding Device Tree Blobs (DTB) Overlays
25842584

2585+
### Device Tree Blobs (DTB) And DTB Overlays
2586+
25852587
In the world of embedded systems, _U-boot_ and the _Linux kernel_ use a concept called __Device Tree Blobs (DTB)__ to describe a board's hardware configuration. This approach allows for a unified main source tree to be used across different board configurations, ensuring consistency.
25862588

25872589
The boards, acting as carriers, allow various peripherals to be connected, such as temperature sensors or accelerometers. These carriers serve as expansion connectors. You might want to connect various peripherals and be able to add or remove them easily.
25882590

2589-
The concept of modularity is applied to the _DTB_, resulting in __DTB overlays__. The hardware configuration is split into multiple small files, each representing a different peripheral or function.
2591+
The concept of modularity is applied to the _DTB_, resulting in __DTB overlays__. The hardware configuration is split into multiple small files, each representing a different peripheral or function in the form of a DTB overlay.
25902592

25912593
During the early boot stage, these overlays are merged together into a single DTB and loaded into RAM. This approach enables users to select and change configurations with ease. However, it is important to note that changing the hardware configuration requires a system reboot to maintain system stability.
25922594

2595+
### Handling DTB Overlays
2596+
25932597
You can modify and maintain the Device Tree Blob (DTB) overlays through a couple of methods. In builds that do not prioritize security, you can edit the file located at the following location:
25942598

25952599
```
25962600
/boot/devicetree/overlays.txt
25972601
```
25982602

2599-
After making the desired changes, it is necessary to save and reboot the system to apply desired changes.
2603+
After making the desired changes, it is necessary to save the changes and reboot the system to apply them.
26002604

26012605
On the other hand, in builds that prioritize security, the *fw_setenv tool* accessible in user space must be used to apply the corresponding changes to the U-boot settings as follows:
26022606

@@ -2606,9 +2610,17 @@ fw_setenv overlays=name_ov1 name_ov2
26062610

26072611
Currently, parameters are passed indirectly to the overlays; however, upcoming enhancements to U-boot will introduce direct parameter passing functionality.
26082612

2609-
U-boot can be configured to automatically load specific DTB overlays based on the carrier board it detects, in this case Portenta Hat Carrier, either by probing specific hardware or by reading an identification ID from an EEPROM.
2613+
### Custom DTB Overlays
2614+
2615+
In cases where the required DTB overlay is not readily available and a specific configuration that is not part of the pre-compiled set is needed, it is possible to create customized DTB overlays.
2616+
2617+
DTB overlays originate from readable source files known as _DTS files_. Users with the respective experience can modify these DTS files and cross-compile them to create tailored overlays suited to their needs.
2618+
2619+
### Automated Load And Carrier Detection
26102620

2611-
The configuration was done by logging into the board and executing commands on the shell. For instance, for a Portenta-X8 placed on a Portenta HAT Carrier, the expected output is as follows:
2621+
U-boot can be configured to automatically load specific DTB overlays based on the carrier board it detects, in this case the Portenta Hat Carrier, either by probing specific hardware or by reading an identification ID from an EEPROM.
2622+
2623+
For instance, for a Portenta-X8 placed on a Portenta HAT Carrier, upon logging into the board and executing subsequent commands on the shell, the expected output is as follows:
26122624

26132625
```bash
26142626
fw_printenv overlays
@@ -2638,6 +2650,8 @@ fw_setenv overlays "ov_som_lbee5kl1dx ov_som_x8h7 ov_carrier_rasptenta_base ov_c
26382650

26392651
The commands above enable functionalities such as a speed-controlled fan connector, an OV5647 based RPi v1.3 camera, and an IQ Audio Codec Zero audio HAT.
26402652

2653+
### Hardware Configuration Layers
2654+
26412655
Hardware configuration is divided into the following layers:
26422656

26432657
- __Layer 0__: System on Module (SoM), prefixed with `ov_som_`.
@@ -2654,6 +2668,9 @@ Some overlays, such as:
26542668

26552669
add functionalities like Wi-Fi® and external microcontroller support. If no known carrier is detected, the first two overlays are applied by default if the Portenta X8 is mounted as the main board.
26562670

2671+
#### Distinction Between System And Hardware Configuration
2672+
<br></br>
2673+
26572674
The distinction between system and hardware configuration is crucial. System configuration includes settings such as user creation and Wi-Fi® passwords, whereas hardware configuration is explicitly defined through the device tree.
26582675

26592676
In production environments, the addition of custom compiled device tree overlays is restricted to maintain system integrity and security.

0 commit comments

Comments
 (0)