But how is it determined? Where is the code in the yocto structure for that? I just want to understand how the base dtb is selected and how i can modify this if necessary?
The device tree is crucial for platform identification, runtime configuration, and device population. However, specific details on how the default DTB file is selected in the Yocto build system for the Verdin AM62 are not provided in the available documentation.
For modifying device trees, you can utilize device tree overlays. The Verdin AM62 supports several pre-enabled device tree overlays, such as:
I already read the doku for the overlays and know (in theory) how to use them. But what if my base DTB should be e.g. k3-am625-verdin-wifi-dev.dtb instead of the curretly used one k3-am625-verdin-nonwifi-dev.dtb?
I want to understand how I can modify this?
Depending on the base DTB I may need to use other overlays.
By default, the base device tree is resolved at boot time in u-boot.
If the u-boot variable fdtfile is set in u-boot, it uses that as the device tree, otherwise it resolves the following:
Currently there is no logic implemented to detect the carrier board, so it will default to dev.
Where there is some logic is to detect the wifi and nonwifi variants.
If you are using a module with WiFi, the wifi device tree should be loaded.
Otherwise, the nonwifi device tree should be loaded.
If you need to override this logic, the recommended approach is to set the fdtfile to a fixed value in u-boot.