All of lore.kernel.org
 help / color / mirror / Atom feed
From: Miquel Raynal <miquel.raynal@bootlin.com>
To: Kishon Vijay Abraham I <kishon@ti.com>,
	Gregory Clement <gregory.clement@bootlin.com>,
	Jason Cooper <jason@lakedaemon.net>, Andrew Lunn <andrew@lunn.ch>,
	Sebastian Hesselbarth <sebastian.hesselbarth@gmail.com>,
	Rob Herring <robh+dt@kernel.org>,
	Mark Rutland <mark.rutland@arm.com>,
	Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
	Mathias Nyman <mathias.nyman@intel.com>,
	Alan Stern <stern@rowland.harvard.edu>
Cc: devicetree@vger.kernel.org,
	Antoine Tenart <antoine.tenart@bootlin.com>,
	linux-usb@vger.kernel.org,
	Maxime Chevallier <maxime.chevallier@bootlin.com>,
	Nadav Haklai <nadavh@marvell.com>,
	Thomas Petazzoni <thomas.petazzoni@bootlin.com>,
	Miquel Raynal <miquel.raynal@bootlin.com>,
	linux-arm-kernel@lists.infradead.org
Subject: [PATCH v2 00/10] A3700 USB S2RAM support
Date: Fri, 11 Jan 2019 14:31:23 +0100	[thread overview]
Message-ID: <20190111133133.24803-1-miquel.raynal@bootlin.com> (raw)

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 USB2 and USB32 IPs.

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 xHCI 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).

Then, the OHCI Orion (USB2 host controller) driver is updated to avoid
doing twice the PHY management (patch 3) and upgraded with traditional
S2RAM callbacks (patch 4).

The last missing peace is a UTMI PHY driver for the USB2 part of each
controller, which is added in patch 5 (see patch 6 for the bindings).

Finally, the A3700 device tree is updated (patch 7, 8, 9) to reference
the PHYs. 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/2019-January/623885.html

Thanks,
Miquèl

Changes since v1:
=================
* Add UTMI PHY driver/bindings/DT changes to bring S2RAM support to
  both USB ports available on the A3700 SoC.
* Updates to the OHCI Orion driver to avoid doing the PHY
  initialization twice.
* Upgrade of the OHCI Orion driver with S2RAM callbacks.
* Added a reference to the A3700 SoC in the USB Host Kconfig prompt
  (not only in the help section).
* Rebased on top of v5.0-rc1.


Miquel Raynal (9):
  usb: core: comply to PHY framework
  usb: ehci-orion: avoid double PHY initialization
  usb: ehci-orion: add S2RAM support
  phy: add A3700 UTMI PHY driver
  dt-bindings: phy: mvebu-utmi: add UTMI PHY bindings
  MAINTAINERS: phy: fill Armada 3700 PHY drivers entry
  ARM64: dts: marvell: armada-37xx: fix USB2 memory region
  ARM64: dts: marvell: armada-37xx: declare USB2 UTMI PHYs
  ARM64: dts: marvell: armada-37xx: link USB hosts with their PHYs

Ofer Heifetz (1):
  usb: host: xhci: mvebu: add reset on resume quirk

 .../bindings/phy/phy-mvebu-utmi.txt           |  37 +++
 MAINTAINERS                                   |   4 +-
 arch/arm64/boot/dts/marvell/armada-37xx.dtsi  |  32 +-
 drivers/phy/marvell/Kconfig                   |   9 +
 drivers/phy/marvell/Makefile                  |   1 +
 drivers/phy/marvell/phy-mvebu-a3700-utmi.c    | 297 ++++++++++++++++++
 drivers/usb/core/hcd.c                        |   5 +
 drivers/usb/core/phy.c                        |  28 ++
 drivers/usb/core/phy.h                        |   2 +
 drivers/usb/host/Kconfig                      |   4 +-
 drivers/usb/host/ehci-orion.c                 |  51 +--
 drivers/usb/host/xhci-mvebu.c                 |  11 +
 drivers/usb/host/xhci-mvebu.h                 |   6 +
 drivers/usb/host/xhci-plat.c                  |   7 +
 14 files changed, 467 insertions(+), 27 deletions(-)
 create mode 100644 Documentation/devicetree/bindings/phy/phy-mvebu-utmi.txt
 create mode 100644 drivers/phy/marvell/phy-mvebu-a3700-utmi.c

-- 
2.19.1


_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

             reply	other threads:[~2019-01-11 13:31 UTC|newest]

Thread overview: 64+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-01-11 13:31 Miquel Raynal [this message]
2019-01-11 13:31 ` [PATCH v2 01/10] usb: core: comply to PHY framework Miquel Raynal
2019-01-11 13:31   ` Miquel Raynal
2019-01-11 13:31   ` [v2,01/10] " Miquel Raynal
2019-01-11 13:31 ` [PATCH v2 02/10] usb: host: xhci: mvebu: add reset on resume quirk Miquel Raynal
2019-01-11 13:31   ` Miquel Raynal
2019-01-11 13:31   ` [v2,02/10] " Miquel Raynal
2019-01-18 16:04   ` [PATCH v2 02/10] " Gregory CLEMENT
2019-01-18 16:04     ` Gregory CLEMENT
2019-01-18 16:04     ` [v2,02/10] " Gregory CLEMENT
2019-01-21 10:54     ` [PATCH v2 02/10] " Miquel Raynal
2019-01-21 10:54       ` [v2,02/10] " Miquel Raynal
2019-01-11 13:31 ` [PATCH v2 03/10] usb: ehci-orion: avoid double PHY initialization Miquel Raynal
2019-01-11 13:31   ` Miquel Raynal
2019-01-11 13:31   ` [v2,03/10] " Miquel Raynal
2019-01-11 18:03   ` [PATCH v2 03/10] " Sergei Shtylyov
2019-01-11 18:03     ` Sergei Shtylyov
2019-01-11 18:03     ` [v2,03/10] " Sergei Shtylyov
2019-01-21 10:00     ` [PATCH v2 03/10] " Miquel Raynal
2019-01-21 10:00       ` [v2,03/10] " Miquel Raynal
2019-01-18 16:25   ` [PATCH v2 03/10] " Gregory CLEMENT
2019-01-18 16:25     ` Gregory CLEMENT
2019-01-18 16:25     ` [v2,03/10] " Gregory CLEMENT
2019-01-21  9:55     ` [PATCH v2 03/10] " Miquel Raynal
2019-01-21  9:55       ` [v2,03/10] " Miquel Raynal
2019-01-11 13:31 ` [PATCH v2 04/10] usb: ehci-orion: add S2RAM support Miquel Raynal
2019-01-11 13:31   ` Miquel Raynal
2019-01-11 13:31   ` [v2,04/10] " Miquel Raynal
2019-01-11 13:31 ` [PATCH v2 05/10] phy: add A3700 UTMI PHY driver Miquel Raynal
2019-01-11 13:31   ` [v2,05/10] " Miquel Raynal
2019-01-15  2:40   ` [PATCH v2 05/10] " Chunfeng Yun
2019-01-15  2:40     ` [v2,05/10] " Chunfeng Yun
2019-01-16  9:20     ` [PATCH v2 05/10] " Kishon Vijay Abraham I
2019-01-16  9:20       ` [v2,05/10] " Kishon Vijay Abraham I
2019-01-21 10:37       ` [PATCH v2 05/10] " Miquel Raynal
2019-01-21 10:37         ` [v2,05/10] " Miquel Raynal
2019-01-18 16:36   ` [PATCH v2 05/10] " Gregory CLEMENT
2019-01-18 16:36     ` [v2,05/10] " Gregory CLEMENT
2019-01-21 10:24     ` [PATCH v2 05/10] " Miquel Raynal
2019-01-21 10:24       ` [v2,05/10] " Miquel Raynal
2019-01-11 13:31 ` [PATCH v2 06/10] dt-bindings: phy: mvebu-utmi: add UTMI PHY bindings Miquel Raynal
2019-01-11 13:31   ` Miquel Raynal
2019-01-11 13:31   ` [v2,06/10] " Miquel Raynal
2019-01-15 21:44   ` [PATCH v2 06/10] " Rob Herring
2019-01-15 21:44     ` Rob Herring
2019-01-15 21:44     ` [v2,06/10] " Rob Herring
2019-01-16 13:20     ` [PATCH v2 06/10] " Miquel Raynal
2019-01-16 13:20       ` [v2,06/10] " Miquel Raynal
2019-01-16 14:49       ` [PATCH v2 06/10] " Rob Herring
2019-01-16 21:05       ` Rob Herring
2019-01-16 21:05         ` Rob Herring
2019-01-16 21:05         ` [v2,06/10] " Rob Herring
2019-01-11 13:31 ` [PATCH v2 07/10] MAINTAINERS: phy: fill Armada 3700 PHY drivers entry Miquel Raynal
2019-01-11 13:31   ` Miquel Raynal
2019-01-11 13:31   ` [v2,07/10] " Miquel Raynal
2019-01-11 13:31 ` [PATCH v2 08/10] ARM64: dts: marvell: armada-37xx: fix USB2 memory region Miquel Raynal
2019-01-11 13:31   ` Miquel Raynal
2019-01-11 13:31   ` [v2,08/10] " Miquel Raynal
2019-01-11 13:31 ` [PATCH v2 09/10] ARM64: dts: marvell: armada-37xx: declare USB2 UTMI PHYs Miquel Raynal
2019-01-11 13:31   ` Miquel Raynal
2019-01-11 13:31   ` [v2,09/10] " Miquel Raynal
2019-01-11 13:31 ` [PATCH v2 10/10] ARM64: dts: marvell: armada-37xx: link USB hosts with their PHYs Miquel Raynal
2019-01-11 13:31   ` Miquel Raynal
2019-01-11 13:31   ` [v2,10/10] " Miquel Raynal

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20190111133133.24803-1-miquel.raynal@bootlin.com \
    --to=miquel.raynal@bootlin.com \
    --cc=andrew@lunn.ch \
    --cc=antoine.tenart@bootlin.com \
    --cc=devicetree@vger.kernel.org \
    --cc=gregkh@linuxfoundation.org \
    --cc=gregory.clement@bootlin.com \
    --cc=jason@lakedaemon.net \
    --cc=kishon@ti.com \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-usb@vger.kernel.org \
    --cc=mark.rutland@arm.com \
    --cc=mathias.nyman@intel.com \
    --cc=maxime.chevallier@bootlin.com \
    --cc=nadavh@marvell.com \
    --cc=robh+dt@kernel.org \
    --cc=sebastian.hesselbarth@gmail.com \
    --cc=stern@rowland.harvard.edu \
    --cc=thomas.petazzoni@bootlin.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.