[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