From patchwork Fri Oct 16 13:07:10 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: JC Kuo X-Patchwork-Id: 11841711 Return-Path: Received: from mail.kernel.org (pdx-korg-mail-1.web.codeaurora.org [172.30.200.123]) by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id 9F2A514B5 for ; Fri, 16 Oct 2020 13:08:19 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by mail.kernel.org (Postfix) with ESMTP id 774182083B for ; Fri, 16 Oct 2020 13:08:19 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (2048-bit key) header.d=nvidia.com header.i=@nvidia.com header.b="DwF0y22s" Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S2406682AbgJPNH7 (ORCPT ); Fri, 16 Oct 2020 09:07:59 -0400 Received: from hqnvemgate25.nvidia.com ([216.228.121.64]:2702 "EHLO hqnvemgate25.nvidia.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S2395254AbgJPNH7 (ORCPT ); Fri, 16 Oct 2020 09:07:59 -0400 Received: from hqmail.nvidia.com (Not Verified[216.228.121.13]) by hqnvemgate25.nvidia.com (using TLS: TLSv1.2, AES256-SHA) id ; Fri, 16 Oct 2020 06:07:14 -0700 Received: from HQMAIL107.nvidia.com (172.20.187.13) by HQMAIL101.nvidia.com (172.20.187.10) with Microsoft SMTP Server (TLS) id 15.0.1473.3; Fri, 16 Oct 2020 13:07:54 +0000 Received: from jckuo-lt.nvidia.com (172.20.13.39) by mail.nvidia.com (172.20.187.13) with Microsoft SMTP Server id 15.0.1473.3 via Frontend Transport; Fri, 16 Oct 2020 13:07:52 +0000 From: JC Kuo To: , , , , CC: , , , , , JC Kuo Subject: [PATCH v4 00/16] Tegra XHCI controller ELPG support Date: Fri, 16 Oct 2020 21:07:10 +0800 Message-ID: <20201016130726.1378666-1-jckuo@nvidia.com> X-Mailer: git-send-email 2.25.1 MIME-Version: 1.0 X-NVConfidentiality: public DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=nvidia.com; s=n1; t=1602853634; bh=YkO2t0rIIwcVrNzhypUYnIinihM/c7O3S90mLz30bVs=; h=From:To:CC:Subject:Date:Message-ID:X-Mailer:MIME-Version: X-NVConfidentiality:Content-Transfer-Encoding:Content-Type; b=DwF0y22s+x28o7MBHZzFANCTVAbz/01jmC6OJ85NLEPCPZL/utbMi/O4VtVhOFvbC faauvpgRwl7+APPyfKcq9zaGaub//UV4bdtr7resm4yWlyYyuawPggDRd8Y7iGb34Z wrA9/w81qC+7azdR97tq0Qy/mbbq4nmxexhHIXP4CU3WUzK1PTUD5bTny+BpeEjxjK zwYL5FpsWeexypixvOTf/UFJowklPaF2APfbdfut+XH8g3R/Jx8gzaCwLQ4ADlmUi0 oifW+KYYK5a1uodiCJ+xJjWpDYR8Hde0UTf6JRbEKteZxPbWVkNXHOh1F/mnDAcXJB OEp4q5yTtrJVQ== Precedence: bulk List-ID: X-Mailing-List: linux-usb@vger.kernel.org Tegra XHCI controler can be placed in ELPG (Engine Level PowerGated) state for power saving when all of the connected USB devices are in suspended state. This patch series includes clk, phy and pmc changes that are required for properly place controller in ELPG and bring controller out of ELPG. JC Kuo (16): clk: tegra: Add PLLE HW power sequencer control clk: tegra: Don't enable PLLE HW sequencer at init phy: tegra: xusb: Move usb3 port init for Tegra210 phy: tegra: xusb: tegra210: Do not reset UPHY PLL phy: tegra: xusb: Rearrange UPHY init on Tegra210 phy: tegra: xusb: Add Tegra210 lane_iddq operation phy: tegra: xusb: Add sleepwalk and suspend/resume soc/tegra: pmc: Provide USB sleepwalk register map arm64: tegra210: XUSB PADCTL add "nvidia,pmc" prop dt-bindings: phy: tegra-xusb: Add nvidia,pmc prop phy: tegra: xusb: Add wake/sleepwalk for Tegra210 phy: tegra: xusb: Tegra210 host mode VBUS control phy: tegra: xusb: Add wake/sleepwalk for Tegra186 arm64: tegra210/tegra186/tegra194: XUSB PADCTL irq usb: host: xhci-tegra: Unlink power domain devices xhci: tegra: Enable ELPG for runtime/system PM .../phy/nvidia,tegra124-xusb-padctl.txt | 1 + arch/arm64/boot/dts/nvidia/tegra186.dtsi | 1 + arch/arm64/boot/dts/nvidia/tegra194.dtsi | 1 + arch/arm64/boot/dts/nvidia/tegra210.dtsi | 2 + drivers/clk/tegra/clk-pll.c | 12 - drivers/clk/tegra/clk-tegra210.c | 53 +- drivers/phy/tegra/xusb-tegra186.c | 558 ++++- drivers/phy/tegra/xusb-tegra210.c | 1889 +++++++++++++---- drivers/phy/tegra/xusb.c | 92 +- drivers/phy/tegra/xusb.h | 22 +- drivers/soc/tegra/pmc.c | 94 + drivers/usb/host/xhci-tegra.c | 610 ++++-- include/linux/clk/tegra.h | 4 +- include/linux/phy/tegra/xusb.h | 10 +- 14 files changed, 2785 insertions(+), 564 deletions(-)