I.MX8M SoM Yocto Linux Add DTB

I am evaluating the Analog Devices ADTF3175 time of flight eval kit:

This kit contains the SolidRun iMX8M Plus SOM. Analog Devices provides instructions and a build script to use buildroot to produce a build. They have patched linux-imx to add V4L ( video for linux ) support for the camera. I have used Yocto and meta-solidrun-arm-imx8 to successfully patch the kernel with the AD patches and custom defconfig, and create a bootable image for the eval kit that does successfully boot. However it is missing the device tree ‘imx8mp-adi-tof-adsd3500.dtb’.

My next step is to get the device tree built.

So far I have done this in my linux-imx_%.bbappend file:

KERNEL_DEVICETREE:append = " imx8mp-adi-tof-adsd3500.dtb "

I have verified in the tmp/work directory for linux-imx that device tree binary for the ADI time of flight module has been added to the Makefile for the Freescale dts files:

diff --git a/arch/arm64/boot/dts/freescale/Makefile b/arch/arm64/boot/dts/freescale/Makefile
index 49642e6f35b5..2aaeab0c6200 100644
--- a/arch/arm64/boot/dts/freescale/Makefile
+++ b/arch/arm64/boot/dts/freescale/Makefile
@@ -106,6 +106,7 @@ dtb-$(CONFIG_ARCH_MXC) += imx8mp-evk.dtb imx8mp-evk-rm67191.dtb imx8mp-evk-it626
 dtb-$(CONFIG_ARCH_MXC) += imx8mq-evk.dtb imx8mq-evk-rpmsg.dtb imx8mp-ab2.dtb
 dtb-$(CONFIG_ARCH_MXC) += imx8mp-ddr4-evk.dtb
 dtb-$(CONFIG_ARCH_MXC) += imx8mp-evk-ndm.dtb
+dtb-$(CONFIG_ARCH_MXC) += imx8mp-hummingboard-pulse.dtb imx8mp-cubox-m.dtb imx8mp-adi-tof-adsd3500.dtb
 dtb-$(CONFIG_ARCH_MXC) += imx8mq-evk.dtb imx8mq-evk-rpmsg.dtb imx8mq-evk-pcie1-m2.dtb imx8mq-evk-usd-wifi.dtb \
 dtb-$(CONFIG_ARCH_MXC) += imx8mq-evk-ak4497.dtb imx8mq-evk-audio-tdm.dtb imx8mq-evk-pdm.dtb

I verified the patch was applied properly in the linux-imx work directory Makefile:

:~/build-xwayland-imx8mpsolidrun/tmp/work/imx8mpsolidrun-poky-linux/linux-imx/5.10.72+gitAUTOINC+a68e31b63f-r0/git/arch/arm64/boot/dts/freescale$ grep imx8mp-adi-tof-adsd3500.dtb *
Makefile:                         imx8mp-adi-tof-noreg.dtb imx8mp-adi-tof-adsd3500.dtb imx8mp-adi-tof-adsd3030.dtb
Makefile:dtb-$(CONFIG_ARCH_MXC) += imx8mp-hummingboard-pulse.dtb imx8mp-cubox-m.dtb imx8mp-adi-tof-adsd3500.dtb

However, the kernel builds for awhile and then fails with a missing target error:

| make[2]: *** No rule to make target 'arch/arm64/boot/dts/imx8mp-adi-tof-adsd3500.dtb'. Stop.

How can I add the imx8mp-adi-tof-adsd3500.dtb to the linux-imx build? Thank you.

Analog Devices product is using our SOM, however we do not maintain or support their software integration on top of our BSP. I would recommend opening a support ticket with their team.