[PATCH v10 RESEND 0/9] Add support for Cirrus Logic CS47L35/L85/L90/L91 codecs

From: Richard Fitzgerald
Date: Mon May 21 2018 - 05:05:36 EST


NOTE: Compared to older versions of this chain I have removed patches at the
end of the chain that were being ignored until the earlier patches had been
merged - an impossible circular dependency. There were too many moving targets
to keep the whole chain up-to-date and so patches that were already acked were
getting stale. The subset of patches here are all acked or close-to-acked, and
can be built and used as they are to produce a working pinctrl and gpio.

The Cirrus Logic CS47L35, CS47L85, CS47L90/91 codecs are complex audio SoC
devices. In addition to the core audio capability they have onboard GPIO,
regulators, DSPs and interrupt controller and a large register map space
accessed over SPI or I2C. This family of codecs is based around common IP
blocks and they are managed by a set of common drivers referred to as "Madera".

Richard Fitzgerald (9):
mfd: madera: Add register definitions for Cirrus Logic Madera codecs
mfd: madera: Add DT bindings for Cirrus Logic Madera codecs
mfd: madera: Add common support for Cirrus Logic Madera codecs
mfd: madera: Register map tables for Cirrus Logic CS47L35
mfd: madera: Register map tables for Cirrus Logic CS47L85
mfd: madera: Register map tables for Cirrus Logic CS47L90/91
pinctrl: madera: Add DT bindings for Cirrus Logic Madera codecs
pinctrl: madera: Add driver for Cirrus Logic Madera codecs
gpio: madera: Support Cirrus Logic Madera class codecs

Documentation/devicetree/bindings/mfd/madera.txt | 102 +
.../bindings/pinctrl/cirrus,madera-pinctrl.txt | 99 +
MAINTAINERS | 16 +
drivers/gpio/Kconfig | 6 +
drivers/gpio/Makefile | 1 +
drivers/gpio/gpio-madera.c | 206 +
drivers/mfd/Kconfig | 50 +
drivers/mfd/Makefile | 14 +
drivers/mfd/cs47l35-tables.c | 1609 ++++++++
drivers/mfd/cs47l85-tables.c | 3009 +++++++++++++++
drivers/mfd/cs47l90-tables.c | 2674 +++++++++++++
drivers/mfd/madera-core.c | 609 +++
drivers/mfd/madera-i2c.c | 140 +
drivers/mfd/madera-spi.c | 139 +
drivers/mfd/madera.h | 44 +
drivers/pinctrl/Kconfig | 1 +
drivers/pinctrl/Makefile | 1 +
drivers/pinctrl/cirrus/Kconfig | 14 +
drivers/pinctrl/cirrus/Makefile | 13 +
drivers/pinctrl/cirrus/pinctrl-cs47l35.c | 45 +
drivers/pinctrl/cirrus/pinctrl-cs47l85.c | 59 +
drivers/pinctrl/cirrus/pinctrl-cs47l90.c | 57 +
drivers/pinctrl/cirrus/pinctrl-madera-core.c | 1076 ++++++
drivers/pinctrl/cirrus/pinctrl-madera.h | 41 +
include/linux/mfd/madera/core.h | 187 +
include/linux/mfd/madera/pdata.h | 59 +
include/linux/mfd/madera/registers.h | 3917 ++++++++++++++++++++
27 files changed, 14188 insertions(+)
create mode 100644 Documentation/devicetree/bindings/mfd/madera.txt
create mode 100644 Documentation/devicetree/bindings/pinctrl/cirrus,madera-pinctrl.txt
create mode 100644 drivers/gpio/gpio-madera.c
create mode 100644 drivers/mfd/cs47l35-tables.c
create mode 100644 drivers/mfd/cs47l85-tables.c
create mode 100644 drivers/mfd/cs47l90-tables.c
create mode 100644 drivers/mfd/madera-core.c
create mode 100644 drivers/mfd/madera-i2c.c
create mode 100644 drivers/mfd/madera-spi.c
create mode 100644 drivers/mfd/madera.h
create mode 100644 drivers/pinctrl/cirrus/Kconfig
create mode 100644 drivers/pinctrl/cirrus/Makefile
create mode 100644 drivers/pinctrl/cirrus/pinctrl-cs47l35.c
create mode 100644 drivers/pinctrl/cirrus/pinctrl-cs47l85.c
create mode 100644 drivers/pinctrl/cirrus/pinctrl-cs47l90.c
create mode 100644 drivers/pinctrl/cirrus/pinctrl-madera-core.c
create mode 100644 drivers/pinctrl/cirrus/pinctrl-madera.h
create mode 100644 include/linux/mfd/madera/core.h
create mode 100644 include/linux/mfd/madera/pdata.h
create mode 100644 include/linux/mfd/madera/registers.h

--
2.11.0