Received: by 2002:a25:ab43:0:0:0:0:0 with SMTP id u61csp3457226ybi; Tue, 18 Jun 2019 00:49:29 -0700 (PDT) X-Google-Smtp-Source: APXvYqwGt4fBE7MfTGwl4LE4QjZ3nM86qSJN99phdKug/Ef5xkqzaOyXq9x6G/gd9V7ncBIXfqVG X-Received: by 2002:a65:5945:: with SMTP id g5mr1414605pgu.169.1560844169488; Tue, 18 Jun 2019 00:49:29 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1560844169; cv=none; d=google.com; s=arc-20160816; b=MwspKyWW0jb512yeAMpqv0Ld40L8S4VJP1+4yDLLdP9wzvs7LgkZgRvHX+sVf/qj6I ZBu8Tf4o95xCVZsaoytkwpgvZ62tYjFMbPj0xxX6GPFsPwwpI7eBOCNd8Gn+JE1uAS2M 2FQKG8idZdOLJ2uhXj7ajMhRF13IKXck15GKydzS6fXKRnkQYLBkb8oju94oOpUHhP0N i6E0JBWeBJrw3WaC/ZurFsWyNwhC+oONhivTlCG1nV0VhnG/5Yj/vWTaHsiY2XRYgFRj zyFUI4Cc6NcLv0ZDPSnXPRDhsydU7kSTaAqF3SUXs62ieGDNfieZRRMEyc/BXzHGJiWe tqxQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:dkim-signature:mime-version:message-id :date:subject:cc:to:from; bh=MwvRLxgw/Ex+WgwWlRPTWg792Ydrvex5zgIQoYyWuCY=; b=SfecYXSIfBGz/eC3Rl8kQwklDGitYnHeKFop3nDhEMZ1oDDtqYii9/ff8jWe9y30Gk qCkK6Q5QUO7Jai6gUzv7uSVPxXONI4SV+L0dzRsrQN+7G1JYMgsyfTtDlyJ3g1YWxRRx fnfdJIw0l7fwlwWL60yngw0NbT3ygRSCWUKtjQRPSdLnFfdBgC1t+o1c9xw2XZlm/4Nz CLCJChtniVhHHJG7w/gVRXMLBAfafNYYZ6KRZRTUgdQaaJSpYXxIFVJvbSZTueDS1um4 AW24Bh6Uqt95dOJaaJiF0SgSxJHMc+htkSh50sEbeZbsuZs0V9bDsd72guHUa5OXVgbf bIvQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@nvidia.com header.s=n1 header.b=c2n0y9rs; 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=nvidia.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id 37si12699651pld.231.2019.06.18.00.49.14; Tue, 18 Jun 2019 00:49:29 -0700 (PDT) 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=@nvidia.com header.s=n1 header.b=c2n0y9rs; 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=nvidia.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1726403AbfFRHqi (ORCPT + 99 others); Tue, 18 Jun 2019 03:46:38 -0400 Received: from hqemgate15.nvidia.com ([216.228.121.64]:19625 "EHLO hqemgate15.nvidia.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1725870AbfFRHqi (ORCPT ); Tue, 18 Jun 2019 03:46:38 -0400 Received: from hqpgpgate101.nvidia.com (Not Verified[216.228.121.13]) by hqemgate15.nvidia.com (using TLS: TLSv1.2, DES-CBC3-SHA) id ; Tue, 18 Jun 2019 00:46:36 -0700 Received: from hqmail.nvidia.com ([172.20.161.6]) by hqpgpgate101.nvidia.com (PGP Universal service); Tue, 18 Jun 2019 00:46:35 -0700 X-PGP-Universal: processed; by hqpgpgate101.nvidia.com on Tue, 18 Jun 2019 00:46:35 -0700 Received: from HQMAIL104.nvidia.com (172.18.146.11) by HQMAIL106.nvidia.com (172.18.146.12) with Microsoft SMTP Server (TLS) id 15.0.1473.3; Tue, 18 Jun 2019 07:46:35 +0000 Received: from hqnvemgw02.nvidia.com (172.16.227.111) by HQMAIL104.nvidia.com (172.18.146.11) with Microsoft SMTP Server (TLS) id 15.0.1473.3 via Frontend Transport; Tue, 18 Jun 2019 07:46:35 +0000 Received: from skomatineni-linux.nvidia.com (Not Verified[10.2.168.217]) by hqnvemgw02.nvidia.com with Trustwave SEG (v7,5,8,10121) id ; Tue, 18 Jun 2019 00:46:35 -0700 From: Sowjanya Komatineni To: , , , , , , , CC: , , , , , , , , , , , , , , , Subject: [PATCH V3 00/17] SC7 entry and exit support for Tegra210 Date: Tue, 18 Jun 2019 00:46:14 -0700 Message-ID: <1560843991-24123-1-git-send-email-skomatineni@nvidia.com> X-Mailer: git-send-email 2.7.4 X-NVConfidentiality: public MIME-Version: 1.0 Content-Type: text/plain DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=nvidia.com; s=n1; t=1560843996; bh=MwvRLxgw/Ex+WgwWlRPTWg792Ydrvex5zgIQoYyWuCY=; h=X-PGP-Universal:From:To:CC:Subject:Date:Message-ID:X-Mailer: X-NVConfidentiality:MIME-Version:Content-Type; b=c2n0y9rs3Lp6RAkxbHP0NVsS9Afbf0+QNHDjBb03WEfZzNWMX3bKkUcBDfVVpRgFp N2bSO+vMXIZb4dbTW9InLYUJ/TbzuWqfGzkd/+35dyzTqKBj+ZzirF5Xql52PBwsee SwRczKxMd/gPnI+yYP8ciwJ0EZNt1fcAdlPJ1e6MfrrxzH0IRN6Ow+JjCfUjZwYoSF gHOWe3WxdJjL+SkdZ7ozWLr7HZhYnq47X7+YmTaCkbhjsX7G14j2T4g6gUnL4uSxwa zjJuOeehwbpW4cfYUlM7DZRavE1oT5GGWN8ZGs+PvPKlBLYXmHqToryZUZMrDViuzZ XzmzOjltYAEDw== Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org This patch series includes Tegra210 deepsleep support with RTC alarm wake event. This series also includes save and restore of PLLs, clocks, OSC contexts for deepsleep exit to normal operation. This patch series doesn't support 100% suspend/resume to allow fully functional state upon resume and we are working on some more drivers suspend and resume implementations. [V3]: Changes between V2 & V3 are - V2 feedback fixes - GPIO restore should happen prior to Pinctrl restore to prevent glitch on GPIO lines. So using resume_noirq for gpio tegra to allow gpio resume prior to pinctrl resume. - Implemented save_context and restore_context callbacks for clock plls, pll outs and dividers in corresponding drivers. Note: Peripheral clocks and clock enable and reset need to be in Tegra210 clock suspend/resume as they need to be in proper sequence w.r.t DFLL resume for restoring CPU clock. - Removed gpio-tegra changes for hierarchical support to have PMC as parent to GPIOs for GPIO wake event support. Thierry is working on gpiolib for some cleanup before adding hierarchical support. So holding on to GPIO wake support for now. [V2] : V1 feedback fixes Patch 0002: This version still using syscore. Thierry suggest not to use syscore and waiting on suggestion from Linux Walleij for any better way of storing current state of pins before suspend entry and restoring them on resume at very early stage. So left this the same way as V1 and will address once I get more feedback on this. Also need to findout and implement proper way of forcing resume order between pinctrl and gpio driver. [V1]: Tegra210 SC7 entry and exit thru RTC wake and Power button GPIO wake using hierarchical IRQ with PMC as parent to GPIO. Sowjanya Komatineni (17): irqchip: tegra: do not disable COP IRQ during suspend pinctrl: tegra: add suspend and resume support gpio: tegra: use resume_noirq for tegra gpio resume clk: tegra: save and restore divider rate clk: tegra: pllout: save and restore pllout context clk: tegra: pll: save and restore pll context clk: tegra: save and restore CPU and System clocks context clk: tegra: add support for peripheral clock suspend and resume clk: tegra: support for saving and restoring OSC clock context clk: tegra: add suspend resume support for DFLL clk: tegra210: support for Tegra210 clocks suspend and resume soc/tegra: pmc: allow support for more tegra wake soc/tegra: pmc: add pmc wake support for tegra210 arm64: tegra: enable wake from deep sleep on RTC alarm. soc/tegra: pmc: configure core power request polarity soc/tegra: pmc: configure deep sleep control settings arm64: dts: tegra210-p2180: Jetson TX1 SC7 timings arch/arm64/boot/dts/nvidia/tegra210-p2180.dtsi | 7 + arch/arm64/boot/dts/nvidia/tegra210.dtsi | 5 +- drivers/clk/tegra/clk-dfll.c | 78 +++++++++ drivers/clk/tegra/clk-dfll.h | 2 + drivers/clk/tegra/clk-divider.c | 23 +++ drivers/clk/tegra/clk-pll-out.c | 28 ++++ drivers/clk/tegra/clk-pll.c | 115 +++++++++---- drivers/clk/tegra/clk-tegra-fixed.c | 14 ++ drivers/clk/tegra/clk-tegra-super-gen4.c | 4 - drivers/clk/tegra/clk-tegra210.c | 218 ++++++++++++++++++++++++- drivers/clk/tegra/clk.c | 150 ++++++++++++++++- drivers/clk/tegra/clk.h | 29 +++- drivers/gpio/gpio-tegra.c | 17 +- drivers/irqchip/irq-tegra.c | 21 ++- drivers/pinctrl/tegra/pinctrl-tegra.c | 62 +++++++ drivers/pinctrl/tegra/pinctrl-tegra.h | 5 + drivers/pinctrl/tegra/pinctrl-tegra114.c | 1 + drivers/pinctrl/tegra/pinctrl-tegra124.c | 1 + drivers/pinctrl/tegra/pinctrl-tegra20.c | 1 + drivers/pinctrl/tegra/pinctrl-tegra210.c | 13 ++ drivers/pinctrl/tegra/pinctrl-tegra30.c | 1 + drivers/soc/tegra/pmc.c | 143 +++++++++++++++- 22 files changed, 880 insertions(+), 58 deletions(-) -- 2.7.4