Subject: [PATCH v2 00/30] USB: omap-ehci: Move PHY management to PHY driver

From: [email-masked] (Roger Quadros)
Date: Tue, 5 Feb 2013 13:28:51 +0200

Hi Tony & Greg,

What's the best way to get these patches in?

All patches have been acked by respective maintainers.

If Tony can Ack the arch/arm/mach-omap2 stuff then should I send a
pull request directly to Greg? or the other way round?

Tony, 
fyi, these patches should not interfere with the dw3c/musb stuff
sent by Felipe & Kishon.

cheers,
-roger

On 01/28/2013 01:30 PM, Roger Quadros wrote:
> Hi,
> 
> The OMAP's High Speed Host controller can interface to ULPI/UTMI
> PHYs transparently i.e. whithout requiring the device drivers to
> access the PHY. However, the OS must ensure that the PHY has the necessary
> resources (power/clock/reset) enabled before it is used.
> 
> Till now, the omap-ehci driver was managing the power and reset of the PHY
> whereas, clock enabling was left to the bootloader or board files.
> 
> In this patchset we make the NOP PHY driver (nop-usb-xceiv.c) handle
> all the PHY resources that are available so that it can be used by
> platforms like OMAP.
> 
> The board files add the PHY as a platform device and use usb_bind_phy()
> (API introduced in [2]) to bind the PHY device to the controller's port.
> The ehci-omap driver then uses usb_get_phy_dev() to get the PHY device
> associated to the controller's port.
> 
> All this results in a much cleaner code and makes USB PHY resource management
> work properly on OMAP.
> 
> NOTE: Tested on 4460ES-B1 Panda and BeagleBoard C4 only. Other boards are only
> build tested.
> 
> Patches are based on Linux-3.8-rc5 and depend on
> 
> [1] [PATCH v9 00/20] OMAP USB Host cleanup
> https://lkml.org/lkml/2013/1/23/155
> 
> [2] [PATCH v2 0/6] USB: Add support for multiple PHYs of same type
> https://lkml.org/lkml/2013/1/24/876
> 
> v2:
> - Added Alan's patch to split ehci-omap into separate driver
> - Addressed Russell King's comments on usage of clk/regulator framework.
> - Adapted all board using ehci-omap to using the PHY mechanism.
> 
> The following changes since commit e18d48b7f7e563664a41d4658b8cc15679ee4745:
> 
>   usb: otg: utils: add facilities in phy lib to support multiple PHYs of same type (2013-01-28 12:20:54 +0200)
> 
>   git://github.com/rogerq/linux.git linux-usbhost15
> 
> ---
> Alan Stern (1):
>   USB: EHCI: split ehci-omap out to a separate driver
> 
> Roger Quadros (29):
>   usb: phy: nop: use devm_kzalloc()
>   usb: phy: nop: Manage PHY clock
>   usb: phy: nop: Handle power supply regulator for the PHY
>   usb: phy: nop: Handle RESET for the PHY
>   usb: phy: nop: use new PHY API to register PHY
>   mfd: omap-usb-host: update nports in platform_data
>   mfd: omap-usb-host: Remove PHY reset handling code
>   USB: ehci-omap: Use devm_request_and_ioremap()
>   USB: ehci-omap: Use PHY APIs to get the PHY device and put it out of
>     suspend
>   usb: ehci-omap: Remove PHY reset handling code
>   usb: ehci-omap: Remove PHY regulator handling code
>   ARM: OMAP2+: omap4panda: Provide USB Host's PHY platform data
>   ARM: OMAP2+: omap4panda: Adapt to ehci-omap changes
>   ARM: OMAP3: Beagle: Adapt to ehci-omap changes
>   ARM: OMAP3: 3430SDP: Adapt to ehci-omap changes
>   ARM: OMAP3: 3630SDP: Adapt to ehci-omap changes
>   ARM: OMAP: AM3517crane: Adapt to ehci-omap changes
>   ARM: OMAP: AM3517evm: Adapt to ehci-omap changes
>   ARM: OMAP3: cm-t35: Adapt to ehci-omap changes
>   ARM: OMAP3: cm-t3517: Adapt to ehci-omap changes
>   ARM: OMAP: devkit8000: Adapt to ehci-omap changes
>   ARM: OMAP3: igep0020: Adapt to ehci-omap changes
>   ARM: OMAP3: omap3evm: Adapt to ehci-omap changes
>   ARM: OMAP3: omap3pandora: Adapt to ehci-omap changes
>   ARM: OMAP3: omap3stalker: Adapt to ehci-omap changes
>   ARM: OMAP3: omap3touchbook: Adapt to ehci-omap changes
>   ARM: OMAP3: overo: Adapt to ehci-omap changes
>   ARM: OMAP: zoom: Adapt to ehci-omap changes
>   ARM: OMAP: USB: Remove unused fields from struct
>     usbhs_omap_platform_data
> 
>  arch/arm/mach-omap2/board-3430sdp.c        |   99 +++++++++++-
>  arch/arm/mach-omap2/board-3630sdp.c        |  100 +++++++++++-
>  arch/arm/mach-omap2/board-am3517crane.c    |   95 ++++++++++--
>  arch/arm/mach-omap2/board-am3517evm.c      |   66 +++++++-
>  arch/arm/mach-omap2/board-cm-t35.c         |   95 ++++++++++-
>  arch/arm/mach-omap2/board-cm-t3517.c       |   97 +++++++++++-
>  arch/arm/mach-omap2/board-devkit8000.c     |   20 ++-
>  arch/arm/mach-omap2/board-igep0020.c       |  112 +++++++++++--
>  arch/arm/mach-omap2/board-omap3beagle.c    |   93 ++++++++++-
>  arch/arm/mach-omap2/board-omap3evm.c       |   63 ++++++--
>  arch/arm/mach-omap2/board-omap3pandora.c   |   54 +++++-
>  arch/arm/mach-omap2/board-omap3stalker.c   |   52 +++++-
>  arch/arm/mach-omap2/board-omap3touchbook.c |   62 ++++++-
>  arch/arm/mach-omap2/board-omap4panda.c     |  123 ++++++++++----
>  arch/arm/mach-omap2/board-overo.c          |   55 ++++++-
>  arch/arm/mach-omap2/board-zoom.c           |   56 ++++++-
>  drivers/mfd/omap-usb-host.c                |   48 +------
>  drivers/usb/host/Kconfig                   |    2 +-
>  drivers/usb/host/Makefile                  |    1 +
>  drivers/usb/host/ehci-hcd.c                |    6 +-
>  drivers/usb/host/ehci-omap.c               |  245 +++++++++++-----------------
>  drivers/usb/otg/nop-usb-xceiv.c            |  106 +++++++++++--
>  include/linux/platform_data/usb-omap.h     |    3 -
>  include/linux/usb/nop-usb-xceiv.h          |    1 +
>  24 files changed, 1288 insertions(+), 366 deletions(-)
>