Re: [PATCH v6 0/3] Add USB role switch support to DWC2
From: Minas Harutyunyan
Date: Thu Sep 24 2020 - 08:46:40 EST
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@xxxxxxxxxxxx> for dwc2