On SECO Android 11 BSP it is possible to create and test custom devicetree“devicetree.dtb dtb” and overlay“overlay.dtbo file dtbo” files for implementing and validating custom DISPLAY configuration and or peripherals.
You can customize and test new dtb/dtbo file files without using external resources, you just need the SECO board, and a PC (Windows or Linux) for connecting to it with ADB protocol (via USB cable or over IP).
...
Connect to the board via ADB protocol (ref to Connecting via ADB for details) or via Serial cable
Enter in the folder /data/seco/dts_sourcesources:
cd /data/seco/dts_sourcesources
Inside “seco/” folder you will find the dts sources files you can modify and compile for changing default dtb or dtbo
Here is an example from c43 board:
...
You can edit .dts files using the vi editor included in our Android distribution and adding or changing sections add or change dts code in the source files.
Example command for editing devicetree dts file on C43 board:
Code Block vi seco/seco-imx8qm-c43.dts
Example command for editing overlays dts file on C43 board:
Code Block vi seco/overlays/seco-imx8qm-c43-lvds-GENERIC-single-channel-overlay.dts
After having changed the sources file with the right setup, it is possible to compile dtb and dtbo binary files with the script ./dtscompile.sh <file_to_be_compied>compiled>:
Code Block ./dtscompile.sh seco/overlays/seco-imx8qm-c43-lvds-GENERIC-single-channel-overlay.dts
or:
Code Block ./dtscompile.sh seco/seco-imx8qm-c43.dts
Results will be copied in /data/seco/ folder:
/data/seco/overlay.dtbo
/data/seco/devicetree.dtb
You can edit /data/seco/android_seco.conf:
Code Block vi /data/seco/android_seco.conf
and add in it the following definitions:
Code Block ### Enable dtb customization # enablecustomization=true ### Definitions for dtb custom file customdtb=devicetree.dtb ### Definitions for device tree overlay custom file customdtbo=overlay.dtbo
N.B. If you are defining a new video output you need also to unconfigure any defined video:
Code Block ### Force video selection. # Posible values are: NONE, LVD0, ... LVD6, HDM0, HIN0, EDP0, HLV0, ELV0, LEH0, EHD0 videosel=NONE
The changes will be applied starting from the next reboot.
At startup pay attention to the following messages for verifiying verifying the new setup:
Code Block switch to partitions #0, OK mmc0(part 0) is current device 587 bytes read in 11 ms (51.8 KiB/s) verify OK, boot 'boot_a' Found custom dtb of size 165905 in path /misc/seco/devicetree.dtb <---- 165905 bytes read in 13 ms (12.2 MiB/s) <---------- size Found custom dtbo of size 3147 in path /misc/seco/overlay.dtbo <----- 3147 bytes read in 12 ms (255.9 KiB/s) <---------- size Warn! Can't find videoselection NONE in dtbo image. <------- Kernel load addr 0x80280000 size 43283 KiB kernel @ 80280000 (44321280) ramdisk @ 86400000 (8505136) fdt @ 83e80000 (165905) <---------- size ## Flattened Device Tree blob at 83e80000 Booting using the fdt blob at 0x83e80000 Using Device Tree in place at 0000000083e80000, end 0000000083f2bfff
NP.BS. If you prefer you can edit dts files on you Descktop your Desktop PC, and copy them using adb push command:
Code Block adb push seco-imx8qm-c43.dts /data/seco/seco/seco-imx8qm-c43.dts adb push test.dtb /data/seco/overlays/seco-imx8qm-c43-lvds-GENERIC-single-channel-overlay.dts
NP.NP.BS. It is also possible to customize only the dtb or only the dtbo file. If only one of this these files has been found, the default configuration will be used instead of the missing one.