irqchip: Add driver for Cirrus Logic Madera codecs
authorRichard Fitzgerald <rf@opensource.wolfsonmicro.com>
Wed, 5 Apr 2017 10:07:56 +0000 (11:07 +0100)
committerCosmin Tanislav <demonsingur@gmail.com>
Mon, 22 Apr 2024 17:22:26 +0000 (20:22 +0300)
commit5143f4c0f1c2c880a653a18993b646e1da7cd627
treee2f44f67bd4b9e20568b15739e2389aee98b5d26
parent8b574177225420e05e9c19a9549e67614163d5bb
irqchip: Add driver for Cirrus Logic Madera codecs

The Cirrus Logic Madera codecs (Cirrus Logic CS47L35/85/90/91 and WM1840)
are highly complex devices containing up to 7 programmable DSPs and many
other internal sources of interrupts plus a number of GPIOs that can be
used as interrupt inputs. The large number (>150) of internal interrupt
sources are managed by an on-board interrupt controller.

This driver provides the handling for the interrupt controller. As the
codec is accessed via regmap, we can make use of the generic IRQ
functionality from regmap to do most of the work. Only around half of
the possible interrupt source are currently of interest from the driver
so only this subset is defined. Others can be added in future if needed.

The KConfig options are not user-configurable because this driver is
mandatory so is automatically included when the parent MFD driver is
selected.

Change-Id: Ia6e8581e963368f63fb8b6528236248eeccb47da
Signed-off-by: Richard Fitzgerald <rf@opensource.wolfsonmicro.com>
Signed-off-by: Charles Keepax <ckeepax@opensource.wolfsonmicro.com>
MAINTAINERS
drivers/irqchip/Kconfig
drivers/irqchip/Makefile
drivers/irqchip/irq-madera.c [new file with mode: 0644]
include/linux/irqchip/irq-madera-pdata.h [new file with mode: 0644]
include/linux/irqchip/irq-madera.h [new file with mode: 0644]