I want to modify imx6ulevk device tree to fit my new board which differs a little from imx6ulevk. I created new layer called imx6ul which supports my new board.
imx6ul
└── conf
├── layer.conf
└── machine
├── imx6ul.conf
├── imx6ul.dts
// layer.conf
# We have a conf and classes directory, add to BBPATH
BBPATH .= ":${LAYERDIR}"
# We have a packages directory, add to BBFILES
BBFILES += "${LAYERDIR}/recipes-*/*/*.bb \
${LAYERDIR}/recipes-*/*/*.bbappend"
BBFILE_COLLECTIONS += "imx6ul"
BBFILE_PATTERN_imx6ul := "^${LAYERDIR}/"
BBFILE_PRIORITY_imx6ul = "6"
// imx6ul.conf
#@TYPE: Machine
#@NAME: Freescale i.MX6UL Evaluation Kit
#@SOC: i.MX6UL
#@DESCRIPTION: Machine configuration for Freescale i.MX6UL EVK
#@MAINTAINER: Lauren Post <lauren.post@freescale.com>
include conf/machine/include/imx-base.inc
include conf/machine/include/tune-cortexa7.inc
MACHINE_FEATURES += " pci wifi bluetooth"
SOC_FAMILY = "mx6ul"
KERNEL_DEVICETREE = "imx6ul.dts"
UBOOT_SUFFIX = "img"
SPL_BINARY = "SPL"
UBOOT_MAKE_TARGET = ""
UBOOT_CONFIG ??= "sd"
UBOOT_CONFIG[sd] = "mx6ul_14x14_evk_config,sdcard"
UBOOT_CONFIG[qspi1] = "mx6ul_14x14_evk_qspi1_config"
UBOOT_CONFIG[mfgtool] = "mx6ul_14x14_evk_config"
imx6ul.conf is basically imx6ulevk.conf with KERNEL_DEVICETREE modified.
However, during bitbake, I get error:
| make[2]: *** No rule to make target `imx6ul.dts'. Stop.
I guess compiler can't find dts file. Where should I place imx6ul.dts file? ALso please note that in contains dependency on #include "imx6ul.dtsi".
Solved! Go to Solution.
Hi Martin
dts files are located in linux/arch/arm/boot/dts folder
for yocto customization one can check
https://community.freescale.com/docs/DOC-95003
https://community.freescale.com/docs/DOC-95333
DTS customization
http://boundarydevices.com/mx6-device-tree-customization/
Best regards
igor
-----------------------------------------------------------------------------------------------------------------------
Note: If this post answers your question, please click the Correct Answer button. Thank you!
-----------------------------------------------------------------------------------------------------------------------
Hi Martin
dts files are located in linux/arch/arm/boot/dts folder
for yocto customization one can check
https://community.freescale.com/docs/DOC-95003
https://community.freescale.com/docs/DOC-95333
DTS customization
http://boundarydevices.com/mx6-device-tree-customization/
Best regards
igor
-----------------------------------------------------------------------------------------------------------------------
Note: If this post answers your question, please click the Correct Answer button. Thank you!
-----------------------------------------------------------------------------------------------------------------------
Thanks. I added my custom board's imx6ul.dts to arch/arm/boot/dts folder and added imx6ul.dtb record to arch/arm/boot/dts/Makefile. I specified KERNEL_DEVICETREE = "imx6ul.dtb" for my board. I successfully built core-image-base and loaded it on the sdcard. However, during boot, i get:
reading imx6ul-14x14-evk.dtb
** Unable to read file imx6ul-14x14-evk.dtb **
There is no imx6ul-14x14-evk.dtb on the sdcard, there is only imx6ul.dtb. Why is bootloader still looking for imx6ul-14x14-evk.dtb even though I specified KERNEL_DEVICETREE = "imx6ul.dtb" for my machine?
I found out that there is fdt_file env variable in u-boot, which has imx6ul-9x9-evk.dtb value. So one has to change this. I changed this by adding support of my board to u-boot.