Change for v6:
- Change of_usb_set_otg_caps to be of_usb_update_otg_caps, and add
sanity check of otg-rev.
- Add chipidea otg-rev ability to be 0x0200, which will be updated
in DT, if not passed, will be reset to be 0.
- Remove unnecessary change: move config's descriptor and bmAttributes
init from xxxi_config() to xxx_bind() in leagcy gadget drivers.
Changes for v5:
- By default otg feature are enabled if usb controller can support it.
use of_usb_set_otg_caps to set otg_rev and disable features by DT.
- Update legacy drivers, allocate and init otg descriptor in bind
function, free it in unbind, to make alloation and free are symmetric.
- Add Roger's reviewed-by.
This is a follow-up of Macpaul Lin's previous patchset to resolve usb
gadget driver working with OTG 2.0, and set otg features by not only
usb driver config but also usb hardware property in DT, main changes:
1. Add usb_otg20_descriptor definition for OTG 2.0 which introduces bcdOTG
field for otg revision, bcdOTG can be passed via device tree.
2. OTG features(SRP/HNP/ADP) can be decided by combination of usb HW
properties and usb driver config.
3. Change the chipidea usb driver to use the updated mechanism.
4. Remove static usb otg descriptor definition, but allocate and init it
according to otg capabilities in each gadget driver, if otg capabilities
is not defined for legacy platforms, the usb otg descriptor content is
kept the same as current static definition.
Li Jun (19):
usb: otg: add usb_otg_caps structure for otg capabilities
doc: dt-binding: usb: add otg related properties
usb: common: add API to update usb otg capabilities by device tree
usb: chipidea: set usb otg capabilities
usb: chipidea: update ci_otg_is_fsm_mode conditions
usb: gadget: add usb otg descriptor allocate and init interface
usb: gadget: configfs: allocate and init otg descriptor by otg
capabilities
usb: gadget: ether: allocate and init otg descriptor by otg
capabilities
usb: gadget: acm_ms: allocate and init otg descriptor by otg
capabilities
usb: gadget: audio: allocate and init otg descriptor by otg
capabilities
usb: gadget: cdc2: allocate and init otg descriptor by otg
capabilities
usb: gadget: g_ffs: allocate and init otg descriptor by otg
capabilities
usb: gadget: hid: allocate and init otg descriptor by otg capabilities
usb: gadget: mass_storage: allocate and init otg descriptor by otg
capabilities
usb: gadget: multi: allocate and init otg descriptor by otg
capabilities
usb: gadget: ncm: allocate and init otg descriptor by otg capabilities
usb: gadget: printer: allocate and init otg descriptor by otg
capabilities
usb: gadget: serial: allocate and init otg descriptor by otg
capabilities
usb: gadget: zero: allocate and init otg descriptor by otg
capabilities
Macpaul Lin (4):
usb: add usb_otg20_descriptor for OTG 2.0 and above
usb: add USB_OTG_ADP definition
usb: add usb_otg_caps to usb_gadget structure.
usb: gadget: composite: add USB_DT_OTG request handling
Documentation/devicetree/bindings/usb/generic.txt | 15 ++++++
drivers/usb/chipidea/ci.h | 5 +-
drivers/usb/chipidea/core.c | 10 ++++
drivers/usb/chipidea/debug.c | 1 +
drivers/usb/chipidea/udc.c | 7 ++-
drivers/usb/common/common.c | 47 +++++++++++++++++++
drivers/usb/gadget/composite.c | 27 +++++++++++
drivers/usb/gadget/config.c | 56 +++++++++++++++++++++++
drivers/usb/gadget/configfs.c | 29 ++++++++----
drivers/usb/gadget/legacy/acm_ms.c | 35 +++++++-------
drivers/usb/gadget/legacy/audio.c | 34 ++++++++------
drivers/usb/gadget/legacy/cdc2.c | 35 +++++++-------
drivers/usb/gadget/legacy/ether.c | 36 ++++++++-------
drivers/usb/gadget/legacy/g_ffs.c | 32 +++++++------
drivers/usb/gadget/legacy/hid.c | 36 ++++++++-------
drivers/usb/gadget/legacy/mass_storage.c | 35 +++++++-------
drivers/usb/gadget/legacy/multi.c | 37 ++++++++-------
drivers/usb/gadget/legacy/ncm.c | 34 ++++++++------
drivers/usb/gadget/legacy/printer.c | 26 ++++++-----
drivers/usb/gadget/legacy/serial.c | 29 ++++++------
drivers/usb/gadget/legacy/zero.c | 32 ++++++-------
include/linux/usb/chipidea.h | 1 +
include/linux/usb/gadget.h | 6 +++
include/linux/usb/of.h | 7 +++
include/linux/usb/otg.h | 15 ++++++
include/uapi/linux/usb/ch9.h | 12 +++++
26 files changed, 443 insertions(+), 196 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