[PATCH v6 0/3] Add USB role switch support to DWC2

Minas Harutyunyan Minas.Harutyunyan at synopsys.com
Thu Sep 24 08:36:35 EDT 2020


On 9/24/2020 4:27 PM, Amelie DELAUNAY wrote:
> Gentle reminder on the whole series instead.
>
> Thanks,
> Amelie
>
> On 9/9/20 11:35 AM, Amelie DELAUNAY wrote:
>> When using usb-c connector (but it can also be the case with a micro-b
>> connector), iddig, avalid, bvalid, vbusvalid input signals may not be
>> connected to the DWC2 OTG controller.
>> DWC2 OTG controller features an overriding control of the PHY voltage 
>> valid
>> and ID input signals.
>> So, missing signals can be forced using usb role from usb role switch 
>> and
>> this override feature.
>>
>> This series adds support for usb role switch to dwc2, by using 
>> overriding
>> control of the PHY voltage valid and ID input signals.
>>
>> It has been tested on stm32mp157c-dk2 [1], which has a Type-C connector
>> managed by a Type-C port controller, and connected to USB OTG 
>> controller.
>>
>> [1] 
>> https://urldefense.com/v3/__https://www.st.com/en/evaluation-tools/stm32mp157c-dk2.html__;!!A4F2R9G_pg!LArZ8m2rAg5r1gjIUgMe3YNtFeRB8li8yKNkU0n3UqbgNZADD96VXRTHT7BLT4o$ 
>>
>> Amelie Delaunay (3):
>>    dt-bindings: usb: dwc2: add optional usb-role-switch property
>>    usb: dwc2: override PHY input signals with usb role switch support
>>    usb: dwc2: don't use ID/Vbus detection if usb-role-switch on 
>> STM32MP15
>>      SoCs
>> ---
>> Changes in v6:
>> - Select USB_ROLE_SWITCH if USB_DWC2, and not only if 
>> USB_DWC2_DUAL_ROLE:
>>    drd.c is built whatever DWC2 mode (DUAL, HOST, PERIPHERAL) as it 
>> is used also
>>    to detect attach/detach (so a-valid/b-valid sessions).
>> Changes in v5:
>> - Use device_property_read_bool instead of of_read_property_bool in 
>> params.c
>> Changes in v4:
>> - Simplify call to dwc2_force_mode in drd.c
>> - Add error_drd label in probe error path in platform.c
>> Changes in v3:
>> - Fix build issue reported by kernel test robot in drd.c
>> Changes in v2:
>> - Previous DT patch already in stm32-next branch so removed from v2 
>> patchset
>>    "ARM: dts: stm32: enable usb-role-switch on USB OTG on 
>> stm32mp15xx-dkx"
>> - DWC2 DT bindings update added
>> - Build issue reported by kernel test robot fixed
>> - Martin's comments taken into account
>> ---
>>   .../devicetree/bindings/usb/dwc2.yaml         |   4 +
>>   drivers/usb/dwc2/Kconfig                      |   1 +
>>   drivers/usb/dwc2/Makefile                     |   2 +-
>>   drivers/usb/dwc2/core.h                       |   9 +
>>   drivers/usb/dwc2/drd.c                        | 180 ++++++++++++++++++
>>   drivers/usb/dwc2/gadget.c                     |   2 +-
>>   drivers/usb/dwc2/params.c                     |   2 +-
>>   drivers/usb/dwc2/platform.c                   |  20 +-
>>   8 files changed, 215 insertions(+), 5 deletions(-)
>>   create mode 100644 drivers/usb/dwc2/drd.c
>>
Acked-by: Minas Harutyunyan <hminas at synopsys.com> for dwc2



More information about the linux-arm-kernel mailing list