Subject: [RFC PATCH 00/10 V3] MXS: Add i.MX28 USB Host driver

From: [email-masked] (Marek Vasut)
Date: Fri, 20 Apr 2012 04:13:56 +0200

> This patchset introduces the USB Host driver for i.MX28 CPU, utilising the
> generic USB PHY infrastructure.
> 
> V2: Introduce stub imx-usb driver that then registers the PHY and EHCI
> drivers. V3: Add the HCD on demand based on the PHY's state (only add HCD
> if it's host). Currently, only the HOST mode is supported.
> 
> Marek Vasut (10):
>   MXS: Make clk_disable return integer
>   MXS: Add USB EHCI and USB PHY clock handling
>   MXS: Fixup i.MX233 USB base address name
>   MXS: Add data shared between imx-usb and EHCI driver
>   MXS: Add platform registration hooks for USB EHCI
>   MXS: Add imx-usb driver
>   MXS: Add USB PHY driver
>   MXS: Add separate MXS EHCI HCD driver
>   MXS: Enable USB on M28EVK
>   MXS: Enable USB on MX28EVK
> 
>  arch/arm/mach-mxs/Kconfig                       |    4 +
>  arch/arm/mach-mxs/clock-mx28.c                  |   28 ++-
>  arch/arm/mach-mxs/devices-mx28.h                |    4 +
>  arch/arm/mach-mxs/devices/Kconfig               |    3 +
>  arch/arm/mach-mxs/devices/Makefile              |    1 +
>  arch/arm/mach-mxs/devices/platform-usb.c        |   78 ++++++
>  arch/arm/mach-mxs/include/mach/clock.h          |    2 +-
>  arch/arm/mach-mxs/include/mach/devices-common.h |    9 +
>  arch/arm/mach-mxs/include/mach/mx23.h           |    8 +-
>  arch/arm/mach-mxs/mach-m28evk.c                 |   15 ++
>  arch/arm/mach-mxs/mach-mx28evk.c                |   10 +
>  drivers/usb/host/Kconfig                        |    7 +
>  drivers/usb/host/ehci-hcd.c                     |    5 +
>  drivers/usb/host/ehci-mxs.c                     |  228 +++++++++++++++++
>  drivers/usb/otg/Kconfig                         |   16 ++
>  drivers/usb/otg/Makefile                        |    2 +
>  drivers/usb/otg/imx-usb.c                       |  226 +++++++++++++++++
>  drivers/usb/otg/mxs-phy.c                       |  305
> +++++++++++++++++++++++ include/linux/fsl_devices.h                     | 
>  10 +
>  19 files changed, 952 insertions(+), 9 deletions(-)
>  create mode 100644 arch/arm/mach-mxs/devices/platform-usb.c
>  create mode 100644 drivers/usb/host/ehci-mxs.c
>  create mode 100644 drivers/usb/otg/imx-usb.c
>  create mode 100644 drivers/usb/otg/mxs-phy.c
> 
> Cc: Chen Peter-B29397 <[email-masked]>
> Cc: Detlev Zundel <[email-masked]>
> Cc: Fabio Estevam <[email-masked]>
> Cc: Li Frank-B20596 <[email-masked]>
> Cc: Lin Tony-B19295 <[email-masked]>
> Cc: Linux USB <[email-masked]>
> Cc: Sascha Hauer <[email-masked]>
> Cc: Shawn Guo <[email-masked]>
> Cc: Shawn Guo <[email-masked]>
> Cc: Stefano Babic <[email-masked]>
> Cc: Subodh Nijsure <[email-masked]>
> Cc: Tony Lin <[email-masked]>
> Cc: Wolfgang Denk <[email-masked]>

btw /wrt USB Gadget etc -- how does the drivers/usb/gadget/fsl_udc_core.c and 
drivers/usb/gadget/ci13xxx_* fit into the big picture? We're gonna use the 
ci13xxx stuff for Gadget on mx28, correct? Then how does fsl_udc_core.c fit in?

Best regards,
Marek Vasut