aboutsummaryrefslogtreecommitdiff
path: root/sys/modules/gpio
Commit message (Collapse)AuthorAgeFilesLines
* sys/modules: fix standalone build for multiple modulesShengYi Hung2025-08-231-0/+2
| | | | | | | | | Multiple Makefile miss opt_*.h and *_if.h header file. We fix it by running make in sys/modules to build all modules. Approved by: lwhsu (mentor), markj (mentor) Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D52062
* modules: gpioaei: Fix arm64.LINT-FDT breakageRavi Pokala2024-11-021-0/+1
| | | | | | 'acpi_if.h' was accidentally omitted from the module Makefile; add it. Fixes: 9709bda03cd0
* modules: gpioaei only on ACPI-supporting archsColin Percival2024-10-311-1/+5
| | | | | | Fixes: 9709bda03cd0 ("GPIO: Add ACPI _AEI support") Pointy-hat to: cperciva Sponsored by: Amazon
* GPIO: Add ACPI _AEI supportColin Percival2024-10-312-1/+15
| | | | | | | | | | | | | | | | | | | Changes to acpi_gpiobus.c handle discovering and parsing the _AEI objects and storing necessary data in device ivars. A new gpioaei.c file implements the device, which simply requests an interrupt when the pin is triggered and invokes the appropriate _Exx or _Lxx ACPI method. This makes the GPIO "power button" work on arm64 Graviton systems, allowing EC2 "Stop"/"Reboot" instance calls to be handled cleanly. (Prior to this change, those requests would time out after 4 minutes and the instance would be forcibly killed.) Reviwed by: imp, andrew, Ahmad Khalifa MFC after: 3 days Sponsored by: Amazon Differential Revision: https://reviews.freebsd.org/D47253 Co-authored-by: Andrew Turner <andrew@FreeBSD.org>
* gpiobus(4): Add an acpi variant of gpiobusAhmad Khalifa2024-09-141-0/+3
| | | | | | | | | This currently only implements the address space handler and attempts to configure pins with flags obtained from ACPI. Reviewed by: wulf MFC after: 1 month Pull Request: https://github.com/freebsd/freebsd-src/pull/1359
* sys: Remove $FreeBSD$: one-line sh patternWarner Losh2023-08-168-8/+0
| | | | Remove /^\s*#[#!]?\s*\$FreeBSD\$.*$\n/
* Fix some modules to export more used symbolsKonstantin Belousov2021-11-181-0/+2
| | | | | | | | | and remove non-present symbols that are now reported by kmod_syms.awk. Reviewed by: emaste Sponsored by: The FreeBSD Foundation MFC after: 1 week Differential revision: https://reviews.freebsd.org/D32878
* Add module build stuff for gpioths(4), a driver for DHT11/DHT22 sensors.Ian Lepore2019-12-072-1/+20
| | | | Notes: svn path=/head/; revision=355499
* Add missing file to gpiobus moduleJustin Hibbits2018-01-071-0/+4
| | | | | | | | | ofw_gpiobus.c is needed when FDT is used. MFC after: 2 weeks Notes: svn path=/head/; revision=327681
* sys/modules: normalize .CURDIR-relative paths to SRCTOPEnji Cooper2017-03-046-12/+12
| | | | | | | | | | | This simplifies make output/logic Tested with: `cd sys/modules; make ALL_MODULES=` on amd64 MFC after: 1 month Sponsored by: Dell EMC Isilon Notes: svn path=/head/; revision=314651
* Refactor FDT part of gpioled driverOleksandr Tymoshenko2016-11-071-0/+4
| | | | | | | | | | | | - Split driver in two parts: FDT and non-FDT - Instead of reattach gpioled nodes to GPIO bus use gpio_pin_get_by_ofw_idx and add ofwbus and simplebus as parrent buses Reviewed by: loos Differential Revision: https://reviews.freebsd.org/D8233 Notes: svn path=/head/; revision=308428
* - Add required header for fixing `make` in sys/modules/gpioLi-Wen Hsu2016-10-211-1/+1
| | | | | | | | Reviewed by: imp, loos Differential Revision: https://reviews.freebsd.org/D7815 Notes: svn path=/head/; revision=307698
* Add gpiokeys to the list of GPIO modules built only if FDT is enabledOleksandr Tymoshenko2016-05-281-1/+1
| | | | Notes: svn path=/head/; revision=300894
* When building modules, define make variable OPT_FDT if the kernel configIan Lepore2016-05-271-1/+5
| | | | | | | | | | | | includes the FDT option. Use OPT_FDT to conditionally compile modules that require FDT support. In the past we've gotten away with using the arch name as a proxy for FDT support in makefile conditional logic, but now mips has some platforms with fdt support and some without and we need a more direct test. Notes: svn path=/head/; revision=300855
* Fix parallel builds by specifying *all* required headers in SRCS.Ian Lepore2016-05-275-5/+5
| | | | | | | | Submitted by: manu Pointy hat: ian Notes: svn path=/head/; revision=300823
* [gpio] add gpiospi to the gpio module.Adrian Chadd2016-05-271-1/+1
| | | | Notes: svn path=/head/; revision=300818
* Add a PPS driver that takes the timing pulse from a gpio pin. CurrentlyIan Lepore2016-05-262-1/+41
| | | | | | | | supports only ofw/fdt systems. Some day, hinted attachment for non-fdt systems should be possible too. Notes: svn path=/head/; revision=300811
* [gpiospi] add initial gpio SPI bit bang driver.Adrian Chadd2016-05-261-0/+41
| | | | | | | | Submitted by: ray Obtained from: zrouter Notes: svn path=/head/; revision=300715
* Revert r299739. That did not make it better.Bjoern A. Zeeb2016-05-142-2/+2
| | | | | | | | Instead disconnect gpiokeys from the build until it's fixed and buildable; the SUBDIR list was not ordered properly anyway ;-) Notes: svn path=/head/; revision=299740
* Blind long shot. Add ofw_gpiobus.c to the SRCS list in the hope toBjoern A. Zeeb2016-05-141-1/+1
| | | | | | | make the remaining MIPS kernels compile which set MODULES_OVERRIDE="gpio..." Notes: svn path=/head/; revision=299739
* Add loadable module for gpiokeysOleksandr Tymoshenko2016-05-122-1/+15
| | | | Notes: svn path=/head/; revision=299568
* Fix the build of gpiobus as a module.Luiz Otavio O Souza2015-08-171-2/+3
| | | | | | | | | | Add the missing newbus interfaces and gpioc, which is part of basic gpiobus framework. Sponsored by: Rubicon Communications (Netgate) Notes: svn path=/head/; revision=286846
* Inspired by r262522, fix make depend. This fixes the build of gpio modules.Luiz Otavio O Souza2014-02-273-2/+3
| | | | | | | Approved by: adrian (mentor) Notes: svn path=/head/; revision=262559
* Allow building the GPIO bus and associated bits as modules.Adrian Chadd2012-01-154-0/+150
This is primarily done to save a few bytes here and there on embedded systems with limited flash space for kernels - a very limited (sub-1MB) space may be available for the kernel and may only support gzip encoding. The rootfs can be LZMA compressed. Notes: svn path=/head/; revision=230150