[U-Boot] [RESEND PATCH v3 13/18] usb: dwc3: Kconfig: get rid of obsolete mode selection
Patrice CHOTARD
patrice.chotard at st.com
Thu Jun 27 14:33:55 UTC 2019
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
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