Kernel supporting pinmux on x86

Dear Toradex Team,

I am trying to get x86 modules working with Torizon (from congatec and from engicam). I am using the torizon-x86-nightly-build plus core-builder.

The issue I am facing is that SPI2 pins do not get routed out of the processor (Intel Atom). The kernel shows that the pins are unclaimed:

sudo grep -R -n “SSP_2” /sys/kernel/debug/pinctrl/INT3452:01/pinmux-pins
>>> 74:pin 71 (GP_SSP_2_CLK): (MUX UNCLAIMED) (GPIO UNCLAIMED)
>>> 75:pin 72 (GP_SSP_2_FS0): (MUX UNCLAIMED) (GPIO UNCLAIMED)
>>> 76:pin 73 (GP_SSP_2_FS1): (MUX UNCLAIMED) (GPIO UNCLAIMED)
>>> 77:pin 74 (GP_SSP_2_FS2): (MUX UNCLAIMED) (GPIO UNCLAIMED)
>>> 78:pin 75 (GP_SSP_2_RXD): (MUX UNCLAIMED) (GPIO UNCLAIMED)
>>> 79:pin 76 (GP_SSP_2_TXD): (MUX UNCLAIMED) (GPIO UNCLAIMED)

I want fix the issue by either declaring a SPI2 slave via SSDT, or add a PinFunction/PinConfig resource. Both methods require access to the kernel configfs filesystem.

It seems to me that either the configfs or some of the ACPI or PINCTRL options are not enabled in the kernel of the x86 nightly build (i.e. CONFIG_CONFIGFS_FS, CONFIG_ACPI_CONFIGFS, CONFIG_SPI_INTEL_LPSS_ACPI).

Is there a way to have the required kernel options enabled?

Greetings @skruber,

Just to clarify you want the following configs enabled for X86 Torizon OS:

CONFIG_CONFIGFS_FS
CONFIG_ACPI_CONFIGFS
CONFIG_SPI_INTEL_LPSS_ACPI

Are these the only configs you need? I’m asking to be sure, since we won’t be able to test these configs on the exact hardware you are developing on. Meaning we would just blindly enable these options and then you’d have to check to see if they satisfy your needs.

Best Regards,
Jeremias