Changes for v3:
- Add possible role switch for unsupported HNP capable OTG B-peripheral,
see USB OTG & EH 2.0 spec page 38, this feature was deleted wrongly
at previous revision patches.

Changes for v2:
- Move TPL support judgement out of is_target, the user can be easy to
know if it needs to do TPL judgement. [patch 1/6]
- Keep the unsupport device message unchange [patch 1/6]

According to On-The-Go and Embedded Host Supplement to the USB Revision
2.0 Specification, a Targeted Host (non-PC host, OTG or Embedded host)
is not required to support operation with all types of USB peripherals.
It is up to the manufacturer of each Targeted Host to declare which peripherals
the host will support and provide a list of those peripherals. This is called
the Targeted Host's "Targeted Peripheral List" (TPL). The TPL shall accurately
represent the device classes supported by the Targeted Host.

And the TPL support is a must for USB OTG & EH certification test, and TPL
support needs to apply for both OTG and EH, it should be decided by platform
setting.

This patchset changes TPL support behaviour like below:
- Apply possible TPL support for all kinds of host
- Effect TPL in code is decided by both configuration
(CONFIG_USB_OTG_WHITELIST) and platform flag, it can avoid
the enumeration failure by choosing TPL configuration wrongly.

Besides, TPL can be have a good supplement for authorized feature supplied
by sys, Eg, TPL can be modified to match by class using interface descriptor, 
etc.
It may help give some suggestions for recently badUSB report.
http://venturebeat.com/2014/07/31/why-you-can-no-longer-trust-any-usb-device-plugged-into-your-pc/
https://srlabs.de/badusb/

Peter Chen (6):
  usb: hcd: add TPL support flag
  usb: core: TPL should apply for both OTG and EH
  usb: core: Kconfig: TPL should apply for both OTG and EH
  usb: common: add API to get if the platform supports TPL
  usb: chipidea: add TPL support for targeted hosts
  doc: dt-binding: ci-hdrc-imx: add TPL support

 .../devicetree/bindings/usb/ci-hdrc-imx.txt        |    2 ++
 drivers/usb/chipidea/core.c                        |    4 +++
 drivers/usb/chipidea/host.c                        |    1 +
 drivers/usb/common/usb-common.c                    |   15 +++++++++
 drivers/usb/core/Kconfig                           |   12 ++-----
 drivers/usb/core/hub.c                             |   33 +++++++++-----------
 drivers/usb/core/otg_whitelist.h                   |   13 ++------
 include/linux/usb/chipidea.h                       |    1 +
 include/linux/usb/hcd.h                            |    1 +
 include/linux/usb/of.h                             |    5 +++
 10 files changed, 50 insertions(+), 37 deletions(-)

-- 
1.7.9.5

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

Reply via email to