[U-Boot] [RESEND PATCH v3 13/18] usb: dwc3: Kconfig: get rid of obsolete mode selection
Jean-Jacques Hiblot
jjhiblot at ti.com
Thu Jun 27 14:49:09 UTC 2019
On 27/06/2019 16:33, Patrice CHOTARD wrote:
> Hi Jean-Jacques
>
> On 6/27/19 3:06 PM, Jean-Jacques Hiblot wrote:
>> The mode selection for the DWC3 is kind of obsolete. The driver does not
>> have to be host only or gadget only. This choice is confusing.
>> All the remaining callers of dwc3_uboot_init() explicitly set dr_mode
>> before calling the function, so none rely on a default behavior.
>>
>> Remove the choice menu and keep only the USB_DWC3_GADGET option. Enable it
>> by default if USB_GADGET and USB_DWC3 are enabled.
>> It must be disabled for the evb-rk3328 as it uses DWC2 for the gadget and
>> DWC3 for the host.
>>
>> Signed-off-by: Jean-Jacques Hiblot <jjhiblot at ti.com>
>>
>> ---
>>
>> Changes in v3: None
>> Changes in v2:
>> Select USB_GADGET_DUALSPEED if USB_DWC3_GADGET is selected
>>
>> configs/evb-rk3328_defconfig | 1 +
>> drivers/usb/dwc3/Kconfig | 18 ++----------------
>> drivers/usb/dwc3/core.c | 4 ++--
>> 3 files changed, 5 insertions(+), 18 deletions(-)
>>
>> diff --git a/configs/evb-rk3328_defconfig b/configs/evb-rk3328_defconfig
>> index aff9c32362..98929f220a 100644
>> --- a/configs/evb-rk3328_defconfig
>> +++ b/configs/evb-rk3328_defconfig
>> @@ -58,6 +58,7 @@ CONFIG_USB_OHCI_HCD=y
>> CONFIG_USB_OHCI_GENERIC=y
>> CONFIG_USB_DWC2=y
>> CONFIG_USB_DWC3=y
>> +# CONFIG_USB_DWC3_GADGET is not set
>> CONFIG_USB_GADGET=y
>> CONFIG_USB_GADGET_MANUFACTURER="Rockchip"
>> CONFIG_USB_GADGET_VENDOR_NUM=0x2207
>> diff --git a/drivers/usb/dwc3/Kconfig b/drivers/usb/dwc3/Kconfig
>> index 25e1a38aee..c302486291 100644
>> --- a/drivers/usb/dwc3/Kconfig
>> +++ b/drivers/usb/dwc3/Kconfig
>> @@ -7,25 +7,11 @@ config USB_DWC3
>>
>> if USB_DWC3
>>
>> -choice
>> - bool "DWC3 Mode Selection"
>> -
>> -config USB_DWC3_HOST
>> - bool "Host only mode"
>> - depends on USB
>> - help
>> - Select this when you want to use DWC3 in host mode only,
>> - thereby the gadget feature will be regressed.
>> -
>> config USB_DWC3_GADGET
>> - bool "Gadget only mode"
>> + bool "USB Gadget support for DWC3"
>> + default y
>> depends on USB_GADGET
>> select USB_GADGET_DUALSPEED
>> - help
>> - Select this when you want to use DWC3 in gadget mode only,
>> - thereby the host feature will be regressed.
>> -
>> -endchoice
>>
>> comment "Platform Glue Driver Support"
>>
>> diff --git a/drivers/usb/dwc3/core.c b/drivers/usb/dwc3/core.c
>> index 1baad39796..9f7f053265 100644
>> --- a/drivers/usb/dwc3/core.c
>> +++ b/drivers/usb/dwc3/core.c
>> @@ -707,9 +707,9 @@ int dwc3_uboot_init(struct dwc3_device *dwc3_dev)
>> return -ENOMEM;
>> }
>>
>> - if (IS_ENABLED(CONFIG_USB_DWC3_HOST))
>> + if (!IS_ENABLED(USB_DWC3_GADGET))
>
> Testing your series on 96board STiH410-B2260, this patch is breaking fastboot feature.
>
> Should be
>
> + if (!IS_ENABLED(CONFIG_USB_DWC3_GADGET))
Thanks for testing and catching this.
It'll be fixed in the next version of the series
JJ
>
> Thanks
>
> Patrice
>
>> dwc->dr_mode = USB_DR_MODE_HOST;
>> - else if (IS_ENABLED(CONFIG_USB_DWC3_GADGET))
>> + else if (!IS_ENABLED(CONFIG_USB_HOST))
>> dwc->dr_mode = USB_DR_MODE_PERIPHERAL;
>>
>> if (dwc->dr_mode == USB_DR_MODE_UNKNOWN)
More information about the U-Boot
mailing list