From mboxrd@z Thu Jan 1 00:00:00 1970 From: B29397@freescale.com (Chen Peter-B29397) Date: Mon, 23 Apr 2012 02:01:44 +0000 Subject: [RFC PATCH 00/11 V4] MXS: Add i.MX28 USB Host driver In-Reply-To: <1335099567-21056-1-git-send-email-marex@denx.de> References: <1334771194-18688-1-git-send-email-marex@denx.de> <1335099567-21056-1-git-send-email-marex@denx.de> Message-ID: To: linux-arm-kernel@lists.infradead.org List-Id: linux-arm-kernel.lists.infradead.org > This patchset introduces the USB Host driver for i.MX28 CPU, utilising > the > generic USB PHY infrastructure. Also added is glue code for CI13xxx > driver, to > allow device mode. This patchset still does NOT support OTG mode, the > device/host mode is selected via platform data. > Does the udc work at this patchset? If it is, you have enabled OTG port and not host 1 port, correct? > 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. > V4: * Introduce ci13xxx gadget glue > * Reorder patches in a more sensible order > * Introduce platform data, containing VBUS GPIO and port mode > (device/gadget) > * Rename imx-usb to imx-otg > * Drop mx28evk usb host patch > * Use more devm_ function > * Rework the mxs-phy to register the same interrupt as ehci-mxs (and > effectivelly kill bogus otg_set_vbus() call from ehci-mxs ; use > standard > ehci irq handling in ehci-mxs) > > Marek Vasut (11): > 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-otg and EHCI driver > MXS: Modify the ci13xxx_udc to avoid adding UDC > MXS: Add small registration glue for ci13xxx_udc > MXS: Add separate MXS EHCI HCD driver > MXS: Add imx-otg driver > MXS: Add USB PHY driver > MXS: Add platform registration hooks for USB EHCI > MXS: Enable USB on M28EVK > > arch/arm/mach-mxs/Kconfig | 2 + > arch/arm/mach-mxs/clock-mx28.c | 28 +- > arch/arm/mach-mxs/devices-mx28.h | 5 + > arch/arm/mach-mxs/devices/Kconfig | 3 + > arch/arm/mach-mxs/devices/Makefile | 1 + > arch/arm/mach-mxs/devices/platform-usb.c | 84 +++++ > arch/arm/mach-mxs/include/mach/clock.h | 2 +- > arch/arm/mach-mxs/include/mach/devices-common.h | 12 + > arch/arm/mach-mxs/include/mach/mx23.h | 8 +- > arch/arm/mach-mxs/mach-m28evk.c | 20 ++ > drivers/usb/gadget/Kconfig | 17 + > drivers/usb/gadget/Makefile | 1 + > drivers/usb/gadget/ci13xxx_mxs.c | 67 ++++ > drivers/usb/gadget/ci13xxx_udc.c | 12 +- > drivers/usb/gadget/ci13xxx_udc.h | 1 + > drivers/usb/host/Kconfig | 7 + > drivers/usb/host/ehci-hcd.c | 5 + > drivers/usb/host/ehci-mxs.c | 197 ++++++++++ > drivers/usb/otg/Kconfig | 16 + > drivers/usb/otg/Makefile | 2 + > drivers/usb/otg/imx-otg.c | 282 +++++++++++++++ > drivers/usb/otg/mxs-phy.c | 438 > +++++++++++++++++++++++ > include/linux/fsl/mxs-usb.h | 46 +++ > 23 files changed, 1243 insertions(+), 13 deletions(-) > create mode 100644 arch/arm/mach-mxs/devices/platform-usb.c > create mode 100644 drivers/usb/gadget/ci13xxx_mxs.c > create mode 100644 drivers/usb/host/ehci-mxs.c > create mode 100644 drivers/usb/otg/imx-otg.c > create mode 100644 drivers/usb/otg/mxs-phy.c > create mode 100644 include/linux/fsl/mxs-usb.h > > Cc: Chen Peter-B29397 > Cc: Detlev Zundel > Cc: Fabio Estevam > Cc: Li Frank-B20596 > Cc: Lin Tony-B19295 > Cc: Linux USB > Cc: Sascha Hauer > Cc: Shawn Guo > Cc: Shawn Guo > Cc: Stefano Babic > Cc: Subodh Nijsure > Cc: Tony Lin > Cc: Wolfgang Denk > > NOTE: Adding this ci13xxx-mxs driver was really helpful, it helped me to > realise > how this whole monster should look like in the end. Now the mxs-phy > is > also much more prepared for the OTG operation. > > -- > 1.7.9.5 >