Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1757144AbcKXIzz (ORCPT ); Thu, 24 Nov 2016 03:55:55 -0500 Received: from hqemgate14.nvidia.com ([216.228.121.143]:1536 "EHLO hqemgate14.nvidia.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1755878AbcKXIzx (ORCPT ); Thu, 24 Nov 2016 03:55:53 -0500 X-PGP-Universal: processed; by hqpgpgate101.nvidia.com on Thu, 24 Nov 2016 00:55:50 -0800 From: Laxman Dewangan To: , , , , , , , CC: , , , , , Laxman Dewangan Subject: [PATCH V4 0/2] pinctrl: tegra: Add support for IO pad control Date: Thu, 24 Nov 2016 14:08:52 +0530 Message-ID: <1479976734-30498-1-git-send-email-ldewangan@nvidia.com> X-Mailer: git-send-email 2.1.4 MIME-Version: 1.0 Content-Type: text/plain Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 1924 Lines: 49 NVIDIA Tegra124 and later SoCs support the multi-voltage level and low power state of some of its IO pads. The IO pads can work in the voltage of the 1.8V and 3.3V of IO power rail sources. When IO interface are not used then IO pads can be configure in low power state to reduce the power from that IO pads. This series add the support of configuration of IO pad via pinctrl framework. The io pad driver uses the tegra PMC interface. --- This driver was sent earlier for review along with soc/tegra pmc changes. During review, decided to first conclude in soc/tegra pmc patches and then review this. Thierry applied the pmc patches in the private tree https://github.com/thierryreding/linux/tree/tegra186 and he wanted to have the patches for user of the new APIs so that it can be pushed to mainline. Sending the pinctrl driver. This needs Ack/reviewed from pinctrl subsystem i.e. Linus Welleij to apply in the Thierry's T186 branch along with PMC patches. --- Changes from V1: - use the regulator framework to get the IO voltage instead of table from DT. The regulator handle is provided from DT. Changes from V2: - Nit fixes and variable/allocation optimisation as per review comment from V2. Changes from V3: Use devm_regulator_get() instead of devm_regulator_get_optional(). Laxman Dewangan (2): pinctrl: tegra: Add DT binding for io pads control pinctrl: tegra: Add driver to configure voltage and power of io pads .../bindings/pinctrl/nvidia,tegra-io-pad.txt | 126 +++++ drivers/pinctrl/tegra/Kconfig | 12 + drivers/pinctrl/tegra/Makefile | 1 + drivers/pinctrl/tegra/pinctrl-tegra-io-pad.c | 530 +++++++++++++++++++++ 4 files changed, 669 insertions(+) create mode 100644 Documentation/devicetree/bindings/pinctrl/nvidia,tegra-io-pad.txt create mode 100644 drivers/pinctrl/tegra/pinctrl-tegra-io-pad.c -- 2.1.4