From patchwork Fri Nov 23 11:22:14 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Miquel Raynal X-Patchwork-Id: 10695611 Return-Path: Received: from mail.wl.linuxfoundation.org (pdx-wl-mail.web.codeaurora.org [172.30.200.125]) by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id 5011313BB for ; Fri, 23 Nov 2018 11:22:23 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 3F40A2C89C for ; Fri, 23 Nov 2018 11:22:23 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id 333F52C8B3; Fri, 23 Nov 2018 11:22:23 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on pdx-wl-mail.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-7.9 required=2.0 tests=BAYES_00,MAILING_LIST_MULTI, RCVD_IN_DNSWL_HI autolearn=ham version=3.3.1 Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 9FA3E2C89C for ; Fri, 23 Nov 2018 11:22:22 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S2503733AbeKWWGM (ORCPT ); Fri, 23 Nov 2018 17:06:12 -0500 Received: from mail.bootlin.com ([62.4.15.54]:56975 "EHLO mail.bootlin.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1729651AbeKWWGM (ORCPT ); Fri, 23 Nov 2018 17:06:12 -0500 Received: by mail.bootlin.com (Postfix, from userid 110) id C85F820712; Fri, 23 Nov 2018 12:22:18 +0100 (CET) Received: from localhost.localdomain (aaubervilliers-681-1-94-205.w90-88.abo.wanadoo.fr [90.88.35.205]) by mail.bootlin.com (Postfix) with ESMTPSA id 631C320712; Fri, 23 Nov 2018 12:22:18 +0100 (CET) From: Miquel Raynal To: Gregory Clement , Jason Cooper , Andrew Lunn , Sebastian Hesselbarth , Rob Herring , Mark Rutland , Greg Kroah-Hartman , Mathias Nyman Cc: , , linux-usb@vger.kernel.org, Thomas Petazzoni , Antoine Tenart , Maxime Chevallier , Nadav Haklai , Miquel Raynal Subject: [PATCH 0/3] Bring suspend to RAM support to xHCI MVEBU driver Date: Fri, 23 Nov 2018 12:22:14 +0100 Message-Id: <20181123112217.4878-1-miquel.raynal@bootlin.com> X-Mailer: git-send-email 2.19.1 MIME-Version: 1.0 Sender: linux-usb-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-usb@vger.kernel.org X-Virus-Scanned: ClamAV using ClamSMTP Hello, As part of an effort to bring suspend to RAM support to Armada 3700 SoCs (main target: ESPRESSObin), this series handles the work around the USB3 host IP. First, a change in the core adds support for the new PHY framework by following the phy_set_mode()/phy_power_on() sequence (patch 1). The second change needed is to update the xHCI MVEBU driver (patch 2) with the XHCI_RESET_ON_RESUME quirk that will do most of the reconfiguration work when resuming. Then, because of the asynchronous suspend feature implemented lately the driver was blocking during the S2RAM operation, probably due to a register access while the clock was not enabled. A first patch has been written for that, adding a new quirk to ignore the asynchronous setting [1] which has become useless once clock links with consumer have been contributed [2] (series not merged yet). Finally, the ESPRESSObin device tree is updated (patch 3) to reference the PHY. xHCI bindings already document the PHY so no update is needed on this regard. [1] http://code.bulix.org/s2ccd4-511198 [2] http://lists.infradead.org/pipermail/linux-arm-kernel/2018-November/614527.html Thanks, Miquèl Miquel Raynal (2): usb: core: comply to PHY framework ARM64: dts: marvell: armada-3720-espressobin: declare USB3 PHY Ofer Heifetz (1): usb: host: xhci: mvebu: add reset on resume quirk .../dts/marvell/armada-3720-espressobin.dts | 1 + drivers/usb/core/hcd.c | 5 ++++ drivers/usb/core/phy.c | 28 +++++++++++++++++++ drivers/usb/core/phy.h | 2 ++ drivers/usb/host/Kconfig | 2 +- drivers/usb/host/xhci-mvebu.c | 11 ++++++++ drivers/usb/host/xhci-mvebu.h | 6 ++++ drivers/usb/host/xhci-plat.c | 7 +++++ 8 files changed, 61 insertions(+), 1 deletion(-)