[U-Boot] [RESEND PATCH v3 13/18] usb: dwc3: Kconfig: get rid of obsolete mode selection

Kever Yang kever.yang at rock-chips.com
Tue Jul 2 02:11:19 UTC 2019



On 06/27/2019 09: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>

Reviewed-by: Kever Yang <kever.yang at rock-chips.com>

Thanks,
- Kever

> ---
>
> 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))
>  		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