i.MX6ul yocto device tree

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

i.MX6ul yocto device tree

Jump to solution
6,455 Views
martindusek
Contributor V

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".

Labels (1)
0 Kudos
1 Solution
2,034 Views
igorpadykov
NXP Employee
NXP Employee

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!

-----------------------------------------------------------------------------------------------------------------------

View solution in original post

3 Replies
2,035 Views
igorpadykov
NXP Employee
NXP Employee

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!

-----------------------------------------------------------------------------------------------------------------------

2,034 Views
martindusek
Contributor V

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?

0 Kudos
2,034 Views
martindusek
Contributor V

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.