linux-arm-kernel.lists.infradead.org archive mirror
 help / color / mirror / Atom feed
* [V5 PATCH 00/26] mv-usb fix and enhancement patches
@ 2013-01-24  6:38 Chao Xie
  2013-01-24  6:38 ` [V5 PATCH 01/26] usb: gadget: mv_udc: use udc_start and udc_stop functions Chao Xie
                   ` (25 more replies)
  0 siblings, 26 replies; 37+ messages in thread
From: Chao Xie @ 2013-01-24  6:38 UTC (permalink / raw)
  To: linux-arm-kernel

The patches are divied into 4 parts
1. bug fixes
  usb: gadget: mv_udc: use udc_start and udc_stop functions
  usb: gadget: mv_udc: use devm_xxx for probe
  usb: gadget: mv_udc: fix the warning of mv_udc_remove
  usb: otg: mv_otg: use devm_xxx for probe
  usb: host: ehci-mv: remove unused variable
  usb: gadget: mv_udc: fix the value of tranceiver
  usb: gadget: mv_udc: make mv_udc depends on ARCH_MMP or ARCH_PXA
Above patches are bug fixes.

2. PHY driver
To remove the callbacks in the platform data, a usb PHY driver
for marvell udc/otg/ehci is written.
For device tree support, it is not good to pass the callback
pointers by platform data. The PHY driver also removes the
block.

  usb: phy: mv_usb2: add PHY driver for marvell usb2 controller
  usb: gadget: mv_udc: use PHY driver for udc
  usb: ehci: ehci-mv: use PHY driver for ehci
  usb: otg: mv_otg: use PHY driver for otg
Above patches are marvell usb PHY driver support.

  arm: mmp2: change the defintion of usb devices
  arm: pxa910: change the defintion of usb devices
  arm: brownstone: add usb support for the board
  arm: ttc_dkb: add usb support
  arm: mmp: remove the usb phy setting
  arm: mmp: remove usb devices from pxa168
Above patches are for SOC/board support for marvell usb PHY
driver.

3. external chip support
The marvell usb controller can detect the vbus/idpin, but it
need PHY and usb clocks to be enabled.
Based on measurement it will import 15mA current, and increase
the power when the usb is not used.
Using a external chip to detect vbus/idpin changes will save
the power.
In fact the marvell PMIC 88pm860x and 88pm80x can do it. The
drivers are located at drivers/mfd.
So add a middle layer in the marvell usb PHY driver.
PMIC call the APIs in middle driver to registers the callback
for vbus/idpin detection/query
udc/otg/ehci driver will call the APIs to get vbus/idpin changes
and query the states of the vbus/idpin.
  usb: phy: mv_usb2_phy: add externel chip support
  usb: gadget: mv_udc: add extern chip support
  usb: ehci: ehci-mv: add extern chip support
  usb: otg: mv_otg: add extern chip support
Above patches are the middle layer suppor for udc/otg/ehci

  arm: mmp: add extern chip support for brownstone
  arm: mmp: add extern chip support for ttc_dkb
Above patches are corresponding board file changes

4. device tree support
After removing the callbacks in platform data, and the not
constant variables in platform data. All the information needed
by udc/otg/ehci driver are constant.

  usb: gadget: mv_udc: add device tree support
  usb: otg: mv_otg: add device tree support
  usb: ehci: ehci-mv: add device tree support
Above patches are device tree support for udc/otg/ehci driver.

V2->V1:
  Change the Signed-off-by to be right email address

v3->v2
  re-format the patches to new code base

v4->v3
  1. make mv udc gadget driver depend on ARCH_PXA and ARCH_MMP
  2. remove __devinit and __devexit
  3. make the driver compiled successful if CONFIG_MV_USB2_PHY is not defined.
  The modified patches are
  usb: gadget: mv_udc: make mv_udc depends on ARCH_MMP or ARCH_PXA
  usb: phy: mv_usb2: add PHY driver for marvell usb2 controller

v5->v4
  make the struct mv_usb2_extern_chip member ->head to be
  struct atomic_notifier_head instead of struct atomic_notifier_head *.

Chao Xie (26):
  usb: gadget: mv_udc: use udc_start and udc_stop functions
  usb: gadget: mv_udc: use devm_xxx for probe
  usb: gadget: mv_udc: fix the warning of mv_udc_remove
  usb: otg: mv_otg: use devm_xxx for probe
  usb: host: ehci-mv: remove unused variable
  usb: gadget: mv_udc: fix the value of tranceiver
  usb: gadget: mv_udc: make mv_udc depends on ARCH_MMP or ARCH_PXA
  usb: phy: mv_usb2: add PHY driver for marvell usb2 controller
  usb: gadget: mv_udc: use PHY driver for udc
  usb: ehci: ehci-mv: use PHY driver for ehci
  usb: otg: mv_otg: use PHY driver for otg
  arm: mmp2: change the defintion of usb devices
  arm: pxa910: change the defintion of usb devices
  arm: brownstone: add usb support for the board
  arm: ttc_dkb: add usb support
  arm: mmp: remove the usb phy setting
  arm: mmp: remove usb devices from pxa168
  usb: phy: mv_usb2_phy: add externel chip support
  usb: gadget: mv_udc: add extern chip support
  usb: ehci: ehci-mv: add extern chip support
  usb: otg: mv_otg: add extern chip support
  arm: mmp: add extern chip support for brownstone
  arm: mmp: add extern chip support for ttc_dkb
  usb: gadget: mv_udc: add device tree support
  usb: otg: mv_otg: add device tree support
  usb: ehci: ehci-mv: add device tree support

 arch/arm/mach-mmp/brownstone.c            |   45 +++
 arch/arm/mach-mmp/devices.c               |  278 ----------------
 arch/arm/mach-mmp/include/mach/mmp2.h     |    4 +
 arch/arm/mach-mmp/include/mach/pxa910.h   |    7 +-
 arch/arm/mach-mmp/include/mach/regs-usb.h |  253 ---------------
 arch/arm/mach-mmp/mmp2.c                  |    4 +
 arch/arm/mach-mmp/pxa168.c                |   42 ---
 arch/arm/mach-mmp/pxa910.c                |    4 +
 arch/arm/mach-mmp/ttc_dkb.c               |   32 ++-
 drivers/usb/gadget/Kconfig                |    1 +
 drivers/usb/gadget/mv_udc.h               |   10 +-
 drivers/usb/gadget/mv_udc_core.c          |  384 ++++++++++++-----------
 drivers/usb/host/ehci-mv.c                |  155 ++++++----
 drivers/usb/otg/mv_otg.c                  |  280 +++++++++-------
 drivers/usb/otg/mv_otg.h                  |   11 +-
 drivers/usb/phy/Kconfig                   |    7 +
 drivers/usb/phy/Makefile                  |    1 +
 drivers/usb/phy/mv_usb2_phy.c             |  503 +++++++++++++++++++++++++++++
 include/linux/platform_data/mv_usb.h      |   22 +-
 include/linux/usb/mv_usb2.h               |  128 ++++++++
 20 files changed, 1196 insertions(+), 975 deletions(-)
 delete mode 100644 arch/arm/mach-mmp/include/mach/regs-usb.h
 create mode 100644 drivers/usb/phy/mv_usb2_phy.c
 create mode 100644 include/linux/usb/mv_usb2.h

-- 
1.7.4.1

^ permalink raw reply	[flat|nested] 37+ messages in thread

end of thread, other threads:[~2013-01-25  9:55 UTC | newest]

Thread overview: 37+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2013-01-24  6:38 [V5 PATCH 00/26] mv-usb fix and enhancement patches Chao Xie
2013-01-24  6:38 ` [V5 PATCH 01/26] usb: gadget: mv_udc: use udc_start and udc_stop functions Chao Xie
2013-01-24  6:38 ` [V5 PATCH 02/26] usb: gadget: mv_udc: use devm_xxx for probe Chao Xie
2013-01-24  6:38 ` [V5 PATCH 03/26] usb: gadget: mv_udc: fix the warning of mv_udc_remove Chao Xie
2013-01-24  6:38 ` [V5 PATCH 04/26] usb: otg: mv_otg: use devm_xxx for probe Chao Xie
2013-01-24  6:38 ` [V5 PATCH 05/26] usb: host: ehci-mv: remove unused variable Chao Xie
2013-01-24  6:38 ` [V5 PATCH 06/26] usb: gadget: mv_udc: fix the value of tranceiver Chao Xie
2013-01-24  6:38 ` [V5 PATCH 07/26] usb: gadget: mv_udc: make mv_udc depends on ARCH_MMP or ARCH_PXA Chao Xie
2013-01-24  9:08   ` Felipe Balbi
2013-01-25  1:57     ` chao xie
2013-01-24  6:38 ` [V5 PATCH 08/26] usb: phy: mv_usb2: add PHY driver for marvell usb2 controller Chao Xie
2013-01-24  6:38 ` [V5 PATCH 09/26] usb: gadget: mv_udc: use PHY driver for udc Chao Xie
2013-01-24  6:38 ` [V5 PATCH 10/26] usb: ehci: ehci-mv: use PHY driver for ehci Chao Xie
2013-01-24  6:38 ` [V5 PATCH 11/26] usb: otg: mv_otg: use PHY driver for otg Chao Xie
2013-01-24  6:38 ` [V5 PATCH 12/26] arm: mmp2: change the defintion of usb devices Chao Xie
2013-01-24  6:38 ` [V5 PATCH 13/26] arm: pxa910: " Chao Xie
2013-01-24  6:38 ` [V5 PATCH 14/26] arm: brownstone: add usb support for the board Chao Xie
2013-01-24  6:38 ` [V5 PATCH 15/26] arm: ttc_dkb: add usb support Chao Xie
2013-01-24  6:38 ` [V5 PATCH 16/26] arm: mmp: remove the usb phy setting Chao Xie
2013-01-24  6:38 ` [V5 PATCH 17/26] arm: mmp: remove usb devices from pxa168 Chao Xie
2013-01-24  6:38 ` [V5 PATCH 18/26] usb: phy: mv_usb2_phy: add externel chip support Chao Xie
2013-01-24  6:38 ` [V5 PATCH 19/26] usb: gadget: mv_udc: add extern " Chao Xie
2013-01-24  6:38 ` [V5 PATCH 20/26] usb: ehci: ehci-mv: " Chao Xie
2013-01-24  6:38 ` [V5 PATCH 21/26] usb: otg: mv_otg: " Chao Xie
2013-01-24  6:38 ` [V5 PATCH 22/26] arm: mmp: add extern chip support for brownstone Chao Xie
2013-01-24  6:38 ` [V5 PATCH 23/26] arm: mmp: add extern chip support for ttc_dkb Chao Xie
2013-01-24  6:38 ` [V5 PATCH 24/26] usb: gadget: mv_udc: add device tree support Chao Xie
2013-01-24 10:49   ` Mark Rutland
2013-01-25  2:13     ` chao xie
2013-01-25  9:51       ` Mark Rutland
2013-01-24  6:38 ` [V5 PATCH 25/26] usb: otg: mv_otg: " Chao Xie
2013-01-24 11:02   ` Mark Rutland
2013-01-25  2:16     ` chao xie
2013-01-24  6:38 ` [V5 PATCH 26/26] usb: ehci: ehci-mv: " Chao Xie
2013-01-24 11:16   ` Mark Rutland
2013-01-25  2:27     ` chao xie
2013-01-25  9:55       ` Mark Rutland

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).