[PATCH v9 0/9] Add tested id switch and vbus connect detect support for Chipidea

Peter Chen peter.chen at freescale.com
Tue Feb 26 04:36:00 EST 2013


On Sun, Feb 17, 2013 at 05:24:34PM +0800, Peter Chen wrote:

Hi Alex, 

Ping............

> Changes for v9:
> - Some small comments from Alex like: variable comment for otg event
> additional newline. [3/9]
> - Import function tell show if the controller has otg capable, if
> the controller supports both host and device, we think it is otg
> capable, and can read OTGSC. [3/9]
> - Merge two otg patches [v8 3/8] and [v8 4/8] to one [v9 3/9]. [3/9]
> - Add inline to ci_hdrc_gadget_destroy if CONFIG_USB_CHIPIDEA_UDC
> is not defined, it can fix one build warning "defined but not used"
> [3/9]
> - One comment from Felipe about changing calling gadget disconnect
> API at chipidea's udc driver. I move calling ci->driver->disconnect
> from _gadget_stop_activity to which calls _gadget_stop_activity except
> ci13xxx_stop, as udc core will call disconnect when do rmmod gadget. [7/9]
> - Add ci core probe's return value to ci's platform_data, we do this
> for getting core's probe's result at platform layer, and quit it
> if the core's probe fails. [8/9] [9/9]
> 
> Changes for v8:
> - Add ci_supports_gadget helper to know if the controller
> supports gadget, if the controller supports gadget, it
> needs to read otgsc to know the vbus value, basically,
> if the controller supports gadget, it will support host
> as well [3/8]
> - At ci_hdrc_probe, it needs to add free memory at error path
> [3/8]
> - Cosolidate ci->driver = NULL at ci13xxx_stop
> [8/8]
> 
> Changes for v7:
> For Patch 8/8, we only need to set ci->driver to NULL when usb cable
> is not connected, for other changes, it will case some runtime pm
> unmatch and un-align with udc-core & composite driver problems.
> 
> Changes for v6:
> - Add Alex comments for init/destroy function [3/8] [4/8]
> - Remove memset(&ci->gadget, 0, sizeof(ci->gadget)) at destory function [4/8]
> - Add Kishon's comment: Change the format of struct usb_otg otg at drivers/usb/chipidea/ci.h
> [1/8]
> - Add comments for CI_VBUS_STABLE_TIMEOUT [3/8]
> - Change the otg_set_peripheral return value check as the fully
> chipidea driver users don't need it. [4/8]
> - Fix one bug that the oops when re-plug in usb cable after
> rmmod gadget [8/8]
> 
> Anyone who has tested this patchset, please give a tested-by, thanks.
> 
> This patchset adds tested otg id switch function and
> vbus connect/disconnect detection for chipidea driver.
> The mainly design of id/vbus handling follows msm otg driver.
> I hope the msm usb maintainer can have a look of this patchset,
> and give some comments, and move the whole msm usb driver to
> chipidea framework if possible in the future.
> 
> This patch is fully tested at imx6 sabresd platform.
> My chipidea repo: https://github.com/hzpeterchen/linux-usb.git
> which is rebased of Sascha's git
> (git://git.pengutronix.de/git/imx/linux-2.6.git tags/usb-chipidea-otg-for-next)
> 
> At sascha's tag, it finishes some dr_mode and phy_type patches,
> in that way, we can choose host-only and gadget-only function at
> dts file as well as we can choose different phy setting.
> 
> Besides sascha's work, there are some Michael Grzeschik/Marc Kleine-Budde
> usbmisc patch, imx chipidea suspend/resume patch, and one pin control
> patch for imx6
> 
> Peter Chen (9):
>   Revert "USB: chipidea: add vbus detect for udc"
>   usb: chipidea: add otg file
>   usb: chipidea: add otg id switch and vbus connect/disconnect detect
>   usb: chipidea: udc: add pullup/pulldown dp at hw_device_state
>   usb: chipidea: udc: retire the flag CI13_PULLUP_ON_VBUS
>   usb: chipidea: imx: add internal vbus regulator control
>   usb: chipidea: udc: fix the oops when plugs in usb cable after rmmod
>     gadget
>   usb: chipidea: tell platform layer the ci core probe's result
>   usb: chipidea: imx: fix the error that using uninitialized pointer
> 
>  drivers/usb/chipidea/Makefile      |    2 +-
>  drivers/usb/chipidea/bits.h        |   10 ++
>  drivers/usb/chipidea/ci.h          |   14 +++-
>  drivers/usb/chipidea/ci13xxx_imx.c |   85 ++++++++++++----
>  drivers/usb/chipidea/ci13xxx_msm.c |    1 -
>  drivers/usb/chipidea/core.c        |  192 ++++++++++++++++++++++++++++++++----
>  drivers/usb/chipidea/host.c        |    6 +
>  drivers/usb/chipidea/host.h        |    6 +-
>  drivers/usb/chipidea/otg.c         |   68 +++++++++++++
>  drivers/usb/chipidea/otg.h         |    9 ++
>  drivers/usb/chipidea/udc.c         |  118 ++++++++++------------
>  drivers/usb/chipidea/udc.h         |    4 +
>  include/linux/usb/chipidea.h       |    2 +-
>  13 files changed, 405 insertions(+), 112 deletions(-)
>  create mode 100644 drivers/usb/chipidea/otg.c
>  create mode 100644 drivers/usb/chipidea/otg.h
> 
> 
> --
> To unsubscribe from this list: send the line "unsubscribe linux-usb" in
> the body of a message to majordomo at vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html
> 

-- 

Best Regards,
Peter Chen




More information about the linux-arm-kernel mailing list