From patchwork Wed Feb 21 16:00:34 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Manivannan Sadhasivam X-Patchwork-Id: 129090 Delivered-To: patch@linaro.org Received: by 10.46.124.24 with SMTP id x24csp781581ljc; Wed, 21 Feb 2018 08:02:37 -0800 (PST) X-Google-Smtp-Source: AH8x225I8bzGVlfyzriXDr6kM01n1wq4/jqKVwdyulO7TTfPE6TOcsd4Bfcg1r7/Uhkjzt6pJTxJ X-Received: by 2002:a17:902:bf0a:: with SMTP id bi10-v6mr3578045plb.181.1519228957579; Wed, 21 Feb 2018 08:02:37 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1519228957; cv=none; d=google.com; s=arc-20160816; b=wNfZghwmnwFz0jVNjF2Mj79mTm88KodFQZY9g+gcQEZ07YuZ0rdRZlIv/pe+6EaQwk VGb9wmDh9DygBxBmV5/IeUqWZ7x0ZooamREMwKdHuDE+hIB1IqaC0FwwM6nWBdf215n+ bakMqasuHGjjE/bib6sBYpg0bZQUbQnbE77z1eT+O2ekzQRRXzPYBEx4H2Uf+3rNjt4s VUu+oEoYjytM77bf+HrsBBiSGTZ/9+QwRW7WvgrZ56keQFpGzbRhxcXw2PHqg6IJllXC U07KQsHSxOrWjv04po5Mowfdj9jq7BqMTHZuOPHa6RHWCl0hAw6+W4xmGQiYKjE9jjFC r6IA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:message-id:date:subject:cc:to:from :dkim-signature:arc-authentication-results; bh=UwPwJLNA2yJWTgYchvDHAPGbtJKjBAfOzRniTWZDsuA=; b=sFpQ9DnxGNqoyTi1Mhq1KiCE21sdRHpJ2HYwowZU4SdzwyJHv7eT9ry10usv3YBPpf GRw+U/iIC2TJXhXqJaFtnMgAnid5oofCufyBET/B4z3UXLx77EO3Vo4RC6vt4+NaW6hX kYLsRwtzHUN3u+NEKZEgrRx+pAdfezwUNKSKbDjMyd8WZH1sssj1kBjWzH/95gPIIukM 8DkF6GSYWSvLeV6VMAK8AmQmSVX/KkQxOuU1lfKhZgyMsEOt1aT50xcWXsgoKoWsMmoA 5u1jLjB9iYgIwt6zwDvTMeB5BJcIGSCs3i0F5sAySIW1MYWi8NgLzCzU2UHDaP2LtYIB zp3Q== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=H/DlIjCm; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id j2-v6si1459796plk.264.2018.02.21.08.02.36; Wed, 21 Feb 2018 08:02:37 -0800 (PST) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=H/DlIjCm; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S966091AbeBUQCX (ORCPT + 28 others); Wed, 21 Feb 2018 11:02:23 -0500 Received: from mail-pl0-f67.google.com ([209.85.160.67]:33896 "EHLO mail-pl0-f67.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752711AbeBUQCV (ORCPT ); Wed, 21 Feb 2018 11:02:21 -0500 Received: by mail-pl0-f67.google.com with SMTP id u13so1143451plq.1 for ; Wed, 21 Feb 2018 08:02:21 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=from:to:cc:subject:date:message-id; bh=UwPwJLNA2yJWTgYchvDHAPGbtJKjBAfOzRniTWZDsuA=; b=H/DlIjCmr0efPx7PoPxS/tlMyGbglBUqLil8UWVsCT3b7tX9UZesdyxvUvPWSvH36F hPkkfpXrrxB86+88fKEuNjxsdCAY8mXlE3awLUoJfIvs/CtpF8pP2k6ksCEXUjl8WrAM 6AAw+llRMU3mdBi3G5ftzFcsKTI3prdL7lQ6E= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id; bh=UwPwJLNA2yJWTgYchvDHAPGbtJKjBAfOzRniTWZDsuA=; b=lF3PtehCO/xlenxYBl31RDEw8zjExbWRzKocWX278MsLjzd7UVFCmGANPEyh1qEmc+ NhTs9kBFRTjPOK4KGB7jz7geSSQvifzceXmdNn2Ohs5BgC87ILW4r5PXxyvQ0pwZYQH6 uMpZKX2N0Ryug+Gmm3JnSjMq72prNTbDLEEuFuafOmGmCHFz9rx7axlJ2w5xaaoBYzp8 0Pyo07uKOC1hDD6ZtifzLYsU578umphQlkF/BD2LL35RWvvOzuF7yMFYXC/KjT10pFgT 1LoXM+ueQUwSBXzgsuFsLbGsB7c/b/BNBmcdbbM7Fzq76M+gO9gRyUtqJwgpbxv8CDpR UR0A== X-Gm-Message-State: APf1xPDG9lKhGT3gzwUw9OOwwg2WAy8rFZSAAJb3iKJ37/gE0oeSNZvC /SE0w7429VG7DwNt3yT4Kg5R X-Received: by 2002:a17:902:718e:: with SMTP id b14-v6mr3685236pll.38.1519228940652; Wed, 21 Feb 2018 08:02:20 -0800 (PST) Received: from localhost.localdomain ([2405:204:7346:6848:3cb8:23ad:d761:239e]) by smtp.gmail.com with ESMTPSA id s67sm43068910pfg.104.2018.02.21.08.02.13 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Wed, 21 Feb 2018 08:02:20 -0800 (PST) From: Manivannan Sadhasivam To: linus.walleij@linaro.org, robh+dt@kernel.org, afaerber@suse.de Cc: liuwei@actions-semi.com, mp-cs@actions-semi.com, 96boards@ucrobotics.com, devicetree@vger.kernel.org, daniel.thompson@linaro.org, amit.kucheria@linaro.org, linux-arm-kernel@lists.infradead.org, linux-gpio@vger.kernel.org, linux-kernel@vger.kernel.org, hzhang@ucrobotics.com, bdong@ucrobotics.com, Manivannan Sadhasivam Subject: [PATCH v2 00/10] Add Actions Semi S900 pinctrl and gpio support Date: Wed, 21 Feb 2018 21:30:34 +0530 Message-Id: <20180221160044.15089-1-manivannan.sadhasivam@linaro.org> X-Mailer: git-send-email 2.14.1 Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org This patchset adds pinctrl and gpio support for Actions Semi S900 SoC. Pinctrl and gpio subsystems share the common set of register range but implemented as individual drivers for making it less complex. Pinmux functions are only accessible for pin groups while pinconf parameters are available for both pin groups and individual pins. gpio-line-names has been added for the Bubblegum-96 board matching the 96Boards CE specification v1.0. Both pinctrl and gpio drivers are verified using the Bubblegum-96 board. This patchset depends on the clock driver which is still under review: https://lkml.org/lkml/2018/2/9/831 There is also S500 pinctrl and gpio driver developed by Andreas Farber independently to this patchset. https://github.com/afaerber/linux/commits/bg96-next If this patchseries seems to be good enough to add base OWL pinctrl and gpio support. Then, we may decide on adding S500 support on top of this later by reusing the pinctrl definitions from Andreas. Thanks, Mani Changes in v2: * Implemented each GPIO bank as its own gpio-controller * Added gpio-ranges property * Modified pin group to follow pad names instead of register names * Incorporated review comments from Andy * Incorporated review comments from Andreas * Fixed the MODULE_LICENSE with respect to SPDX tag * Added Reviewed by tag from Rob for pinctrl binding Manivannan Sadhasivam (10): dt-bindings: pinctrl: Add bindings for Actions S900 SoC arm64: dts: actions: Add pinctrl node for S900 arm64: actions: Enable PINCTRL in platforms Kconfig pinctrl: actions: Add Actions S900 pinctrl driver dt-bindings: gpio: Add gpio nodes for Actions S900 SoC arm64: dts: actions: Add S900 gpio nodes arm64: dts: actions: Add gpio line names to Bubblegum-96 board gpio: Add gpio driver for Actions OWL S900 SoC MAINTAINERS: Add reviewer for ACTIONS platforms MAINTAINERS: Add Actions Semi S900 pinctrl and gpio entries .../devicetree/bindings/gpio/actions,owl-gpio.txt | 76 + .../bindings/pinctrl/actions,s900-pinctrl.txt | 178 ++ MAINTAINERS | 5 + arch/arm64/Kconfig.platforms | 1 + arch/arm64/boot/dts/actions/s900-bubblegum-96.dts | 201 ++ arch/arm64/boot/dts/actions/s900.dtsi | 54 + drivers/gpio/Kconfig | 8 + drivers/gpio/Makefile | 1 + drivers/gpio/gpio-owl.c | 219 ++ drivers/pinctrl/Kconfig | 1 + drivers/pinctrl/Makefile | 1 + drivers/pinctrl/actions/Kconfig | 12 + drivers/pinctrl/actions/Makefile | 2 + drivers/pinctrl/actions/pinctrl-owl.c | 571 +++++ drivers/pinctrl/actions/pinctrl-owl.h | 178 ++ drivers/pinctrl/actions/pinctrl-s900.c | 2505 ++++++++++++++++++++ 16 files changed, 4013 insertions(+) create mode 100644 Documentation/devicetree/bindings/gpio/actions,owl-gpio.txt create mode 100644 Documentation/devicetree/bindings/pinctrl/actions,s900-pinctrl.txt create mode 100644 drivers/gpio/gpio-owl.c create mode 100644 drivers/pinctrl/actions/Kconfig create mode 100644 drivers/pinctrl/actions/Makefile create mode 100644 drivers/pinctrl/actions/pinctrl-owl.c create mode 100644 drivers/pinctrl/actions/pinctrl-owl.h create mode 100644 drivers/pinctrl/actions/pinctrl-s900.c -- 2.14.1