Imx8 and latest downstream NXP kernel

Hello,

Can you please provide an indication of when a BSP will be released using the latest downstream kernel, Linux 5.10.9_1.0.0​, from NXP for the imx8?

Alternatively, is it possible to take the device tree from the current BSP and use the kernel source from NXP to build a kernel for this module? What issues are we likely to face?

Thanks in advance

Hi @sohailarshad

You can build this kernel kernel/git/stable/linux.git - Linux kernel stable tree with ‘defconfig’ and the also the corresponding devicetree. After that you can try to replace the kernel in the Bsp 5.2 and check if the module is booting.

Thanks and best regards,
Jaski

Hi Jaski,

We’ve tried to compile this kernel along with the corresponding Toradex device tree source but it fails to build the binary device tree using the kernel build instructions detailed here. For example:

* Making freescale/imx8qm-apalis-v1.1-eval.dtb
+ make DTC_FLAGS=-@ freescale/imx8qm-apalis-v1.1-eval.dtb
  DTC     arch/arm64/boot/dts/freescale/imx8qm-apalis-v1.1-eval.dtb
Error: arch/arm64/boot/dts/freescale/imx8-ss-audio.dtsi:180.10-11 syntax error
FATAL ERROR: Unable to parse input tree
scripts/Makefile.lib:353: recipe for target 'arch/arm64/boot/dts/freescale/imx8qm-apalis-v1.1-eval.dtb' failed
make[1]: *** [arch/arm64/boot/dts/freescale/imx8qm-apalis-v1.1-eval.dtb] Error 1
Makefile:1386: recipe for target 'freescale/imx8qm-apalis-v1.1-eval.dtb' failed
make: *** [freescale/imx8qm-apalis-v1.1-eval.dtb] Error 2

We then noticed that the latest 5.13-x mainline kernel has the iMX8 dts (which v5.10.41 doesn’t) and tried to compile this instead but it transpires that the iMX8 dts in the Toradex kernel has many additional symbols that aren’t present in its mainline version. Where do these changes come from? Are they included by NXP or Toradex?

Is it possible to build a mainline kernel or one from NXP without significant effort or must we wait for your next BSP?

Hi

We then noticed that the latest 5.13-x mainline kernel has the iMX8 dts (which v5.10.41 doesn’t) and tried to compile this instead but it transpires that the iMX8 dts in the Toradex kernel has many additional symbols that aren’t present in its mainline version.

Yes, we need to adapt the devicetree for our needs, but also NXP puts some entries there.

Is it possible to build a mainline kernel or one from NXP without significant effort or must we wait for your next BSP?

It maybe easy to build but make it really run on a iMX8QM, it is a different story. Either you can wait once we integrate the new Kernel 5.10 in our Bsp or you can give yourself a try on the downstream kernel:
https://source.codeaurora.org/external/imx/meta-imx/log/?h=gatesgarth-5.10.9-1.0.0