Mainline Linux on Colibri T30


We are looking to add support for Colibri T30 in one of our carrier boards where we are all ready running a Colibri T20 module.

This is a headless system and I am looking in to the possibility of running a mainstream Linux kernel. I can all ready see that the support for Colibri T30 is somewhat there and I have successfully compiled and booted the mainstream kernel (jippie :)).

But I do have some concerns regarding what is supported and not supported yet in the mainstream Linux kernel. And those concerns are:

  • No audio support, our hardware supports MIC IN and AUDIO OUT so would need this.
  • No SNOR/GMI support (I believe this would relatively easy to add, so just a minor concern)
  • no cpufreq support (not a major problem if can hard-code the “900MHz Quad-Core mode constant performance” somewhere, not quite sure which clock-rate it is running at the moment)
  • I am not quite sure what the status is of the LP1 suspend mode

Any comments or experience with above items or in general on running mainstream Linux on Colibri T30.

Best Regards

Mirza Krak

Hi Mirza

As I happen to be playing with 4.6.0-rc1 on our latest Apalis TK1 I gave it a quick shot on Colibri T30 as well. Here my quick comments:


root@colibri-t30:~# uname -a
Linux colibri-t30 4.6.0-rc1-00022-gf41418b-dirty #13 SMP PREEMPT Wed Mar 30 09:34:05 CEST 2016 armv7l GNU/Linux
root@colibri-t30:~# echo mem > /sys/power/state 
[  790.548700] PM: Syncing filesystems ... done.
[  790.737555] Freezing user space processes ... [  790.742397] Freezing remaining freezable tasks ... (elapsed 0.005 seconds) done.
(elapsed 0.004 seconds) done.
[  790.830384] PM: suspend of devices complete after 81.782 msecs
[  790.837936] PM: late suspend of devices complete after 1.705 msecs
[  790.845726] PM: noirq suspend of devices complete after 1.598 msecs
[  790.852039] Disabling non-boot CPUs ...
[  790.897369] IRQ17 no longer affine to CPU1
[  790.902004] CPU1: shutdown
[  790.977841] CPU2: shutdown
[  791.037820] CPU3: shutdown
[  791.070488] Entering suspend state LP1

=> triggering wake-up source SODIMM pin 45

[  492.270570] Enabling non-boot CPUs ...
[  492.322340] CPU1 is up
[  492.373434] CPU2 is up
[  492.454538] CPU3 is up
[  492.458040] PM: noirq resume of devices complete after 1.126 msecs
[  492.465766] PM: early resume of devices complete after 1.141 msecs
[  492.565068] PM: resume of devices complete after 92.902 msecs
[  492.572048] Restarting tasks ... done.

BTW: As the USB-to-Ethernet reset stuff is also still kind of pending one could work around it in user space as follows (first releasing reset and secondly applying VBUS):

echo 232 > /sys/class/gpio/export
echo high > /sys/class/gpio/gpio232/direction
echo 234 > /sys/class/gpio/export
echo high > /sys/class/gpio/gpio234/direction



Platform Manager Embedded Linux at Toradex