Linux 4.1 Support for Colibri iMX6

I’d like to check if there has been progress regarding the following question:

https://www.toradex.com/community/questions/350/linux-41-support-colibri-imx6.html

I sorely need some features from 4.1 and I’m checking my options. I noticed that there are no devicetree files for imx6-colibri in your toradex_imx_4.1.15_1.0.0_ga branch but I’m trying to make it work anyway by copying dts files from the 3.14.52 branch (is that a bad idea?).

Do you expect to release linux 4.1 for the imx6 colibri in the coming month?

As per our roadmap this is currently scheduled for Q4 release.

@gardarh If you are not looking for hardware acceleration and just want a more mainlinish kernel, you can try the for-next branch. Colibri iMX6 was recently added with this commit.

@sanchayan.tx : What defconfig would I use from that?

Use imx_v6_v7_defconfig .

The applicable defconfig would be imx_v6_v7_defconfig .

I’m running into problems with starting the 4.9 kernel when I copy the compiled uImage along with the dtb to the boot partition when otherwise using the the rootfs from the Toradex 2.6.1. Here is what I get on my console:

U-Boot 2015.04+fslc+g46aa70c (Sep 29 2016 - 21:49:17)

CPU:   Freescale i.MX6DL rev1.2 at 792 MHz
CPU:   Temperature 52 C
Reset cause: WDOG
I2C:   ready
DRAM:  512 MiB
PMIC: device id: 0x10, revision id: 0x11
PMIC: programmed
MMC:   FSL_SDHC: 0, FSL_SDHC: 1
*** Warning - bad CRC, using default environment

auto-detected panel vga-rgb
Display: vga-rgb (640x480)
In:    serial
Out:   serial
Err:   serial
Model: Toradex Colibri iMX6 DualLite 512MB V1.0A, Serial# 04869065
Net:   using PHY at 0
FEC [PRIME]
Normal Boot
Hit any key to stop autoboot:  0
Booting from internal eMMC chip...
reading imx6dl-colibri-eval-v3.dtb
42953 bytes read in 17 ms (2.4 MiB/s)
reading uImage
5032128 bytes read in 145 ms (33.1 MiB/s)
## Booting kernel from Legacy Image at 11000000 ...
   Image Name:   Linux-4.1.15-00015-g106d911-dirt
   Image Type:   ARM Linux Kernel Image (uncompressed)
   Data Size:    5032064 Bytes = 4.8 MiB
   Load Address: 10008000
   Entry Point:  10008000
   Verifying Checksum ... OK
## Flattened Device Tree blob at 12000000
   Booting using the fdt blob at 0x12000000
   Loading Kernel Image ... OK
   Using Device Tree in place at 12000000, end 1200d7c8

Starting kernel ...

Can you spot what I am missing?

You still seem to boot with 4.1 kernel! Did you update to 4.9 correctly?

I just rechecked the for-next branch and it boots fine here.

Angstrom v2015.12 - Kernel 4.9.0-rc1-00062-g2c4ac5f

Colibri_iMX6_LinuxImageV2.6.1_20161001

colibri-imx6 login: root
root@colibri-imx6:~#                                                                                                      
root@colibri-imx6:~# uname -a
Linux colibri-imx6 4.9.0-rc1-00062-g2c4ac5f #403 SMP Wed Nov 9 17:01:06 IST 2016 armv7l GNU/Linux

@sanchayn.tx Ugh, I forgot to modify my deployment script and it was always picking up a kernel from an incorrect location. I managed to get this up and running. One thing is odd though, it complained that it didn’t find mmcblk0p2 as the root device, so I did the following in uBoot:

setenv emmcargs "off root=/dev/mmcblk1p2 rw,noatime rootfstype=ext3 rootwait"

And then it booted fine. It appears the emmc device and the sdcard device are switched with this kernel/device tree. Have you noticed this?

Yes, that is expected.

@sanchayn.tx Is this move from mmcblk0 to mmcblk1 something that will also occur on the Toradex branch? This causes a lot of small issues, one of the being that
fw_setenv needs to be modified.

No it will not occur on Toradex branch.

@sanchayn.tx I think just using mmcblk?boot0 in the fw_unlock_mmc.sh script would work in case you want the Toradex layer to be compatible with the mainline kernel.

@gardarh

I pushed an inital tree.
Note that it is based on the fslc kernel which is based on the NXP 4.1.15 2.0.0 kernel.

Max