This patchset fills in 'otg_caps' of the usb_gadget structure, and configures it on stm32mp15. When dwc2 is configured as dual role (OTG), the USB gadget descriptors (device mode) are configured via configfs. This lead in calling usb_otg_descriptor_init(). In usb_otg_descriptor_init() (drivers/usb/gadget/config.c): - If otg caps structure is provided -> use it - If otg caps structure isn't provided -> HNP and SRP are enabled by default This could lead to a configuration mismatch beetween: - OTG controller: HNP and SRP aren't enabled - gadget descriptors: HNP and SRP are advertised --- Changes in v3: - Add dt-bindings patch, as adding properties from usb-drd.yaml is currently not handled in dwc2.yaml. This lead to have "make dtbs_check" reports errors like: ...'otg-rev' does not match any of the regexes: 'pinctrl-[0-9]+' From schema: /local/home/fgasni00/baseline/linux-stm32/Documentation/devicetree/bindings/usb/dwc2.yaml - Could/should the dt-bindings be ported to stable ? (the DT patch for stm32mp151 in v1 got merged already) Changes in v2: - replace otg_cap bit field by otg_caps structure. - Fix build issue when HOST only mode is selected [1] - DT patch for stm32mp151 merged in v1, so not resent [1] https://lore.kernel.org/all/000000000000b01f1505cda8e03c@xxxxxxxxxx Fabrice Gasnier (4): dt-bindings: usb: dwc2: Add reference to usb-drd.yaml dt-bindings: usb: dwc2: adopt otg properties defined in usb-drd.yaml usb: dwc2: add otg_rev and otg_caps information for gadget driver usb: dwc2: stm32mp15: set otg_rev Documentation/devicetree/bindings/usb/dwc2.yaml | 16 ++++-- drivers/usb/dwc2/core.h | 19 +++---- drivers/usb/dwc2/debugfs.c | 4 +- drivers/usb/dwc2/gadget.c | 1 + drivers/usb/dwc2/hcd.c | 12 ++-- drivers/usb/dwc2/params.c | 75 ++++++++++++++----------- 6 files changed, 70 insertions(+), 57 deletions(-) -- 2.7.4