From patchwork Tue Mar 13 13:18:55 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Richard Fitzgerald X-Patchwork-Id: 885121 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=none (mailfrom) smtp.mailfrom=vger.kernel.org (client-ip=209.132.180.67; helo=vger.kernel.org; envelope-from=linux-gpio-owner@vger.kernel.org; receiver=) Authentication-Results: ozlabs.org; dmarc=none (p=none dis=none) header.from=opensource.cirrus.com Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by ozlabs.org (Postfix) with ESMTP id 400wXd6BvDz9sT8 for ; Wed, 14 Mar 2018 00:23:29 +1100 (AEDT) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752630AbeCMNXD (ORCPT ); Tue, 13 Mar 2018 09:23:03 -0400 Received: from mx0b-001ae601.pphosted.com ([67.231.152.168]:47676 "EHLO mx0b-001ae601.pphosted.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752370AbeCMNTS (ORCPT ); Tue, 13 Mar 2018 09:19:18 -0400 Received: from pps.filterd (m0077474.ppops.net [127.0.0.1]) by mx0b-001ae601.pphosted.com (8.16.0.22/8.16.0.22) with SMTP id w2DDE76O024928; Tue, 13 Mar 2018 08:19:14 -0500 Authentication-Results: ppops.net; spf=none smtp.mailfrom=rf@opensource.cirrus.com Received: from mail3.cirrus.com ([87.246.76.56]) by mx0b-001ae601.pphosted.com with ESMTP id 2gmcnu3kbg-1; Tue, 13 Mar 2018 08:19:14 -0500 Received: from EX17.ad.cirrus.com (ex17.ad.cirrus.com [172.20.9.81]) by mail3.cirrus.com (Postfix) with ESMTP id 41C32611CE79; Tue, 13 Mar 2018 08:23:55 -0500 (CDT) Received: from imbe.wolfsonmicro.main (198.61.95.81) by EX17.ad.cirrus.com (172.20.9.81) with Microsoft SMTP Server id 14.3.301.0; Tue, 13 Mar 2018 13:19:13 +0000 Received: from edi-sw-dsktp006.ad.cirrus.com (edi-sw-dsktp006.ad.cirrus.com [198.90.251.121]) by imbe.wolfsonmicro.main (8.14.4/8.14.4) with ESMTP id w2DDJ46F032577; Tue, 13 Mar 2018 13:19:04 GMT From: Richard Fitzgerald To: , , , CC: , , , Subject: [PATCH v9 0/9] Add support for Cirrus Logic CS47L35/L85/L90/L91 codecs Date: Tue, 13 Mar 2018 13:18:55 +0000 Message-ID: <20180313131904.13700-1-rf@opensource.cirrus.com> X-Mailer: git-send-email 2.11.0 MIME-Version: 1.0 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 priorityscore=1501 malwarescore=0 suspectscore=0 phishscore=0 bulkscore=0 spamscore=0 clxscore=1015 lowpriorityscore=0 mlxscore=0 impostorscore=0 mlxlogscore=534 adultscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.0.1-1711220000 definitions=main-1803130157 Sender: linux-gpio-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-gpio@vger.kernel.org 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 | 600 +++ drivers/mfd/madera-i2c.c | 139 + drivers/mfd/madera-spi.c | 138 + drivers/mfd/madera.h | 44 + drivers/pinctrl/Kconfig | 1 + drivers/pinctrl/Makefile | 1 + drivers/pinctrl/cirrus/Kconfig | 15 + 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 | 1074 ++++++ drivers/pinctrl/cirrus/pinctrl-madera.h | 41 + include/linux/mfd/madera/core.h | 187 + include/linux/mfd/madera/pdata.h | 63 + include/linux/mfd/madera/registers.h | 3917 ++++++++++++++++++++ 27 files changed, 14180 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