From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S932165AbcELMde (ORCPT ); Thu, 12 May 2016 08:33:34 -0400 Received: from hqemgate15.nvidia.com ([216.228.121.64]:6189 "EHLO hqemgate15.nvidia.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751713AbcELMdd (ORCPT ); Thu, 12 May 2016 08:33:33 -0400 X-PGP-Universal: processed; by hqnvupgp07.nvidia.com on Thu, 12 May 2016 05:31:50 -0700 From: Laxman Dewangan To: , , , CC: , , , , Laxman Dewangan Subject: [PATCH V5 0/3] soc/tegra: Add support for IO pads power and voltage control Date: Thu, 12 May 2016 17:51:43 +0530 Message-ID: <1463055706-17744-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 The IO pins of Tegra SoCs are grouped for common control of IO interface like setting voltage signal levels and power state of the interface. The group is generally referred as IO pads. The power state and voltage control of IO pins can be done at IO pads level. Tegra124 onwards IO pads support the power down state when system is active. The voltage levels on IO pads are auto detected on Tegra124/ Tegra132 but it is not in Tegra210. For Tegra210, the SW need to explicitly configure the voltage levels of IO pads This series add the interface for the IO pad power state and voltage configurations. Modifies the client to use new APIs. Register the child devices to provide the client interface to configure IO pads power state and voltage from Device tree. --- Changes from V2: - Drop the pinctrl driver from series till pmc interfce is finalise. - Move client to use the new APIs. - Remove older APIs to configure IO rail and related macros. Changes from V3: - keep value to be unsigned long in the dpd_prepare. - Make all pad_id/io_pad_id to id. - tegra_io_pad_ -> tegra_io_pads - dpd_bit -> bit, pwr_mask/bit to mask/bit. - Rename function to tegra_io_pads_{set,get}_voltage_config - Make the io pad tables common for all SoC. - Make io_pads enums. - Add enums for voltage. - Drop patch of adding sub devs Changes from V4: - Change IO_PAD to IO_PADS. - Change enum for voltage config Laxman Dewangan (3): soc/tegra: pmc: Use BIT macro for register field definition soc/tegra: pmc: Correct type of variable for tegra_pmc_readl() soc/tegra: pmc: Add support for IO pads power state and voltage drivers/gpu/drm/tegra/sor.c | 8 +- drivers/soc/tegra/pmc.c | 273 +++++++++++++++++++++++++++++++++++--------- include/soc/tegra/pmc.h | 132 +++++++++++++++------ 3 files changed, 321 insertions(+), 92 deletions(-) -- 2.1.4