HNP polling is a mechanism which allows the OTG device currently acting
as host to determine when the other attached OTG device wishes to take
the host role. When an OTG host, which supports HNP, is connected to an
OTG peripheral which also supports HNP it shall poll the peripheral
regularly to determine whether it requires a role-swap and grant this at
the earliest opportunity.
This patchset adds OTG HNP polling support, and enable for chipidea usb
otg fsm driver, more patches for pass OTG certification will come later.
changes for v6:
- Remove patch of disable irq while stop host role.
- Split B_AIDL_BDIS timer patch to be 2 patches(9/10 and 10/10).
- Add Peter's ack for patch 3, 7, 8/10.
changes for v5:
- Instead of use stack memory, use kmalloc to allocate memory for host
request flag one byte buffer(DMA read), and add host_req_flag pointer
in struct otg_fsm for reference to that flag buffer.
- Add one patch to disable irq while stop host role(7/10).
- Add one patch to fix B_AIDL_BDIS timing issue(10/10).
changes for v4:
- Add OTG HNP capable check for connected device before sending HNP polling
in patch 3/8.
- Add comment to explain HNP test update in chipidea.txt in patch 8/8.
- Fix some typo.
- Add Peter's Ack in patch 1,2,4,5,6,7/8 of the series.
Li Jun (10):
usb: gadget: add hnp_polling_support and host_request_flag in
usb_gadget
usb: add OTG status selector definition for HNP polling
usb: common: otg-fsm: add HNP polling support
usb: chipidea: udc: bypass otg status selector handling to gadget
driver
usb: gadget: composite: handle otg status selector request from OTG
host
usb: chipidea: otg: set host_request_flag for gadget
usb: chipidea: otg: enable HNP polling support for gadget and host
Documentation: usb: chipidea: Update test procedure for HNP polling
usb: otg-fsm: add B_AIDL_BDIS timer
usb: chipidea: otg: add A idle to B disconnect timer
Documentation/usb/chipidea.txt | 9 +++--
drivers/usb/chipidea/otg_fsm.c | 29 ++++++++++++--
drivers/usb/chipidea/otg_fsm.h | 2 +
drivers/usb/chipidea/udc.c | 3 +-
drivers/usb/common/usb-otg-fsm.c | 87 ++++++++++++++++++++++++++++++++++++++++
drivers/usb/gadget/composite.c | 25 ++++++++----
include/linux/usb/gadget.h | 6 +++
include/linux/usb/otg-fsm.h | 15 +++++++
include/uapi/linux/usb/ch9.h | 1 +
9 files changed, 161 insertions(+), 16 deletions(-)
--
1.9.1
--
To unsubscribe from this list: send the line "unsubscribe linux-usb" in
the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html