Where to find all device drivers included in TorizonCore?

Hi!

We are looking to change some hardware in our future products, and we would like to buy already supported hardware in TorizonCore, instead of having to develop a device driver (which we don’t know how to).

For a Colibri iMX8X, how can I know which device drivers are included in each TorizonCore Quarterly version?

Thank you!
Tomás

Greetings @tomas.ayi,

As far as I know we don’t have a comprehensive list anywhere of every single driver enabled in our kernel. The best would be to check the kernel config to see which options are enabled.

For TorizonCore we inherit the kernel config from our BSP which is in the kernel source itself. However we then additionally add further configs specific to TorizonCore based on this repository here: GitHub - toradex/toradex-kernel-cache at toradex_5.4.y

Do note that we do take customer request to turn on kernel configs for drivers and such. We usually end up enabling these by default if the request is reasonable and doesn’t conflict with any current settings.

Best Regards,
Jeremias

Hi Jeremias,

Thank you for your answer.

Please note that, as you can see, my Linux knowledge is still limited in these aspects.

Our goal is to use a ILI2117-based touchscreen to our product. So first I went to Torvalds’ Linux repo in GitHub, and searched if that controller is supported. I found out here that it is. Then, I went to linux/drivers/input/touchscreen/Kconfig, and found that the flag needed to get the driver compiled is CONFIG_TOUCHSCREEN_ILI210X.
Then, in our Colibri iMX8X, i found this line in /proc/config.gz:

# CONFIG_TOUCHSCREEN_ILI210X is not set

So, I think we don’t have support enabled for that touchscreen.

Having that flag enabled would bring me support for that device, or do we need anything else?

Is there any possibility to get it enabled by default in any future version? If yes, how long do you think I would have to wait to get a TorizonCore version with the driver enabled? It doesn’t matter if it’s a nightly, since we are still in development phase.

If getting the flag enabled by default is not possible, which are my possibilities to enable that driver? Do I have to recompile TorizonCore?

Thank you for your time.

Regards,
Tomás

You have the right idea. After the driver is enabled in the kernel (assuming this is the correct driver for your device), you’ll then need to do device tree changes. The changes in the device tree largely depend on the driver itself. But in short you’ll need to define a new node that “describes” your touch device as well as the hardware pins and parameters to that device.

The parameters/exact syntax you’ll need to get from the in-kernel documentation regarding this driver. I believe the correct documentation is this: ilitek,ili2xxx.txt « input « bindings « devicetree « Documentation - linux-toradex.git - Linux kernel for Apalis, Colibri and Verdin modules

However, now that I’m taking a closer look at this driver I notice an issue. So support for the ILI2117 was added with this commit here: Input: ili210x - add ILI2117 support · torvalds/linux@eb91ecc · GitHub

If you notice the earliest kernel version this commit was available was back in V5.5. This is an issue because our kernels are currently based on V5.4. And if I look at this driver file in the Toradex linux kernel: ili210x.c « touchscreen « input « drivers - linux-toradex.git - Linux kernel for Apalis, Colibri and Verdin modules

I can see that support for the ILI2117 wasn’t added yet here. Now we’re in the awkward situation where support for this device does exist in the linux kernel, just not in the version that Toradex uses currently.

This unfortunately limits what we can do to help you here. The two realistic options here are:

  • Wait till Toradex moves to a later kernel version. The next kernel version we plan to move to will be 5.10. So support for your device should exist in this new version. However I can’t give an exact date/timeline of when we will move kernel versions. Such a change to our BSP will most likely come with BSP/TorizonCore 6.0
  • Backport the changes to support the ILI2117 to our 5.4 kernel. Backporting can either be real simple or really challenging depending on changes required. Also this is probably something you’ll need to handle and maintain yourself.

Best Regards,
Jeremias