Skip to content

gpio: add generic Intel GPIO pin controller framework#2205

Open
ckoehne wants to merge 3 commits into
freebsd:mainfrom
Beckhoff:phab/corvink/YannickV/gpio
Open

gpio: add generic Intel GPIO pin controller framework#2205
ckoehne wants to merge 3 commits into
freebsd:mainfrom
Beckhoff:phab/corvink/YannickV/gpio

Conversation

@ckoehne
Copy link
Copy Markdown
Member

@ckoehne ckoehne commented May 18, 2026

Add a platform-independent driver framework for Intel GPIO pin controllers
found on modern Intel SoCs. The driver accesses GPIO pad registers through
ACPI-provided memory-mapped resources and implements the gpio interface [1]
including pin enumeration, capability reporting, configuration, and
read/write/toggle operations. A common data model of communities and pad groups
allows individual SoC-specific drivers to supply their own pad tables and ACPI
hardware IDs while sharing all register-level logic.

[1] https://wiki.freebsd.org/GPIO

@ckoehne ckoehne requested review from VexedUXR and bsdjhb May 18, 2026 13:55
@ckoehne
Copy link
Copy Markdown
Member Author

ckoehne commented May 18, 2026

@bsdjhb @VexedUXR I'm not sure if you're able to review this. However, I've found you a few times in the git history of dev/gpio.

Copy link
Copy Markdown
Member

@VexedUXR VexedUXR left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I did a quick pass and commented on some things that stood out to me. I'll take a more in-depth look once I have the time.

Thanks.

Comment thread sys/modules/Makefile Outdated
Comment thread sys/dev/gpio/intel/intelgpio.h Outdated
Comment thread sys/dev/gpio/intel/intelgpio.c Outdated
Comment thread sys/dev/gpio/intel/adlngpio.c
Comment thread sys/dev/gpio/intel/tglhgpio.c Outdated
@VexedUXR VexedUXR requested a review from zxombie May 18, 2026 19:47
@VexedUXR
Copy link
Copy Markdown
Member

Also CC @strejda can't seem to add you to the review.

Add a platform-independent driver framework for Intel GPIO pin controllers
found on modern Intel SoCs. The driver accesses GPIO pad registers through
ACPI-provided memory-mapped resources and implements the gpio interface [1]
including pin enumeration, capability reporting, configuration, and
read/write/toggle operations. A common data model of communities and pad groups
allows individual SoC-specific drivers to supply their own pad tables and ACPI
hardware IDs while sharing all register-level logic.

[1] https://wiki.freebsd.org/GPIO

Signed-off-by: YannickV <Y.Vossen@beckhoff.com>
@ckoehne ckoehne force-pushed the phab/corvink/YannickV/gpio branch from 428f030 to 976413a Compare May 19, 2026 08:28
YannickV added 2 commits May 19, 2026 13:41
Add a GPIO driver for the Intel Alder Lake-N platform based on the generic
intelgpio framework. The driver provides pad group definitions for four GPIO
communities covering groups GPP_A through GPP_T, vGPIO and HVCMOS, and matches
ACPI hardware IDs INTC1056, INTC1057 and INTC1085. The kernel module build
infrastructure and the wiring into files.x86 are included.

Signed-off-by: YannickV <Y.Vossen@beckhoff.com>
Add a GPIO driver for the Intel Tiger Lake-H platform based on the generic
intelgpio framework. The driver defines five GPIO communities with pad groups
GPP_A through GPP_K, vGPIO and JTAG, and matches ACPI hardware ID INT34C6.
The kernel module build infrastructure and the wiring into files.x86 are
included.

Signed-off-by: YannickV <Y.Vossen@beckhoff.com>
@ckoehne ckoehne force-pushed the phab/corvink/YannickV/gpio branch from 976413a to 6b5e2c1 Compare May 19, 2026 11:42
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants