Serge van Ginderachter 1db49122c5
feat: add gpio-pinctrl extension for Intel Apollo Lake platforms
This extension provides pinctrl-intel and pinctrl-broxton kernel modules
for GPIO access on Intel Apollo Lake platforms (INT3452 ACPI device).

Signed-off-by: Serge van Ginderachter <serge@autops.eu>
Signed-off-by: Andrey Smirnov <andrey.smirnov@siderolabs.com>
2025-12-01 13:02:56 +04:00
..

gpio-pinctrl extension

This extension provides Intel GPIO/Pinctrl drivers for Apollo Lake platforms.

Installation

See Installing Extensions.

Included Modules

  • pinctrl-intel - Intel pinctrl core driver
  • pinctrl-broxton - Intel Apollo Lake (Broxton) pinctrl driver

Usage

Enable the modules in your machine configuration:

machine:
  kernel:
    modules:
      - name: pinctrl-intel
      - name: pinctrl-broxton

Verification

Check that modules are loaded:

talosctl -n <node-ip> read /proc/modules | grep pinctrl

Expected output:

pinctrl_broxton 24576 0 - Live 0x...
pinctrl_intel 40960 1 pinctrl_broxton, Live 0x...

Verify GPIO devices are available:

talosctl -n <node-ip> ls -la /dev/gpiochip*

Check dmesg for driver initialization:

talosctl -n <node-ip> dmesg | grep -i 'pinctrl.*INT3452'

Testing with libgpiod

From a privileged pod with /dev mounted:

gpiodetect
gpioinfo

Troubleshooting

Module not loading

Ensure the extension is properly installed and the modules are listed in your machine config.

No /dev/gpiochip* devices

Verify Talos is running a kernel built with CONFIG_GPIO_CDEV=y. Check dmesg for pinctrl driver initialization messages.

ABI/signature errors

Ensure the extension was built against the same kernel version as your Talos installation.