File tree Expand file tree Collapse file tree 8 files changed +128
-2
lines changed Expand file tree Collapse file tree 8 files changed +128
-2
lines changed Original file line number Diff line number Diff line change 11# THIS FILE WAS AUTOMATICALLY GENERATED, PLEASE DO NOT EDIT.
22#
3- # Generated on 2024-08-29T14:13:04Z by kres b5ca957 .
3+ # Generated on 2025-11-25T14:31:25Z by kres e1d6dac .
44
55*
66! CHANGELOG.md
77! MAINTAINERS.md
88! README.md
9+ ! gpio-extension-implementation.md
910! pkg.yaml
Original file line number Diff line number Diff line change 1919 - ecr-credential-provider
2020 - fuse3
2121 - gasket-driver
22+ - gpio-pinctrl
2223 - glibc
2324 - gvisor
2425 - gvisor-debug
Original file line number Diff line number Diff line change 11# THIS FILE WAS AUTOMATICALLY GENERATED, PLEASE DO NOT EDIT.
22#
3- # Generated on 2025-11-15T05 :31:19Z by kres e1d6dac.
3+ # Generated on 2025-11-25T14 :31:25Z by kres e1d6dac.
44
55# common variables
66
@@ -76,6 +76,7 @@ TARGETS += dvb-m88ds3103
7676TARGETS += ecr-credential-provider
7777TARGETS += fuse3
7878TARGETS += gasket-driver
79+ TARGETS += gpio-pinctrl
7980TARGETS += glibc
8081TARGETS += gvisor
8182TARGETS += gvisor-debug
Original file line number Diff line number Diff line change 1+ # gpio-pinctrl extension
2+
3+ This extension provides Intel GPIO/Pinctrl drivers for Apollo Lake platforms.
4+
5+ ## Installation
6+
7+ See [ Installing Extensions] ( https://github.com/siderolabs/extensions#installing-extensions ) .
8+
9+ ## Included Modules
10+
11+ - ` pinctrl-intel ` - Intel pinctrl core driver
12+ - ` pinctrl-broxton ` - Intel Apollo Lake (Broxton) pinctrl driver
13+
14+ ## Usage
15+
16+ Enable the modules in your machine configuration:
17+
18+ ``` yaml
19+ machine :
20+ kernel :
21+ modules :
22+ - name : pinctrl-intel
23+ - name : pinctrl-broxton
24+ ` ` `
25+
26+ ## Verification
27+
28+ Check that modules are loaded:
29+
30+ ` ` ` bash
31+ talosctl -n <node-ip> read /proc/modules | grep pinctrl
32+ ```
33+
34+ Expected output:
35+ ```
36+ pinctrl_broxton 24576 0 - Live 0x...
37+ pinctrl_intel 40960 1 pinctrl_broxton, Live 0x...
38+ ```
39+
40+ Verify GPIO devices are available:
41+
42+ ``` bash
43+ talosctl -n < node-ip> ls -la /dev/gpiochip*
44+ ```
45+
46+ Check dmesg for driver initialization:
47+
48+ ``` bash
49+ talosctl -n < node-ip> dmesg | grep -i ' pinctrl.*INT3452'
50+ ```
51+
52+ ## Testing with libgpiod
53+
54+ From a privileged pod with ` /dev ` mounted:
55+
56+ ``` bash
57+ gpiodetect
58+ gpioinfo
59+ ```
60+
61+ ## Troubleshooting
62+
63+ ### Module not loading
64+
65+ Ensure the extension is properly installed and the modules are listed in your machine config.
66+
67+ ### No /dev/gpiochip* devices
68+
69+ Verify Talos is running a kernel built with ` CONFIG_GPIO_CDEV=y ` . Check dmesg for pinctrl driver initialization messages.
70+
71+ ### ABI/signature errors
72+
73+ Ensure the extension was built against the same kernel version as your Talos installation.
Original file line number Diff line number Diff line change 1+ modules.order
2+ modules.builtin
3+ modules.builtin.modinfo
4+ kernel/drivers/pinctrl/intel/pinctrl-intel.ko
5+ kernel/drivers/pinctrl/intel/pinctrl-broxton.ko
Original file line number Diff line number Diff line change 1+ version: v1alpha1
2+ metadata:
3+ name: gpio-pinctrl
4+ version: "{{ .VERSION }}"
5+ author: autops
6+ description: |
7+ [{{ .TIER }}] Intel Apollo Lake GPIO/Pinctrl drivers.
8+ Provides pinctrl-intel and pinctrl-broxton kernel modules for GPIO access
9+ on Intel Apollo Lake platforms (INT3452 ACPI device).
10+ compatibility:
11+ talos:
12+ version: ">= v1.11.0"
Original file line number Diff line number Diff line change 1+ name : gpio-pinctrl
2+ variant : scratch
3+ shell : /bin/bash
4+ dependencies :
5+ - stage : base
6+ # The pkgs version for a particular release of Talos as defined in
7+ # https://github.com/siderolabs/talos/blob/<talos version>/pkg/machinery/gendata/data/pkgs
8+ - image : " {{ .BUILD_ARG_PKGS_PREFIX }}/kernel:{{ .BUILD_ARG_PKGS }}"
9+ steps :
10+ - install :
11+ - |
12+ export KERNELRELEASE=$(find /usr/lib/modules -type d -name "*-talos" -exec basename {} \+)
13+
14+ mkdir -p /rootfs
15+
16+ xargs -a /pkg/files/modules.txt -I {} install -D /usr/lib/modules/${KERNELRELEASE}/{} /rootfs/usr/lib/modules/${KERNELRELEASE}/{}
17+ depmod -b /rootfs/usr ${KERNELRELEASE}
18+ - test :
19+ - |
20+ # https://www.kernel.org/doc/html/v4.15/admin-guide/module-signing.html#signed-modules-and-stripping
21+ find /rootfs/usr/lib/modules -name '*.ko' -exec grep -FL '~Module signature appended~' {} \+
22+ - |
23+ mkdir -p /extensions-validator-rootfs
24+ cp -r /rootfs/ /extensions-validator-rootfs/rootfs
25+ cp /pkg/manifest.yaml /extensions-validator-rootfs/manifest.yaml
26+ /extensions-validator validate --rootfs=/extensions-validator-rootfs --pkg-name="${PKG_NAME}"
27+ finalize :
28+ - from : /rootfs
29+ to : /rootfs
30+ - from : /pkg/manifest.yaml
31+ to : /
Original file line number Diff line number Diff line change 1+ VERSION : " {{ .BUILD_ARG_TAG }}"
2+ TIER : " extra"
You can’t perform that action at this time.
0 commit comments