[PATCH v5 00/11] Add USB OTG HNP and SRP support on Chipidea usb driver

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



From: Li Jun <b47624@xxxxxxxxxxxxx>

This patchset adds USB OTG HNP and SRP support on chipidea usb driver,
existing OTG port role swtich function by ID pin status kept unchanged,
based on that, if select CONFIG_USB_OTG_FSM, OTG HNP and SRP will be
supported.

Reference to:
"On-The-Go and Embedded Host Supplement to the USB Revision 2.0 Specification July 27, 2012
Revision 2.0 version 1.1a"

Changes since v4:
- Fix compile warnings if USB_OTG_FSM is not enabled.
- Add ci_otg_is_fsm_mode() to replace ci->is_otg for checking if ci is in
  OTG FSM mode.
- Move ci_hdrc_otg_fsm_start() at end of ci_hdrc_otg_fsm_init().
- Fix one patch split problem(a later patch changes a previous one).
- Remove unnecessary role check in start host/gadget.
- Add {} in start_host.c to fix Coding style problem and declar a variable
  equal to ci->transceiver->otg firstly when init otg port number.
- Update TODO list of chipidea drivers if this patchset applied.
- Typo and comments style fix.

Changes since v3:
- Move out 2 patches from this patchset, as which are not directly related to
  otg fsm.
- Add a new file chipidea.txt under Documentation/usb/ to show how to test
  OTG HNP and SRP.
- Directly embed struct otg_fsm into ci_hdrc instead of pointer of otg_fsm.
- Remove flag check in ci_otg_del_timer().
- Remove ADP related code and comments since ADP is not supported by chip.
- Start OTG fsm before request_irq.
- For B-device, do not do OTG fsm transitions when gadget driver
  is not registered, and start OTG fsm in register gadget driver.
- Directly call ci_otg_fsm_work() in ci_hdrc_otg_fsm_start().
- Enable data pulse when a_wait_vfall timer time out.
- Update a_wait_vrise time out function.
- UPdate comments of OTG time macro definitions in otg_fsm.h according to
  OTG and EH 2.0.
- Some typo and comments format changes.

Changes since v2:
- Add ABI document for sysfs input files description:
  Documentation/ABI/testing/sysfs-platform-chipidea-usb-otg
- Add a debug file for show some USB registers value.
- Split host driver change to be 2 patches, one for otg_port number init;
  the other one for vbus control change.
- Export interrupt enable and status read functions from udc driver.
- Only enable AVV irq in otg fsm init.
- Remove duplicated USBSTS bits definitions.
- Add HowTo demo role switch with 2 Freescale i.MX6Q sabre SD boards
  in cover letter.
- typo correction.

Changes since v1:
- Move out HNP polling patch from this series, which will be a seperated patchset
  followed this one
- Change fsm timers global variables to be a structure embeded in ci_hdrc,
  to make multiple OTG instances can exist in one system
- Change some otg fsm functions to be static
- Re-split timer init patch to avoid a later patch changing a previous one
  in the same series
- Change timer structure memory allocation to be devm_kzalloc
- Update some format alignment and spelling errors

Li Jun (11):
  usb: chipidea: usb OTG fsm initialization.
  usb: chipidea: host: vbus control change for OTG HNP.
  usb: chipidea: host: init otg port number.
  usb: chipidea: udc: driver update for OTG HNP.
  usb: chipidea: add OTG fsm operation functions implemenation.
  usb: chipidea: OTG fsm timers initialization.
  usb: chipidea: OTG HNP and SRP fsm implementation.
  usb: chipidea: add sys inputs for OTG fsm input.
  usb: chipidea: debug: add debug file for OTG variables
  Documentation: ABI: usb: sysfs Description for chipidea USB OTG HNP
    and SRP
  Documentation: usb: add chipidea.txt for how to demo usb OTG HNP and
    SRP

 .../ABI/testing/sysfs-platform-chipidea-usb-otg    |   56 ++
 Documentation/usb/chipidea.txt                     |   70 ++
 drivers/usb/chipidea/Makefile                      |    1 +
 drivers/usb/chipidea/bits.h                        |   10 +
 drivers/usb/chipidea/ci.h                          |   17 +
 drivers/usb/chipidea/core.c                        |    8 +-
 drivers/usb/chipidea/debug.c                       |   84 ++
 drivers/usb/chipidea/host.c                        |   21 +-
 drivers/usb/chipidea/otg.c                         |   13 +-
 drivers/usb/chipidea/otg_fsm.c                     |  849 ++++++++++++++++++++
 drivers/usb/chipidea/otg_fsm.h                     |  124 +++
 drivers/usb/chipidea/udc.c                         |   17 +-
 12 files changed, 1259 insertions(+), 11 deletions(-)
 create mode 100644 Documentation/ABI/testing/sysfs-platform-chipidea-usb-otg
 create mode 100644 Documentation/usb/chipidea.txt
 create mode 100644 drivers/usb/chipidea/otg_fsm.c
 create mode 100644 drivers/usb/chipidea/otg_fsm.h

-- 
1.7.9.5


--
To unsubscribe from this list: send the line "unsubscribe linux-usb" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html




[Index of Archives]     [Linux Media]     [Linux Input]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Old Linux USB Devel Archive]

  Powered by Linux