imx8mm device tree pruning?

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

imx8mm device tree pruning?

1,079 Views
davidvescovi
Contributor V

When I generate a SD card for the iMX8m mini evk I see it puts 13 device tree files on the card.

Please correct any of my assumption if they are not correct.

We have designed an in house custom iMX8m mini board that closely follows the EVK design with a few peripherals removed … like we removed audio hardware as we do not need it in our final product.

I am using the latest EVK with LPDDR4 RAM as my template.

I assume I can safely remove the three fsl-imx8mm-ddr4-xxxxxx.dtb as they are only for ddr4 designs (not LPDDR4 like we and the latest evk uses)?

I can also remove the two fsl-imx8mm-evk-akxxxx.dtb as these are for audio which we do no use?

By the same token I can remove fsl-imx8mm-evk-audio-tdm.dtb?

I am not sure just what the significance is with the fsl-imx8mm-evk-revb-xxxx.dtb, I assume maybe it has something to do with an newer/older version of pcb? are these necessary?

I assume the xxxxx-rm67191 has something to do with the display controller … which we also use but we connect via display to standard desktop monitors not sure if this is still necessary if we are not using a dedicated LCD display panel?

I have a somewhat good idea what the xxx-inmate.dtb is used for but not sure just how the xxx-evk-root.dtb is used?

Finally we are also using the m4 for interprocessor communication so I believe the xxx-evk-m4.dtb is necessary in our design. My question is can I safely combine the source from the xxx-m4.dts in my master xxx-evk.dts so I just have one resulting master xx.dtb file.

So I guess my main question is just which .dtb files are the minimum, absolutely necessary files in need to populate and can these be collapsed into just one file.  I realize there may be more work modifying make and kconfig files and the like in the actual yocto build.

0 Kudos
Reply
1 Reply

902 Views
gusarambula
NXP TechSupport
NXP TechSupport

Hello David Vescovi,

You could have your application running with just the device tree that describes the hardware present on your board. The BSP does contains more device trees as it allows for more boards and hardware configurations to be supported by the same BSP.

The bootloader loads the kernel and only one device tree at the time of booting so strictly speaking you only need one device tree.

You just need to add all the device tree nodes required for your board. In this case adding the m4 setting for example. It is possible to edit the registers that control the m4 after booting, but ideally you would have all the hardware setup happening at boot tough the device tree.

I hope this helps!

 Regards,