[PATCH v15 00/13] Add tested id switch and vbus connect detect support for Chipidea
Peter Chen
peter.chen at freescale.com
Sun Aug 11 21:22:46 EDT 2013
This patchset adds tested otg id switch function and vbus connect
and disconnect detection for chipidea driver. And fix kinds of
bugs found at chipidea drivers after enabling id and vbus detection.
This patch are fully tested at imx6 sabresd and imx28evk platform by me.
Besides, marek tested it on two STMP3780-based boards (not yet mainline)
and two MX28-based boards.
My chipidea repo: https://github.com/hzpeterchen/linux-usb.git
Changes for v15:
- Mark otgsc API as static line, and move them to otg.h [4/13]
- Remove some redundant comments [6/13]
- Fix some typos [8/13]
- Retire flag CI_HDRC_PULLUP_ON_VBUS [12/13] [13/13]
Changes for v14:
- This patchset is based on below recent chipidea patches and newest
usb-next, it can decrease rebase effort.
Fabio Estevam (3):
chipidea: ci_hdrc_imx: Remove unused variable 'res'
chipidea: core: Move hw_phymode_configure() into probe
chipidea: Remove previous MODULE_ALIAS
Lothar Wabmann (3):
usb: chipidea: improve kconfig 2.0
usb: chipidea: don't clobber return value of ci_role_start()
usb: chipidea: ci_hdrc_imx: remove an unsolicited module_put() call
from ci_hdrc_imx_remove()
Peter Chen (1):
usb: chipidea: fix the build error with randconfig
- [Michael comments]: move vbus operation to core, and squash two vbus
patches. [1/12], [2/12]
- [Michael comments]: move out non vbus and non id related patches. [14/14 at v13]
Chagnes for v13:
- Add Tested-by: Marek Vasut <marex at denx.de>
- [Sascha's comments]: Add return value check for devm_regulator_get. [3/14]
- [Marc's comments]: Change timeout usage at hw_wait_reg. [11/14]
- [Alex's comments]: Using platdata flag to indicate dual role but not
OTG controller. [7/14]
Changes for v12:
- Rebased greg's usb-next tree (3.10.0-rc7+)
- Split more small patches for single function and fix.
Peter Chen (12):
usb: chipidea: move vbus regulator operation to core
usb: chipidea: host: add vbus regulator control
usb: chipidea: udc: otg_set_peripheral is useless for some chipidea
users
usb: chipidea: otg: Add otg file used to access otgsc
usb: chipidea: Add role init and destory APIs
usb: chipidea: add flag CI_HDRC_DUAL_ROLE_NOT_OTG
usb: chipidea: disable all interrupts and clear all interrupts status
usb: chipidea: move otg relate things to otg file
usb: chipidea: add vbus interrupt handler
usb: chipidea: add wait vbus lower than OTGSC_BSV before role starts
usb: chipidea: udc: misuse flag CI_HDRC_REGS_SHARED and
CI_HDRC_PULLUP_ON_VBUS
usb: chipidea: udc: .pullup is valid when vbus is on at
CI_HDRC_PULLUP_ON_VBUS
Peter Chen (13):
usb: chipidea: move vbus regulator operation to core
usb: chipidea: host: add vbus regulator control
usb: chipidea: udc: otg_set_peripheral is useless for some chipidea
users
usb: chipidea: otg: Add otg file used to access otgsc
usb: chipidea: Add role init and destroy APIs
usb: chipidea: add flag CI_HDRC_DUAL_ROLE_NOT_OTG
usb: chipidea: disable all interrupts and clear all interrupts status
usb: chipidea: move otg related things to otg file
usb: chipidea: add vbus interrupt handler
usb: chipidea: add wait vbus lower than OTGSC_BSV before role starts
usb: chipidea: udc: misuse flag CI_HDRC_REGS_SHARED and
CI_HDRC_PULLUP_ON_VBUS
usb: chipidea: retire flag CI_HDRC_PULLUP_ON_VBUS
usb: chipidea: udc: .pullup is valid only when vbus is there
drivers/usb/chipidea/Makefile | 2 +-
drivers/usb/chipidea/bits.h | 10 ++
drivers/usb/chipidea/ci.h | 8 ++
drivers/usb/chipidea/ci_hdrc_imx.c | 27 +-----
drivers/usb/chipidea/ci_hdrc_msm.c | 1 -
drivers/usb/chipidea/core.c | 183 +++++++++++++++++++++++++-----------
drivers/usb/chipidea/host.c | 30 ++++++-
drivers/usb/chipidea/host.h | 6 +
drivers/usb/chipidea/otg.c | 120 +++++++++++++++++++++++
drivers/usb/chipidea/otg.h | 35 +++++++
drivers/usb/chipidea/udc.c | 78 ++++++++++------
drivers/usb/chipidea/udc.h | 6 +
include/linux/usb/chipidea.h | 7 +-
13 files changed, 401 insertions(+), 112 deletions(-)
create mode 100644 drivers/usb/chipidea/otg.c
create mode 100644 drivers/usb/chipidea/otg.h
More information about the linux-arm-kernel
mailing list