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 \
imx8mq-evk-usdhc2-m2.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.