AnsweredAssumed Answered

No matching DT, using my own machine/layer/dts

Question asked by John Adamson on Feb 15, 2019
Latest reply on Nov 14, 2019 by AURELIEN BOUIN

I'm trying to create my own machine/layer/devicetree based on the iMX8MQ EVK. For the moment, I'm not actually trying to change the devicetree, I'm simply copying the existing to my names and changing or adding Yocto recipes as seems appropriate. Everything builds in the Yocto system, but when I try to boot the resulting sdcard image, I get:

Trying to boot from MMC2
No matching DT out of these options:
   Configuration to load ATF before U-Boot
No matching DT out of these options:
   Configuration to load ATF before U-Boot
mmc_load_image_raw_sector: mmc block read error
SPL: failed to boot from all boot devices
### ERROR ### Please RESET the board ###


Can anyone point me in the direction of what I'm missing based on the message?


The timing seems to point at u-boot-imx. I've:

  • added my own .dts, copied from the fsl-imx8mq-evk.dts for u-boot-imx
  • added my own _defconfig, but with CONFIG_DEFAULT_DEVICE_TREE set to my my dts name without the extension.
  • As a part of do_compile_prepend, I copy those files into the appropriate directories.

u-boot-imx builds without errors after a cleansstate.  For what it's worth, core-image-minimal does NOT build unless I also do a cleansstate on it.  I'm thinking there' s a dependency error somewhere.  

imx-boot was patched to use dtbs=$(UBOOT_DTB_NAME) instead of dtbs=fsl-$(PLAT)-evk.dtb, 

in my machine.conf, I set UBOOT_DTB_NAME, UBOOT_CONFIG[sd], and KERNEL_DEVICETREE 


The mention of "ATF" in the error message had me looking at imx-atf, but I haven't found any references to the _defconfig or dtb files anywhere in the imx-atf recipe or git files, so no changes there. 


This is only a partial list of the changes, I'm afraid. I can flesh this out more if needed.