HomeFreeBSD

qoriq_gpio: Implement interrupt controller functionality

Description

qoriq_gpio: Implement interrupt controller functionality

The pic_* interface was used.
Only edge interrupts are supported by this controller.
Driver mutex had to be converted to a spin lock so that it can
be used in the interrupt filter context.
Two types of intr_map_data are supported - INTR_MAP_DATA_GPIO and
INTR_MAP_DATA_FDT. This way interrupts can be allocated using the
userspace gpio interrupt allocation method, as well as directly from
simplebus. The latter can be used by devices that have its irq routed
to a GPIO pin.

Obtained from: Semihalf
Sponsored by: Alstom Group
Differential revision: https://reviews.freebsd.org/D32587

Details

Provenance
kdAuthored on Sep 28 2021, 3:09 PM
wmaCommitted on Oct 29 2021, 8:08 AM
Differential Revision
D32587: qoriq_gpio: Add support for driver inheritance
Parents
rGd88aecce69c8: felix: Add a sysctl to control timer routine frequency
Branches
Unknown
Tags
Unknown
Reverted By
rG680920237bdd: Revert "qoriq_gpio: Implement interrupt controller functionality"